Cześć, skleiłem taki oto kod i zastanawiam się czy nie ma w nim jakiś błędów, na pierwszy rzut oka wygląda dobrze ale chciałbym żeby ktoś bardziej obeznany to ocenił : )
Program ma wczytać z klawiatury n<=40
napisow i przzechowywac wskaźniki na te napisy w tablicy po czym posortować te napisy przestawiajac wskaźniki.
przykladowe wejscie:
5
bbb zzz xxx aaa d
wyjscie
aaa bbb d xxx zzz
string *(*ws_tab) = new string*[n]; //tutaj przechowuję wskaźniki do stringów
string *s_tab = new string[n]; //a tutaj same napisy
for (int i = 0; i < n; i++)
{
getline(cin, s);
if (s.length() == 0) //jesli uzytkownik wcisnie "enter" (napis pusty) to wczytywanie
{ //ma sie zakonczyc
wpr = i;
break;
}
else
{
s_tab[i] = s;
ws_tab[i] = &s_tab[i];
}
}
void s_sort(string *tablica[], int rozmiar) //sortuje napisy ze wzgledu na wartosc zwracana przez metode compare
{ //-1 nie sa alfabetycznie, 0 sa takie same, 1 sa alfabetycznie
for (int i = 0; i < rozmiar; i++)
{
for (int j = rozmiar - 1; j > 0; j--)
{
if ( (*tablica[j]).compare(*tablica[j - 1]) < 0 ) //zmieniamy jesli nie sa alfabetycznie
swap( tablica[j], tablica[j - 1] ); //jesli sa takie same to zostaje zachowana kolejnosc wprowadzenia
}
}
}
delete[] s_tab; //zwalnianie miejsca
delete[] ws_tab; //czy ta tablica zostanie usunięta?
czy cos tutaj jest źle?
`dodanie znaczników i ```
- @furious programming