zadanie z poradnika c++
Ostatnio zmodyfikowano 2013-06-24 22:55
pekfos |
» 2013-06-24 22:20:40 Nie zrzucaj winy na kurs. Żaden kurs nie nauczy Cię myślenia, ma tylko przedstawić narzędzie. Jak to zapisać? Bardzo prosto: i1 = i2 = rand() % 3;
while( i1 == i2 ) i2 = rand() % 3;
cout << t[ i1 ] << " " << t[ i2 ]; W ten sposób nie wiążesz losowania z danymi w tablicy i nie ma problemu, gdy user poda takie same liczby. |
|
obi2exe Temat założony przez niniejszego użytkownika |
» 2013-06-24 22:20:47 Jeżeli indeks tablicy w pętli będzie zmienną, której przypisze losowanie z przedziału 3 liczb zaczynając od 0, będzi działało? |
|
obi2exe Temat założony przez niniejszego użytkownika |
» 2013-06-24 22:24:59 Nie jestem taki niedorozwinięty jak sobie teraz pomyślałeś. Kurs nie jest dla mnie wyczerpujący. Niby skąd miałem wiedzieć, że moje rozumowanie jest błędne, skoro nie znałem nawet obszaru w którym rozwiązanie ma prawo zaistnieć. Masz rację mogłem sprawdzić więcej możliwości rozwiązań, ale to zaledwie mój nasty program i nawet nie połowa kursu. Robię przerwę do jutra. Pozdrawiam i dziękuję. |
|
obi2exe Temat założony przez niniejszego użytkownika |
» 2013-06-24 22:55:02 Poprawny kod wygląda tak, może komuś się przyda: #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
int main() { int a, b, c, losowanie1, losowanie2; cout << "Wybierz pierwsza liczbe:" << endl; cin >> a; cout << "Wybierz druga liczbe:" << endl; cin >> b; cout << "Wybierz trzecia liczbe:" << endl; cin >> c; int tablica[ 3 ]; tablica[ 0 ] = a; tablica[ 1 ] = b; tablica[ 2 ] = c; srand( time( NULL ) ); do { losowanie1 =( rand() % 3 ) + 0; losowanie2 =( rand() % 3 ) + 0; } while( losowanie1 == losowanie2 ); cout << "Wylosowane liczby to: " << tablica[ losowanie1 ] << " " << tablica[ losowanie2 ]; return 0; } |
|
1 « 2 » |