Poziom 2 - problem z zadaniem
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

Poziom 2 - problem z zadaniem

AutorWiadomość
Temat założony przez niniejszego użytkownika
Poziom 2 - problem z zadaniem
» 2019-06-14 10:11:00
Nie przypuszczanem że utknę juz na samym początku, ale potrzebuje Waszej pomocy bo już mi mózg się topi. Dlaczego ten program nie chce wyjść z pętli sprawdzającej tablice z wylosowanymi wynikami. Czy w niej są jakieś wartości które komputer sam sobie wylosował? Nie rozumiem...

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

void wp( int i, int t[] ) {
    cin >> t[ i ];
}


void sprawdzanie( int ile_tablic, int tablica[], int ile_wylosowac ) {
    int wynik, i = 0;
    bool byla = false;
    int te_ktore_byly[ ile_wylosowac ];
    do {
        wynik = rand() % ile_tablic;
        int licznik = ile_wylosowac - 1;
        do {
            if( wynik == te_ktore_byly[ licznik ] )
                 byla = true;
            else
            { licznik--;
                cout << licznik << endl; }
           
        } while( byla == false || licznik > 0 );
       
        if( byla == false )
        { te_ktore_byly[ i ] = wynik;
            i++;
            cout << tablica[ wynik ] << endl; }
    } while( i != ile_wylosowac );
   
}

int main() {
    srand( time( NULL ) );
    int ile_tablic;
    cout << "Podaj ile chcesz podac liczb: ";
    cin >> ile_tablic;
   
    int liczby[ ile_tablic ];
    int ktora = 0;
   
    while( ktora < ile_tablic )
    { cout << "Wprowadz liczbe: ";
        wp( ktora, liczby );
        ktora++; }
    do {
        cout << "Podaj ile liczb chcesz wylosowac: ";
        cin >> ktora; }
    while( ktora <= 0 || ktora > ile_tablic );
   
    sprawdzanie( ile_tablic, liczby, ktora );
   
    cout << "koniec" << endl;
   
}[ \c pp ]
P-174792
Temat założony przez niniejszego użytkownika
» 2019-06-14 10:29:37
Dobra, teraz zauważyłem. Zamiast || ma być &&. 
P-174793
Temat założony przez niniejszego użytkownika
» 2019-06-14 10:45:29
Ok zrobione, pare poprawek aby działało zgodnie z założeniami i mogę przejść do kolejnego etapu kursu. Przepraszam za post w którym piszę sam do siebie :) Poniżej moje rozwiązanie zadania.

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

void wp( int i, int t[] ) {
    cin >> t[ i ];
}


void sprawdzanie( int ile_tablic, int tablica[], int ile_wylosowac ) {
    int wynik, i = 0;
    bool byla;
    int te_ktore_byly[ ile_wylosowac ];
    cout << "wszedlem" << endl;
    do {
        wynik = rand() % ile_tablic;
        cout << "Wynik " << wynik << endl;
        int licznik = ile_wylosowac - 1;
        do { cout << "Licznik " << licznik << endl;
            byla = false;
            if( wynik == te_ktore_byly[ licznik ] )
                 byla = true;
            else
            { licznik--;
            }
           
        } while( byla == false && licznik !=( - 1 ) );
       
        if( byla == false )
        { te_ktore_byly[ i ] = wynik;
            i++;
            cout << tablica[ wynik ] << endl; }
    } while( i != ile_wylosowac );
   
}

int main() {
    srand( time( NULL ) );
    int ile_tablic;
    cout << "Podaj ile chcesz podac liczb: ";
    cin >> ile_tablic;
   
    int liczby[ ile_tablic ];
    int ktora = 0;
   
    while( ktora < ile_tablic )
    { cout << "Wprowadz liczbe: ";
        wp( ktora, liczby );
        ktora++; }
    do {
        cout << "Podaj ile liczb chcesz wylosowac: ";
        cin >> ktora; }
    while( ktora <= 0 || ktora > ile_tablic );
   
    sprawdzanie( ile_tablic, liczby, ktora );
   
    cout << "koniec" << endl;
   
}
P-174794
« 1 »
 Strona 1 z 1