Lekcja 21. Zadanie 1.
Ostatnio zmodyfikowano 2014-06-24 22:24
Haryen Temat założony przez niniejszego użytkownika |
Lekcja 21. Zadanie 1. » 2014-06-23 21:25:08 Cześć! Próbuję sobie zrobić taką notatkę co program ma robić krok po kroku w zadaniu 1. Tylko nie wiem z jakiego przedziału mają być te liczby wylosowane. One są zapisane w tablicy, to w takim razie mam znaleźć najmniejszy podany element i największy i z takiego przedziału mam losować czy dla losowania z tablicy jest jakiś trik? :P |
|
pekfos |
» 2014-06-23 21:30:34 A jak odwołujesz się do konkretnego elementu tablicy..? (retoryczne. Nie odpowiadaj, tylko pomyśl) |
|
Haryen Temat założony przez niniejszego użytkownika |
» 2014-06-23 21:37:57 Mogę wylosować indeks. Napisałem program dopiero teraz, bo wczoraj nie miałem czasu. Wszystko się kompiluje, ale po wpisaniu liczb do tablicy nic się nie dzieje. Próbuję znaleźć błąd, ale nie widzę. Palnąłem jakąś głupotę? :P #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void wypelnienie( int t[], int iRozmiar ); int losuj(); bool czyBylaWylosowana( int t[], int ile, int iWylosowana ); void wypisz( int t[], int iRozmiar );
int main() { srand( time( NULL ) ); int iWpisane[ 3 ], iWylosowane[ 2 ], iWylosowana, iIndeks, iLiczbaElementow = 0; wypelnienie( iWpisane, 3 ); do { iIndeks = losuj(); iWylosowana = iWpisane[ iIndeks ]; if(( czyBylaWylosowana( iWylosowane, iLiczbaElementow, iWylosowana ) ) == true ) continue; else { iWylosowane[ iLiczbaElementow ] = iWylosowana; iLiczbaElementow++; } } while( iLiczbaElementow < 2 ); wypisz( iWylosowane, 2 ); return 0; }
void wypelnienie( int t[], int iRozmiar ) { int i = 0; do { cout << "Podaj " << i + 1 << " liczbe: "; cin >> t[ i ]; i++; } while( i < iRozmiar ); }
int losuj() { return rand() % 3; }
bool czyBylaWylosowana( int t[], int ile, int iWylosowana ) { if( ile == 0 ) return false; int i = 0; do { if( t[ i ] == iWylosowana ) return true; } while( i < ile ); return false; }
void wypisz( int t[], int iRozmiar ) { int i = 0; do { cout << "Element nr " << i + 1 << ": " << t[ i ] << endl; i++; } while( i < iRozmiar ); }
|
|
Haryen Temat założony przez niniejszego użytkownika |
» 2014-06-24 22:16:46 Pomożecie? :) |
|
pekfos |
» 2014-06-24 22:21:21 do { if( t[ i ] == iWylosowana ) return true; } while( i < ile );
|
Brakuje zwiększania i. |
|
Haryen Temat założony przez niniejszego użytkownika |
» 2014-06-24 22:24:01 Ok, wszystko działa. Dzięki. :) |
|
« 1 » |