sortowanie babelkowe tekstu
Ostatnio zmodyfikowano 2015-02-25 12:53
rikrosfit Temat założony przez niniejszego użytkownika |
sortowanie babelkowe tekstu » 2015-02-23 19:49:10 Hejka, prosze o poprawienie blędow w programie albo chociaż ich pokazanie i wytlumaczenie w najprostszy mozliwy logiczny sposob, zadanie: napisz program ktory posortuje tekst bąbelkowo wprowadzony przez uzytkownika z klawiatury #include<iostream> #include<cstring> #include<cstdlib> using namespace std; void sort_babel( int tab[], string n ) { int dl = n.size(); for( int i = 1; i < dl - 1; i++ ) { for( int j = dl - 1; j >= 1; j-- ) { if( tab[ j ] < tab[ j - 1 ] ) { char pom; pom = tab[ j - 1 ]; tab[ j - 1 ] = tab[ j ]; tab[ j ] = pom; } } } } int main() { string n; cout << "podaj ciag znakow"; cin >> n; sort_babel( n ); cout << "posortowany zbior" << n << endl; system( "pause" ); return 0; } błąd: http://scr.hu/3j5r/pf2yf |
|
Fireho |
» 2015-02-23 19:57:45 Bo wczytujesz napis, a funkcja wymaga tablicy liczb. Oprócz tego wymaga też drugiego argumentu, który jest napisem. Oprócz tego nie możesz po prostu zrobić cout << tablica; , bo nie spowoduje to wyświetlenia wszystkich elementów tablicy tylko wyświetlenie adresu pierwszego elementu tablicy w pamięci. |
|
rikrosfit Temat założony przez niniejszego użytkownika |
» 2015-02-23 19:59:57 to jak mam to zmienic zeby funckaj oczekiwala ciagu znakow a nie liczb ? |
|
Fireho |
» 2015-02-23 20:02:18 Przecież ty to ustalasz w nagłówku tej funkcji void sort_babel( int tab[], string n ) Funkcja która nic nie zwraca, a oczekuje tablicy liczb i napisu. |
|
rikrosfit Temat założony przez niniejszego użytkownika |
» 2015-02-23 20:08:14 czyli co mam zmienic void na inta ? |
|
Fireho |
» 2015-02-23 20:16:09 W tym przykładowym nagłówku void oznacza to co zwraca funkcja(jak void to nic), int tab[] mówi że będzie pierwszym argumentem będzie tablica liczb o nazwie tab , a string n że drugim argumentem będzie napis o nazwie n . Jak chcesz zmienić typy przyjmowanych argumentów, to musisz zmienić tą część wewnątrz nawiasów. PS: Sortowanie tekstu FTW |
|
aksen |
» 2015-02-23 21:01:42 #include<iostream> #include<cstring> #include<cstdlib> using namespace std;
void sort_babel( string & tab ) { int dl = tab.size(); for( int i = 1; i < dl - 1; i++ ) { for( int j = dl - 1; j >= 1; j-- ) { if( tab[ j ] < tab[ j - 1 ] ) { char pom; pom = tab[ j - 1 ]; tab[ j - 1 ] = tab[ j ]; tab[ j ] = pom; } } } } int main() { string n; cout << "podaj ciag znakow: "; cin >> n; sort_babel( n ); cout << "posortowany zbior: " << n << endl; system( "pause" ); return 0; }
|
|
rikrosfit Temat założony przez niniejszego użytkownika |
» 2015-02-25 12:53:05 sprawdziłem, działa jestem mega wdzieczny dziekuje :) |
|
« 1 » |