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

Rozdział 21 losowanie bez powtórzeń na własną ręke

Ostatnio zmodyfikowano 2015-10-10 18:04
Autor Wiadomość
Krway
Temat założony przez niniejszego użytkownika
Rozdział 21 losowanie bez powtórzeń na własną ręke
» 2015-10-10 15:57:19
Witam.
Mam problem z kompilatorem. Otóż na własną rękę zaczołem pisać program ten z przykładu. Trochę podpatrywałem by zrozumieć i jednocześnie łatwiej mi było zapamiętać. Jednocześnie pisałem własny ale podczas kompilacji nie wyświetla żadnego błędu ani ostrzeżenia a po uruchomieniu nie wyświetla nic. Nie wiem za bardzo o co chodzi nie ma żadnego komunikatu o błędzie a okno w którym otwiera się program jest kompletnie puste. Jeśli ktoś by mi mógł wytłumaczyć gdzie zrobiłem błąd i dlaczego nie działa byłbym wdzięczny.
Kod programu:
C/C++
#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;

int los()
{
    return( rand() % 10 ) + 1;
}
int byla( int liczba, int tablica[], int ile )
{
    if( ile <= 0 )
         return false;
   
    int i = 0;
    do
    {
        if( liczba == tablica[ i ] )
             return true;
       
        i++;
    } while( i < ile );
   
    return false;
}
int main()
{
    int tablica[ 5 ];
    int liczba = los();
    int ile = 0;
    do {
        if( byla( liczba, tablica, ile ) == false )
        {
            tablica[ ile ] = liczba;
            ile++;
        }
    } while( ile < 5 );
   
    ile = 0;
    do
    {
        cout << "wylosowana= " << tablica[ ile ] << endl;
        ile++;
    } while( ile < 5 );
   
    return 0;
}
P-138360
BadBullPL
» 2015-10-10 16:20:14
liczba = los();
 to daj w pętle.
P-138361
Krway
Temat założony przez niniejszego użytkownika
» 2015-10-10 16:56:20
Oh musiałem to gdzieś przeoczyć dzięki ale i tak dziwi mnie czemu wszystko było okej a program nic nie wyświetlił
P-138362
BadBullPL
» 2015-10-10 17:27:53
Załóżmy że zmiennej liczba została wylosowana wartość 9. Zmienna liczba była przekazywana do funkcji jako argument i przy pierwszym obiegu pętli jej wartość została przypisana do tablica[0]. Przy kolejnych obiegach pętli zmienna liczba nie miała nowej wartości. Gdy porównywano ją z tablica[0] funkcja zwracała true przez co pętla w mainie nie mogła przypisać żadnych wartości kolejnym elementom tablicy i tworzyła się pętla nieskończona.
P-138363
Krway
Temat założony przez niniejszego użytkownika
» 2015-10-10 18:04:26
Brzmi to logicznie chodź sam bym na to tak szybko nie wpadł Dzięki za pomoc.
P-138364
« 1 »
  Strona 1 z 1