Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Funkcje, a tablice

Ostatnio zmodyfikowano 2012-07-11 10:23
Autor Wiadomość
Loodwin
Temat założony przez niniejszego użytkownika
Funkcje, a tablice
» 2012-07-10 20:52:36
Mam problem. Napisałem takie coś:
C/C++
#include <iostream>
#include <conio.h>
#include <cstdio>
#include <cstdlib>
#include <ctime>

using namespace std;

int losowe_zdarzenia( int tab_dane[ 1 ] )
{
    int losowanie = rand() % 9 + 0;
    if( losowanie == 0 )
    {
        cout << "Napadli cie zboje" << endl;
        cout << "Morale -5" << endl;
        tab_dane[ 0 ] -= 5;
    }
    if( losowanie == 1 )
    {
        cout << "Znalazles skrzynie ze zlotem" << endl;
        cout << "Zloto +250" << endl;
        cout << "Morale +5" << endl;
        tab_dane[ 1 ] += 250;
        tab_dane[ 0 ] += 5;
    }
    if( losowanie == 2 )
    {
        cout << "Choroba posrod zolnierzy" << endl;
        cout << "Morale -8" << endl;
        tab_dane[ 0 ] -= 8;
    }
    if( losowanie == 3 )
    {
        cout << "Dostales nocleg w gospodzie" << endl;
        cout << "Morale +12" << endl;
        tab_dane[ 0 ] += 12;
    }
    if( losowanie == 4 )
    {
        cout << "Na drodze znalazles opuszczona karawane ze zlotem" << endl;
        cout << "Zloto +400" << endl;
        cout << "Morale +3" << endl;
        tab_dane[ 1 ] += 400;
        tab_dane[ 0 ] += 3;
    }
    cout << tab_dane[ 0 ] << ", " << tab_dane[ 1 ] << endl;
}

int main()
{
    srand( time( 0 ) );
   
    int tab_dane[ 1 ];
    tab_dane[ 0 ] == 0;
    tab_dane[ 1 ] == 0;
   
    tab_dane[ 0, 1 ] = losowe_zdarzenia( tab_dane );
   
    cout << tab_dane[ 0 ] << ", " << tab_dane[ 1 ] << endl;
   
    getch();
    return 0;
}
I teraz program się kompiluje prawidłowo i wychodzą jakieś mega liczby, a na dodatek chyba coś źle działa.
P-59811
DejaVu
» 2012-07-10 21:00:05
Masz spore braki dot. znajomości tablic.

» Kurs C++ » Poziom 2Tablice jednowymiarowe lekcja
» Kurs C++ » Poziom 2Przekazywanie tablic jednowymiarowych do funkcji lekcja
P-59813
Loodwin
Temat założony przez niniejszego użytkownika
Czytałem
» 2012-07-10 21:01:21
Czytałem kurs i całą lekcję kilka razy, ale starając się robić dokładnie tak samo, to nie wychodzi.
P-59815
DejaVu
» 2012-07-10 21:03:39
Nie czytałeś go uważnie. Wali podstawowym błędem po oczach aż miło i to w kilku miejscach.
P-59816
Loodwin
Temat założony przez niniejszego użytkownika
» 2012-07-10 21:13:04
Nie wiem. Przeczytałem już starannie i analizując razem z moim kodem, lecz kompletnie nie wiem. Przepiszę sobie to na kartkę i zamiast czytać książek wieczorem to będę chyba linijka po linijce patrzył. A jeżeli ktoś mógłby podać, w której linijce jest błąd to byłbym bardzo wdzięczny.
P-59817
czosnek17
» 2012-07-10 21:15:28
No np masz:
C/C++
tab_dane[ 0 ] == 0;
tab_dane[ 1 ] == 0;
Po co to porównujesz? Chyba chodziło o przypisanie.
P-59818
DejaVu
» 2012-07-10 22:09:05
No... to z czytania ze zrozumieniem nie dostałbyś pozytywnej oceny.

C/C++
int tab_dane[ 1 ];

/edit:
Uhm...
C/C++
tab_dane[ 0, 1 ]
a to gdzie wyczytałeś...?
P-59820
szymczak1503
» 2012-07-10 22:47:59
int tab_dane[ 1 ] oznacza ze tablica ma 1 element (0)
int tab_dane[ 2 ] oznacza ze tablica ma 2 elementy (0,1)

tab_dane[ 0 ] == 0;
tab_dane[ 1 ] == 0;

co tutaj porównujesz?
P-59822
« 1 » 2
  Strona 1 z 2 Następna strona