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

[praca domowa] lekcja 21

Ostatnio zmodyfikowano 2012-02-12 23:06
Autor Wiadomość
Kelemes
Temat założony przez niniejszego użytkownika
[praca domowa] lekcja 21
» 2012-02-04 22:18:31
Czemu ten otóż programik wyrzuca mi błąd po wpisaniu liczb? Wiem, że trochę na łatwiznę zrobiony z myślą, że tylko 3 liczby nas interesują, ale wpierw chce poznać sposób.
C/C++
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;

void wpisywanie( int liczby[], int ilosc )
{
    int a = 0;
    do
    {
        do
        {
            cin.clear();
            cin.sync();
            cin >> liczby[ a ];
            cout << endl;
        }
        while( cin.fail() );
       
        cout << liczby[ a ] << endl;
        a++;
       
    } while( a <= ilosc );
   
    return;
}


int main()
{
    srand( time( 0 ) );
    int liczby[ 2 ];
    int probka;
    int licznik = 0;
    int porzadkowa;
    int licznik2 = 0;
    int los[ 1 ];
    wpisywanie( liczby, 2 );
    do
    {
        do
        {
            probka = rand()
            int porzadkowa = - 1;
            do
            {
                porzadkowa++;
            } while(( liczby[ porzadkowa ] != probka ) &&( porzadkowa < 2 ) );
           
           
        } while( liczby[ porzadkowa ] != probka );
       
       
        if( licznik2 = 0 )
        {
            los[ 0 ] = probka;
            cout << "oto twoja liczba " << los[ 0 ] << endl;
            licznik2++;
        }
       
       
        if( probka != los[ 0 ] )
        {
            los[ 1 ] = probka;
            licznik2++;
            cout << "oto druga liczba: " << los[ 1 ] << endl;
        }
       
       
       
    } while( licznik2 < 2 );
   
    return 0;
}
P-50143
szyx_yankez
» 2012-02-05 11:02:04
int liczby[ 2 ];

Z myślą na 2 liczby:D po wpisaniu 3 liczb program się wywali bo wpisujesz do nieistniejących komórek tablicy.
P-50155
Kelemes
Temat założony przez niniejszego użytkownika
» 2012-02-05 11:08:23
wlasnie odkrylem ze tak powinno wygladac i juz mialem wklejac ;), ale blad wywala dalej
C/C++
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;

void wpisywanie( int liczby[], int ilosc )
{
    int a = 0;
    do
    {
        do
        {
            cin.clear();
            cin.sync();
            cin >> liczby[ a ];
            cout << endl;
        }
        while( cin.fail() );
       
        cout << liczby[ a ] << endl;
        a++;
       
    } while( a < ilosc );
   
    return;
}


int main()
{
    srand( time( 0 ) );
    int liczby[ 3 ];
    int probka;
    int licznik = 0;
    int porzadkowa;
    int licznik2 = 0;
    int los[ 2 ];
    wpisywanie( liczby, 3 );
    do
    {
        do
        {
            probka = rand();
            int porzadkowa = - 1;
            do
            {
                porzadkowa++;
            } while(( liczby[ porzadkowa ] != probka ) &&( porzadkowa < 2 ) );
           
           
        } while( liczby[ porzadkowa ] != probka );
       
       
        if( licznik2 = 0 )
        {
            los[ 0 ] = probka;
            cout << "oto twoja liczba " << los[ 0 ] << endl;
            licznik2++;
        }
       
       
        if( probka != los[ 0 ] )
        {
            los[ 1 ] = probka;
            licznik2++;
            cout << "oto druga liczba: " << los[ 1 ] << endl;
        }
       
       
       
    } while( licznik2 < 2 );
   
    return 0;
}
P-50156
Kelemes
Temat założony przez niniejszego użytkownika
» 2012-02-12 23:06:26
Po paru dniach wróciłem do problemu, zaczynając od zera. Teraz wszystko buczy i huczy... a może jednak coś dopracować :)?

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

void losowacz( int wyniki[] )
{
    int a;
    int wskaznik;
    int indeks = 0;
    wyniki[ indeks ] =( rand() % 10 + 1 );
    indeks++;
    while( indeks < 3 )
    {
        do
        {
            a =( rand() % 10 + 1 );
            wskaznik = 0;
            for( int i = 0; i < indeks; i++ )
                 if( a == wyniki[ i ] ) wskaznik++;
           
        } while( wskaznik > 0 );
       
        wyniki[ indeks ] = a;
        indeks++;
    }
    return;
}


void sprawdzacz( int wyniki[], int koncowe[] )
{
    int a;
    bool slabo;
    int wskaznik;
    int indeks = 0;
    while( indeks < 2 )
    {
        do
        {
            a =( rand() % 10 + 1 );
            wskaznik = 0;
            slabo = true;
            for( int i = 0; i < 3; i++ )
            if( a == wyniki[ i ] )
            {
                slabo = false;
                if( indeks == 0 )
                { koncowe[ 0 ] = a;
                    indeks++;
                    wskaznik++; }
                for( int i = 0; i < indeks; i++ )
                     if( a == koncowe[ i ] ) wskaznik++;
               
            }
            if( slabo == true ) wskaznik++;
           
        } while( wskaznik > 0 );
       
        koncowe[ indeks ] = a;
        indeks++;
    }
    return;
}

int main()
{
    int wyniki[ 3 ];
    int koncowe[ 2 ];
    srand( time( NULL ) );
    losowacz( wyniki );
    for( int i = 0; i < 3; i++ )
         cout << wyniki[ i ] << endl;
   
    sprawdzacz( wyniki, koncowe );
    cout << endl;
    for( int i = 0; i < 2; i++ )
         cout << koncowe[ i ] << endl;
   
    return 0;
}

P-50623
« 1 »
  Strona 1 z 1