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

Rozdział 21 - Zadanie 1

Ostatnio zmodyfikowano 2018-05-05 21:50
Autor Wiadomość
Mational
Temat założony przez niniejszego użytkownika
Rozdział 21 - Zadanie 1
» 2018-05-04 19:48:13
Witam. Może ktoś sprawdzić czy wpadłem na prawidłowe rozwiązanie tego zadania ?



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

int podaj()
{
    int liczba;
    bool poprawnie;
    do
    {
        std::cout << "Podaj liczbe: ";
        std::cin >> liczba;
        poprawnie = std::cin.fail();
        std::cin.clear();
        std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' );
    } while( poprawnie == true );
   
    return liczba;
}

bool sprawdzczypowtarza( int tab[], int liczba, int ktora )
{
    if( ktora <= 0 )
         return false;
   
    int i = 0;
    do
    {
        if( tab[ i ] == liczba )
             return true;
       
        i++;
    } while( i < ktora );
   
    return false;
}

int losuj( int ktora )
{
    return( std::rand() %( ktora - 1 ) ) + 0;
}
void wypiszliczby( int tab1[], int tab2[] )
{
    int i = 0;
    int liczba;
    do
    {
        liczba = tab2[ i ];
        int wylosowana = tab1[ liczba ];
        std::cout << i + 1 << " liczba to " << wylosowana << std::endl;
        i++;
    } while( i < 2 );
   
}
int main()
{
    srand( time( NULL ) );
    int ktora = 0;
    int tablica[ 3 ];
    do
    {
        int liczba = podaj();
        tablica[ ktora ] = liczba;
        ktora++;
    } while( ktora < 3 );
   
    int i = 0;
    int wylosowane[ 2 ];
    do
    {
        int liczba = losuj( ktora );
        if( sprawdzczypowtarza( wylosowane, liczba, i ) == false )
        {
            wylosowane[ i ] = liczba;
            i++;
        }
    } while( i < 2 );
   
    wypiszliczby( tablica, wylosowane );
    return 0;
}
P-170930
pekfos
» 2018-05-04 22:03:07
A działa?
P-170931
Mational
Temat założony przez niniejszego użytkownika
» 2018-05-05 20:11:49
Działa,tylko chodzi mi o to, czy istnieje lepszy sposób rozwiązania tego zadania.
P-170936
YooSy
» 2018-05-05 21:50:00
Istnieje, a oświecenie przyjdzie z doświadczeniem.
P-170937
« 1 »
  Strona 1 z 1