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

[Zadanie domowe] Losowanie bez powtórzeń - co jest źle?

Ostatnio zmodyfikowano 2012-07-27 14:09
Autor Wiadomość
mateo0604
Temat założony przez niniejszego użytkownika
[Zadanie domowe] Losowanie bez powtórzeń - co jest źle?
» 2012-07-19 17:42:05
Napisałem program który ma losować bez powtórzeń 5 liczb wygląda że jest wszystko dobrze ale nie chce się skompilować a nie mogę znaleść błędu

C/C++
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int losowanie()
{
    srand( time( NULL ) );
    return( rand() % 10 ) + 1;
}
bool czyByla( int t[], int i )
{
    int j;
    for( j = 0; j < i; ++j )
    {
        if( t[ i ] == t[ j ] )
        {
            return true;
        }
    }
    return false;
}

int main()
{
    int t[ 5 ];
    int i;
    for( i = 0; i < 5; ++i )
    {
        do
        {
            t[ i ] = losowanie();
        }
        while( czyByla( t[], i ) = true );
       
    }
    cout << "wylosowane liczby: ";
    for( i = 0; i < 5; ++i )
    {
        cout << t[ i ] << " ";
    }
    getchar();
    getchar();
    return 0;
}
P-60589
diego997
» 2012-07-19 17:45:41
może tutaj (czyByla(t[], i)=true); ? zamiast t[], t
P-60591
starter
» 2012-07-19 17:54:55
W czyByla porównujesz
if( t == t[ j ] )
co jest niedozwolone przez standard (Build Messages)

#edit to jeden z wielu błędów
P-60593
kampar
» 2012-07-19 18:04:52
srand( time( NULL ) );

powinno być tylko raz wywołane, na początku main()
P-60594
starter
» 2012-07-19 18:38:02
usuń
getchar()
P-60598
Mufas
» 2012-07-20 11:54:02
problem lezy chyba w srand(...), to powinno byc tylko raz na poczatku w mainie a ty to wywolujesz przy uzyciu petli kilka razy.

a co do getcharow, zamiast 2 moze na poczatku dolaczyc biblioteke conio.h i wtedy zamiast 2 getcharow() dajesz jeden getch();
P-60682
mateo0604
Temat założony przez niniejszego użytkownika
» 2012-07-20 13:45:52
muszę pisać 2 razy getchar bo inaczej program mi się od razu zamyka
P-60691
starter
» 2012-07-20 14:19:25
na początku daj
#include <conio.h>
a na końcu
C/C++
getch();
getch();
powinno być dobrze
P-60700
« 1 » 2
  Strona 1 z 2 Następna strona