[c++] funkcja wyswietla wiecej niz powinna
Ostatnio zmodyfikowano 2016-02-04 16:25
Barnak Temat założony przez niniejszego użytkownika |
[c++] funkcja wyswietla wiecej niz powinna » 2016-02-03 22:57:22 Mianowicie funkcja w moim programie, oprócz wyświetlenia informacji o element najczęściej występujący dodatkowo wyświetla informacja odnośnie pierwszego elementu.Podpowiedzcie proszę gdzie się machnąłem. void powtarza_sie_max( int n, int t[] ) { int max = 0, ilosc = 0, ilosc_biezaca; for( int i = 0; i < n; ++i ) { ilosc_biezaca = 0; for( int j = 0; j < n; j++ ) { if( t[ j ] == t[ i ] ) ilosc_biezaca++; max = t[ i ]; } if( ilosc_biezaca > ilosc ) { ilosc = ilosc_biezaca; cout << "najczesciej w tablicy powtarza sie " << max << " powtarza sie " << ilosc << " razy" << endl; } } } |
|
pekfos |
» 2016-02-03 23:06:46 Informacja zawsze się wyświetli dla pierwszego elementu, bo pierwszy element występuje co najmniej raz, a 1 > 0. Jeśli to ma dotyczyć tylko maksimum, nie rób tego w pętli. |
|
Barnak Temat założony przez niniejszego użytkownika |
» 2016-02-03 23:34:46 Wielkie dzięki.
Jednak pojawia się jeden problem
zdarza się że policzy mi element max więcej razy niż powinno |
|
mateczek |
» 2016-02-04 15:23:18 #include <iostream> #include <fstream> using namespace std; void powtarza_sie_max( int n, int t[] ) { int max = 0, ilosc = 0, ilosc_biezaca; for( int i = 0; i < n; ++i ) { ilosc_biezaca = 0; for( int j = 0; j < n; j++ ) { if( t[ j ] == t[ i ] ) ilosc_biezaca++; } if( ilosc_biezaca > ilosc ) { ilosc = ilosc_biezaca; max = t[ i ]; } } cout << "najczesciej w tablicy powtarza sie " << max << " powtarza sie " << ilosc << " razy" << endl; }
int main() { int tabl[ 10 ] { 3, 3, 3, 4, 5, 6, 6, 6, 3, 6 }; powtarza_sie_max( 10, tabl ); }
masz przykładowy kod !!! jeśli znajdziesz tablicę dla której algorytm zachowuje się źle skorzystaj z debugera !!! https://www.youtube.com/watch?v=L9JvSHYLvuw lub wklej tą tablicę i się zobaczy !!! RÓWNIE DOBRZE WINNY MOŻE BYĆ BŁĘDNY ROZMIAR TABLICY PRZESŁANY DO FUNKCJI!!! |
|
Barnak Temat założony przez niniejszego użytkownika |
» 2016-02-04 16:25:50 dzięki za poprawienie błędu w funkcji w tej chwili sprawdza się świetnie
|
|
« 1 » |