hariboss Temat założony przez niniejszego użytkownika |
Wyszukiwanie x w tablicy » 2014-12-19 17:18:56 Witam, mam problem z tablicami, a dokładniej z wyszukaniem liczby x wczytywanej z klawiatury. Wczoraj napisałem dobrze program, później coś zmieniłem i nie mogę teraz tego poprawic :( Proszę o pomoc, pozdrawiam #include <iostream> #include <cstdlib> using namespace std; main() { int i, x; int tab[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; cout << "Czy jest x w tablicy?" << endl; for( i = 0; i < 10; i++ ) { cout << tab[ i ] << endl; } cout << endl; cout << "Wprowadz szukana x: "; cin >> x; if( tab[ i ] == x ) { cout << "Odnaleziono element" << " 1" << endl; } else cout << "Nie odnaleziono elementu" << " 0" << endl; system( "pause" ); return 0; }
|
|
wilkoo13 |
» 2014-12-19 17:32:39 Ponieważ twój program sprawdzi czy x jest w tab gdzie i masz niezainicjowane |
|
michal11 |
» 2014-12-19 17:38:23 Nie przeszukujesz tablicy tylko sprawdzasz czy jej ostatni element jest równy x. |
|
NopeDotAvi |
» 2014-12-19 17:41:14 1. Wprowadzasz elementy do tablicy 2. Wczytujesz szukaną liczbę 3. Sprawdzasz za pomocą pętli całą tablice, jeżeli x jest równe elementowi tablicy to element się znajduje. |
|
hariboss Temat założony przez niniejszego użytkownika |
» 2014-12-19 17:57:36 Dziękuje za pomoc, działa :) Mam jednak jeszcze jeden problem, jeżeli nie znajduje elementu w tab dla każdego i wyświetla "Nie odnaleziono" jak wyświetlić to tylko raz ? |
|
Cornel9192 |
» 2014-12-19 18:05:01 Nie rozumiem pytania, z powyższego kodu wynika że wyświetli się tylko raz bo nie jest w pętli for. A jak wyświetlić raz ? Normalnie, na pewno nie w pętli ;p |
|
hariboss Temat założony przez niniejszego użytkownika |
» 2014-12-19 18:13:30 Chodzi mi o to, żeby sprawdziło i wyświetliło na końcu odnaleziono lub nie, w tej chwili jeżeli x=3, wyświetli 3 razy nie odnaleziono, dla x=3 odnaleziono i do końca nie odnaleziono. Tak wiem, to jest pętla i inaczej nie będzie, ale mi chodzi o to, żeby po wpisaniu x wyświetliło od razu czy jest taka liczba w tablicy czy nie ;p trochę zamieszałem ale mam nadzieję, że wiadomo o co chodzi :) EDIT zadeklarowałem x jako zmienna double i wszystko działa tak jak chciałem, poniżej wklejam kod, dziękuję za pomoc :) #include <iostream> #include <cstdlib> using namespace std; main() { int i; double x; int tab[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; cout << "Czy jest x w tablicy?" << endl; for( i = 0; i < 10; i++ ) { cout << tab[ i ] << endl; } cout << endl; cout << "Wprowadz szukana x: "; cin >> x; if( tab[ i ] == x ) { cout << "Odnaleziono element" << " 1" << endl; } else cout << "Nie odnaleziono elementu" << " 0" << endl; system( "pause" ); return 0; }
|
|
michal11 |
» 2014-12-19 18:42:10 eee, możesz powiedzieć co ci tu niby działa ? Jeżeli nie chcesz , żeby ciągle się wyświetlało, że nie znaleziono możesz dać flagę boolowską i wyświetl komunikat po pętli. bool show = true; for() { if( znaleziono ) { show = false; } } if( show ) { cout << "nie znaleziono"; }
|
|
« 1 » 2 |