Lekcja 21 - Zadanie 2
Ostatnio zmodyfikowano 2012-09-30 10:23
JacobMahlerPL Temat założony przez niniejszego użytkownika |
Lekcja 21 - Zadanie 2 » 2012-09-29 18:10:11 Witam, mam następujący problem: rozwiązałem zadanie 1 z lekcji o losowaniu bez powtórzeń, jednak po edycji kodu wylosowane liczby powtarzają się. Proszę o pomoc w znalezieniu błędu. Oto mój kod:
#include <iostream> #include <cstdlib> #include <ctime>
int podaj_liczby( int tablica[], int licznik ) { std::cout << "Podaj 10 liczb: "; do { std::cin >> tablica[ licznik ]; licznik++; } while( licznik < 10 ); return 0; }
int losuj() { return ( rand() % 10 ) + 0; }
bool sprawdzenie( int liczba, int wylosowane[], int wylosowanych ) { if( wylosowanych == 0 ) return true;
int i = 0; do { if( wylosowane[ i ] == liczba ) return false;
i++; } while( i < wylosowanych );
return true; }
int main() { srand( time( NULL ) ); int tablica[ 10 ]; int licznik = 0; podaj_liczby( tablica, licznik ); int wylosowane[ 8 ]; int wylosowanych = 0; do { int liczba = losuj(); if( sprawdzenie( liczba, wylosowane, wylosowanych ) == true ) { wylosowane[ wylosowanych ] = tablica[ liczba ]; wylosowanych++; } } while( wylosowanych < 8 );
wylosowanych = 0; std::cout << "Wylosowane liczby to: "; do { std::cout << wylosowane[ wylosowanych ] << std::endl; wylosowanych++; } while( wylosowanych < 8 ); return 0; }
|
|
jsc |
» 2012-09-29 19:51:59 A czym się on objawia? |
|
JacobMahlerPL Temat założony przez niniejszego użytkownika |
» 2012-09-30 10:23:00 Tym, że liczby są losowane, ale powtarzają się. |
|
« 1 » |