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

[Lekcja 21] Zadanie 1 - problem z wylosowanie liczb bez powtórzeń

Ostatnio zmodyfikowano 2012-02-02 22:12
Autor Wiadomość
314Mat
Temat założony przez niniejszego użytkownika
[Lekcja 21] Zadanie 1 - problem z wylosowanie liczb bez powtórzeń
» 2012-02-02 21:37:29
Naprawde się starałem a tu licho :(

program wypluwa dwie liczby jedna w formie daty : 20090820... itd a druga jest zawsze -1.
Przeglądnąłem kod parę razy ale nic nie zauważyłem, bardzo proszę o pomoc.

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

int losowanie()
{
    return( rand() % 3 );
}
bool czywylosowana( int wybrana[ 3 ], int wylosowane[ 2 ], int liczba )
{
    int n1 = 0;
    do
    {
        if( liczba == wylosowane[ n1 ] );
       
        n1++;
        return true;
    }
    while( n1 != 2 );
   
    return false;
}
int main()
{
    srand( time( NULL ) );
    int wybrana[ 3 ];
    int wylosowane[ 2 ];
    int n = 0;
    std::cout << "Wybierz trzy liczby" << std::endl;
    do
    {
        std::cout << "wybierz " << n + 1 << " liczbe :";
        std::cin >> wybrana[ n ];
        n++;
    }
    while( n != 3 );
   
    n = 0;
    do
    {
        int liczba = wybrana[ losowanie() ];
        if( czywylosowana( wybrana, wylosowane, liczba ) == false );
       
        liczba = wylosowane[ n ];
        n++;
    }
    while( n != 2 );
   
    n = 0;
    std::cout << "Twoje wylosowane liczby :" << std::endl;
    do
    {
        std::cout << wylosowane[ n ] << std::endl;
        n++;
    }
    while( n != 2 );
   
    return 0;
}

mogę się założyć że jakiś głupi błąd popełniłem.
P-50001
RazzorFlame
» 2012-02-02 21:55:57
if( czywylosowana( wybrana, wylosowane, liczba ) == false );
?? Co ty tym robisz?
P-50006
314Mat
Temat założony przez niniejszego użytkownika
» 2012-02-02 22:12:09
Sprawdzam czy liczba się powtórzyła, jeśli tak to ponownie wywołuje losowanie jeśli nie to przypisuje wylosowaną liczbie pozycji z tablicy wylosowane. No przynajmniej to miała robić :).


Dobra już widzę że kodu dla if nie wziąłem w {}
w funkcji czywylosowana() poprawiłem n1 aby była za return.
dalej nie działa teraz jest w nieskończonej pętli dla funkcji czywylosowana()
P-50009
« 1 »
  Strona 1 z 1