Elano92 Temat założony przez niniejszego użytkownika |
Losowanie kilku liczb w funkcji » 2011-04-16 13:52:26 Napisz funkcję, która losuje liczbę z przedziału od 50 do 60 włącznie. Wywołaj funkcję kilka razy (wypisz wylosowane wartości na ekran) w celu przetestowania czy działa ona poprawnie. Próbowałem zrobić to sam ,aby losował kilka liczb ,używając funkcji , 19. Przekazywanie tablic jednowymiarowych do funkcji (lekcja) << ta lekcja mi w tym pomoże? #include <iostream> #include <conio.h> using namespace std; void losowanie() { srand( time( 0 ) ); int a, tab[ 10 ]; a = rand() % 10 + 50; cout << a; }
int main() { int b; b = losowanie(); for( int b = 1; b <= 6; b++ ) { cout << tab[ b ]; cout << endl; } getch(); return 0; } |
|
Dawidsoni |
» 2011-04-16 14:12:34 Tak. Jako argument do funkcji możesz przekazać tablicę, a w funkcji wylosować do niej liczby używając pętli. |
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-04-16 14:18:38 #include <iostream> #include <conio.h> using namespace std; void losowanie() { srand( time( 0 ) ); int a, tab[ 10 ]; a = rand() % 10 + 50; cout << a; }
void wypelnijTablice( int tab[], int Rozmiar ) { cout << "Ile liczb ma byc w tablicy " << endl; cin >> Rozmiar; for( int i = 1; i <= Rozmiar; i++ ) { tab[ i ] = losowanie(); cin >> tab[ i ]; } } int main() {
Co do tej pory robie żle? |
|
Dawidsoni |
» 2011-04-16 15:13:10 #include <iostream> #include <conio.h> using namespace std; void losowanie(int tab[1000],int rozmiar);
int main() { int tablica[1000]; int rozmiar; cout << "Podaj ile liczb wylosowac: "; cin >> rozmiar; losowanie(tablica,rozmiar); for(int i=1;i<=rozmiar;i++) { cout << tablica << endl; } }
void losowanie(int tab[1000],int rozmiar) { srand( time( 0 ) ); for(int i=1;i<=rozmiar;i++) { tab = rand() % 10 + 50; } }
Powinno być tak? |
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-04-16 15:25:44 w twoim mam błędy #include <iostream> #include <conio.h> using namespace std; int losowanie() { srand( time( 0 ) ); int i, tab[ 10 ]; return rand() % 10 + 50; }
int wypelnijTablice( int tab[], int Rozmiar ) { cout << "Ile liczb ma losowac " << endl; cin >> Rozmiar; for( int i = 1; i <= Rozmiar; i++ ) { losowanie(); } }
int main() { int liczba; liczba = wypelnijTablice(); cout << liczba; getch(); return 0; }
Tu zrobiłem , tyle ,że nie wiem jak to w main wsadzić |
|
Dawidsoni |
» 2011-04-16 15:28:48 A co do twojego programu: funkcja losowanie jest typu void (nic nie zwraca), a piszesz: tab = losowanie. Jeśli chcesz, żeby twój program działał funkcja losująca musi zwracać typ int. (jeśli nie wiesz co to rezultat zwracany przez funkcję to poczytaj o tym) Jako rezultat zwracasz po prostu liczbę wylosowaną. Nie potrzebujesz żadnych tablic w funkcji losującej. |
|
Dawidsoni |
» 2011-04-16 15:31:24 Sorka. Złą wersje dałem ci mojego. Ta jest prawidłowa: #include <iostream> #include <conio.h> using namespace std; void losowanie( int tab[ 1000 ], int rozmiar );
int main() { int tablica[ 1000 ]; int rozmiar; cout << "Podaj ile liczb wylosowac: "; cin >> rozmiar; losowanie( tablica, rozmiar ); for( int i = 1; i <= rozmiar; i++ ) { cout << tablica[ i ] << endl; } }
void losowanie( int tab[ 1000 ], int rozmiar ) { srand( time( 0 ) ); for( int i = 1; i <= rozmiar; i++ ) { tab[ i ] = rand() % 10 + 50; } }
|
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-04-16 15:33:33 dalej mi wywala błąd "in function 'void losowanie(int*,int)'; Czy mógłbyś mi poprawić tylko tu maina ? #include <iostream> #include <conio.h> using namespace std; int losowanie() { srand( time( 0 ) ); int i, tab[ 10 ]; return rand() % 10 + 50; }
int wypelnijTablice( int tab[], int Rozmiar ) { cout << "Ile liczb ma losowac " << endl; cin >> Rozmiar; for( int i = 1; i <= Rozmiar; i++ ) { losowanie(); } }
int main() { int liczba; liczba = wypelnijTablice(); cout << liczba; getch(); return 0; }
|
|
« 1 » 2 3 |