Wypisywanie łąńcuchów wg długości

0

Niech będzie 5 łańcuchów po max 40 znaków.

char tab[0][40]
...
char tab[4][40]

W jaki sposób zliczyć ilość znaków w każdym łańcuchu, a następnie wypisać je wg długości?

Wczytywanie tych łańcuchów to u mnie:

void get(char tab[][40], int ile)
{
    for(int i=0; i<=ile;i++){
        cin.getline(tab[i], 40);}
        }

Policzyć długość każdego łańcucha mogę, ale nie wiem jak później, wykorzystać tą informację o długości w wypisywaniu łańcuchów.

0

skoro masz 5 lancuchow, to masz max 5 dlugosci.

//zrob sobie tablice PAR intow:
struct parka {int dlugosc; int indeks;}
//nastepnie zrob tablice 5ciu takich:
parka porzadek[5];
//wypelnij ta tablice informacjami o napisach
for(int i = ....)
{
    porzadek[i].indeks = 1
    porzadek[i].dlugosc = znajdz_dlugosc_napisu(i-tego);
}
// w ten sposob masz zapamietane pary dlugosc-pozycja.
posortuj_tablice_wedlug_pola_dlugosc(porzadek, 5);
// teraz masz ta tablice poukladana, wiec
for(int i=...)
    cout << tab[ porzadek[i].indeks ] << endl

disclaimer:
mozna inaczej/lepiej/krocej/bleh. celowalem w zrozumialosc

1 użytkowników online, w tym zalogowanych: 0, gości: 1