Wpisywanie losowych liczb do tablicy
Ostatnio zmodyfikowano 2012-09-29 14:00
DanielSC Temat założony przez niniejszego użytkownika |
Wpisywanie losowych liczb do tablicy » 2012-09-29 13:27:28 #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { int ile = 999; int losuj[ ile ]; losuj[ ile ] =(( rand() % 6 ) + 4 ); do { cout << losuj[ ile ] << endl; ile--; } while( ile > 0 ); return 0; } Chciałbym się was spytać czemu wpisuje mi takie liczby jakie wypisuje :) |
|
starter |
» 2012-09-29 13:32:01 losuj[ ile ] =(( rand() % 6 ) + 4 ); w tym momencie wychodzisz poza obszar tablicy |
|
cyklopek11 |
» 2012-09-29 13:41:54 losuj[ ile ] =(( rand() % 6 ) + 4 );
Twoim zamiarem było wpisać 999 losowych liczb do tablicy losuj[ile]. Ty wpisałeś tylko jedną liczbę (brak pętli) i to poza tablicę. Tablica losuj[ile] nie posiada indeksu ile (tylko ile-1). To co Ci wypisało to "śmieci" z historii użycia pamięci na Twoim komputerze. Do tego nie zainicjowałeś ziarna dla funkcji rand(). Powinieneś zrobić to np. tak: #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
int main() { srand( time( NULL ) ); const int ile = 999; int losuj[ ile ]; for( int i = 0; i < ile; i++ ) { losuj[ i ] =(( rand() % 6 ) + 4 ); } for( int j = 0; j < ile; j++ ) { cout << losuj[ j ] << endl; } return 0; }
Starter mnie wyprzedził :-) |
|
DanielSC Temat założony przez niniejszego użytkownika |
» 2012-09-29 14:00:56 Aha dzieki.
|
|
« 1 » |