Lukaszzz Temat założony przez niniejszego użytkownika |
Problem z operatorem porównania "!=" » 2011-03-06 15:11:17 Gdy wylosowana = 1 i wszystkie dane w tablicy "doWypisania[]" wynosza jeden, to mimo: if( wylosowana != doWypisania[ a ] ) return true; I tak zwraca mi true. Nie mam pojecia dlaczego tak jest. Wdzieczny bede za wyjasnienie. --------------------------------------------------------------------------------------------------------- #include <iostream> #include <ctime> #include <cstdlib> using namespace std;
void wczytanieLiczb( int tablica[], int a, int b ) { int n = 1; do { do { cin.clear(); cin.sync(); cout << "Wprowadz " << n << " liczbe: "; cin >> tablica[ a ]; a++; n++; cin.good(); if( cin.good() == 0 ) { a--; n--; } } while( !cin.good() ); } while( a < b ); }
int losowanie( int tablica[], int c, int wylosowana ) { srand( time( NULL ) ); int losowanieTablicy; do { losowanieTablicy =( rand() % c ) + 0; wylosowana =( rand() % 99999 ) + 0; } while( wylosowana != tablica[ losowanieTablicy ] ); return wylosowana; }
bool sprawdzenie( int wylosowana, int doWypisania[], int a ) { a = 0; do { if( wylosowana != doWypisania[ a ] ) return true; a++; } while( a < 2 ); return false; }
int main() { int tablica[ 3 ]; int doWypisania[ 2 ]; int a = 0; int b = 3; int c = 3; int wylosowana; int tab2 = 0; bool X; wczytanieLiczb( tablica, a, b ); losowanie( tablica, c, wylosowana ); doWypisania[ tab2 ] = losowanie( tablica, c, wylosowana ); tab2++; do { do { losowanie( tablica, c, wylosowana ); sprawdzenie( wylosowana, doWypisania, a ); X = sprawdzenie( wylosowana, doWypisania, a ); cout << endl << "Prawda czy falsz " << X; } while( X == false ); cout << endl << "wylosowana " << losowanie( tablica, c, wylosowana ); doWypisania[ tab2 ] = losowanie( tablica, c, wylosowana ); tab2++; } while( tab2 < 2 ); tab2 = 0; do { cout << endl << "doWypisania" << "[" << tab2 << "]" << " = " << doWypisania[ tab2 ]; tab2++; } while( tab2 < 2 ); tab2 = 0; do { cout << endl << "tablica" << "[" << tab2 << "]" << " = " << tablica[ tab2 ]; tab2++; } while( tab2 < 3 ); } |
|
WiecznyWem |
» 2011-03-06 15:25:18 Nie przyglądałem się zbytnio, ale porównujesz jedną zmienną do tablicy. Po prostu tablicy ;D nie podałeś dla którego elementu ma być różna.
Poza tym, to ten znak slasha to tylko literówka? |
|
Lukaszzz Temat założony przez niniejszego użytkownika |
» 2011-03-06 15:48:03 Nie wiem o co chodzi, ale jak umieszam a w nawiasie kwadratowym to wyskakuje slash. W tamtym iejscu powinno byc a w nawiasie kwadratowym. |
|
malan |
» 2011-03-06 15:50:38 Wstaw kod w [cpp][/cpp] to będzie wyglądał normalnie! |
|
Lukaszzz Temat założony przez niniejszego użytkownika |
» 2011-03-06 16:04:22 Gdzie dodkladnie wstawic te ? Wybacz za moj brak wiedzy. |
|
malan |
» 2011-03-06 16:05:33 ... [cpp]Kod[/cpp] Przykład:[cpp]#include <iostream> int main() { std::cout << "Hello word!"; }[/cpp] Efekt:#include <iostream> int main() { std::cout << "Hello word!"; } |
|
Lukaszzz Temat założony przez niniejszego użytkownika |
» 2011-03-06 16:19:47 Dzieki Malan. |
|
malan |
» 2011-03-06 16:22:50 Zmodyfikujmy trochę funkcję sprawdzenie : bool sprawdzenie( int wylosowana, int doWypisania[], int a ) { std::cout << "wylosowana = " << wylosowana << std::endl; a = 0; do { if( wylosowana != doWypisania[ a ] ) return true; a++; } while( a < 2 ); return false; } Widzisz już błąd? :) |
|
« 1 » 2 |