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

[Lekcja 21] Problem ze zrozumieniem przykładu

Ostatnio zmodyfikowano 2011-10-24 11:10
Autor Wiadomość
capajera18
Temat założony przez niniejszego użytkownika
[Lekcja 21] Problem ze zrozumieniem przykładu
» 2011-10-24 07:46:28
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

bool czyBylaWylosowana( int iLiczba, int tab[], int ile )
{
    if( ile <= 0 ) // jezeli rozmiar jest mniejszy lub rowny zero to wyjdz z funkcji
         return true;
   
    int i = 0;
    do
    {
        if( tab[ i ] == iLiczba ) // jezeli  tablica liczb jest rowna liczbom wylosowanym
             return true; // to zwroc prawde
       
        i++;
    } while( i < ile );
   
    return false; // zwroc falsz by wyjsc z funkcji
}

int wylosuj() // funkcja losujaca liczby
{
    return( rand() % 10 ) + 1; // losowanie
}

int main()
{
    srand( time( 0 ) );
   
    int wylosowane[ 5 ]; // deklaracaj tablicy o rozmiarze 5
    int wylosowanych = 0; // licznik ponizszej petli
   
    do
    {
        int liczba = wylosuj(); // funkcja wylosuj przypisana do zmiennej liczba
        bool spr = czyBylaWylosowana( liczba /*losowe liczby */, wylosowane /* tablica */, wylosowanych /*jej rozmiar*/ );
       
        if( spr == false ) // jezeli funkjca spr o liczbach wylosowanych, tablica o rozmiarze 5 jest rowna falsz to
        {
            wylosowane[ wylosowanych ] = liczba; // przypisz wylosowane liczby do tablicy zawierajce wylosowane liczby
            wylosowanych++;
        }
       
    } while( wylosowanych < 5 );
   
    wylosowanych = 0;
    do // wypisanie na ekran
    {
        std::cout << wylosowane[ wylosowanych ] << std::endl;
        wylosowanych++;
    } while( wylosowanych < 5 );
   
    return 0;
}


Mam problem z tym przykładem mało co z tego rozumiem, nawet sobie go komentowałem by coś załapać

dokładnie to tej pętli nie rozumiem co ona wnosi do tego programu dlaczego jest
C/C++
do
{
    int liczba = wylosuj(); // funkcja wylosuj przypisana do zmiennej liczba
    bool spr = czyBylaWylosowana( liczba /*losowe liczby */, wylosowane /* tablica */, wylosowanych /*jej rozmiar*/ );
   
    if( spr == false ) // jezeli funkjca spr o liczbach wylosowanych, tablica o rozmiarze 5 jest rowna falsz to
    {
        wylosowane[ wylosowanych ] = liczba; // przypisz wylosowane liczby do tablicy zawierajce wylosowane liczby
        wylosowanych++;
    }
   
} while( wylosowanych < 5 );

dlaczego jest
C/C++
if( spr == false ) // Po co to jest dlaczego falsz a nie np true ?

Cały weekend poświeciłem na to by zrozumiec ten oto przykład i nic,
Myśle że pomożecie,
Sam też próbowałem coś podobnego napisac ale jak skoro nie rozumiem przykładu,
Jestem zalamany poprostu soba
P-42646
DejaVu
» 2011-10-24 11:10:20
C/C++
int liczba = wylosuj(); //to losuje JEDNĄ liczbę
bool spr = czyBylaWylosowana( liczba, wylosowane, wylosowanych ); //sprawdza czy liczba została już wcześniej wylosowana
if( spr == false ) //jeżeli nie została wylosowana
{
    //zapisz wylosowaną liczbę i przejdź do losowania następnej
}
P-42650
« 1 »
  Strona 1 z 1