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

Lekcja 21 - prosba o wytlumaczenie przykladu z rozdzialu

Ostatnio zmodyfikowano 2012-07-27 15:02
Autor Wiadomość
Berux
Temat założony przez niniejszego użytkownika
Lekcja 21 - prosba o wytlumaczenie przykladu z rozdzialu
» 2012-07-26 23:04:51
Nie mogę zrozumiec tego kodu, patrzylem na inne tematy, ale nic mi nie pomagaja. Proszę o pomoc.

Kod:
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

bool czyBylaWylosowana( int iLiczba, int tab[], int ile )
{
    if( ile <= 0 )
         return false;
   
    int i = 0;
    do
    {
        if( tab[ i ] == iLiczba )
             return true;
       
        i++;
    } while( i < ile );
   
    return false;
}

int wylosuj()
{
    return( rand() % 10 ) + 1;
}

int main()
{
    srand( time( 0 ) );
    int wylosowane[ 5 ];
    int wylosowanych = 0;
    do
    {
        int liczba = wylosuj();
        if( czyBylaWylosowana( liczba, wylosowane, wylosowanych ) == false )
        {
            wylosowane[ wylosowanych ] = liczba;
            wylosowanych++;
        } //if
    } while( wylosowanych < 5 );
   
    wylosowanych = 0;
    do
    {
        std::cout << wylosowane[ wylosowanych ] << std::endl;
        wylosowanych++;
    } while( wylosowanych < 5 );
   
    return 0;
}

Z góry dziękuję za pomoc.
P-61214
CodeMeister
» 2012-07-26 23:06:12
opisz dokładnie których miejsc nie rozumiesz
P-61215
Berux
Temat założony przez niniejszego użytkownika
» 2012-07-26 23:07:43
Gdzie w tej funkcji sprawdza się czy nie została wylosowana już ta liczba? I w jaki sposób?

C/C++
bool czyBylaWylosowana( int iLiczba, int tab[], int ile )
{
    if( ile <= 0 )
         return false;
   
    int i = 0;
    do
    {
        if( tab[ i ] == iLiczba )
             return true;
       
        i++;
    } while( i < ile );
   
    return false;
}
P-61216
OSA_PL
» 2012-07-26 23:11:37
W tej pętli
C/C++
do
{
    if( tab[ i ] == iLiczba )
         return true;
   
    i++;
} while( i < ile );
pętla leci po wszystkich elementach tablicy "tab" i porównuje je do zmiennej iLiczba( if( tab[ i ] == iLiczba ) ).
P-61220
Berux
Temat założony przez niniejszego użytkownika
» 2012-07-26 23:12:55
Juz rozumiem dzieki.
P-61221
Berux
Temat założony przez niniejszego użytkownika
Odświeżam temat
» 2012-07-27 14:17:53
Mam jeszcze jedno pytanie. Kiedy w poniższym fragmencie kodu zwraca true - gdy iLiczba jest równa danemu elementowi tablicy, czy na odwrót?

C/C++
if( tab[ i ] == iLiczba )
     return true;


Z góry dziękuję.
P-61237
m4tx
» 2012-07-27 14:36:47
Hm... A że tak zapytam... Kiedy 1 jest równe 0.5*2: jeśli porównujemy 1 z 0.5*2, czy może 0.5*2 z 1? :)
P-61239
Berux
Temat założony przez niniejszego użytkownika
» 2012-07-27 14:40:35
M4tx-zle mnie zrozumiales chodzilo mi o to czy zwraca true gdy iLiczba jest równa danemu elementowi tablicy, czy gdy iLiczba nie jest równa danemu elementowi tablicy?
P-61241
« 1 » 2
  Strona 1 z 2 Następna strona