Sortowanie danych typu string bez użycia tablic

0

Cześć wszystkim,
Jestem kompletnie początkującym jeśli chodzi o C++, dlatego pytanie może być głupie i oczywiste, jednak nie znalazłem na nie odpowiedzi.
Mianowicie, mam za zadanie w przykładowym programie stworzyć funkcję, która posortuje mi stringi z innego pliku, względem ich długości, jednak zabronione jest używanie tablic, jak i używanie dodatkowych bibliotek. I właśnie z tym wiąże się problem, dalsza część zadania jest stosunkowo prosta, jednak nie mam pomysłu jak poruszać się po stringach bez tablic.
Z góry dziękuję za wszystkie rady.

1

Użyj std::vector. Chyba że chodzi o działanie na pliku bez angażowania pamięci podręcznej w ogóle, wtedy dochodzi zabawa z mmap, ale jeśli jesteś początkujący to raczej nie o to chodzi

0
kq napisał(a):

Użyj std::vector. Chyba że chodzi o działanie na pliku bez angażowania pamięci podręcznej w ogóle, wtedy dochodzi zabawa z mmap, ale jeśli jesteś początkujący to raczej nie o to chodzi

Nie mogę użyć std::vector, ponieważ wymaga to użycia dodatkowej biblioteki. Myślałem już o tym, no ale właśnie takie są ograniczenia.

0
Falqon napisał(a):
kq napisał(a):

Użyj std::vector. Chyba że chodzi o działanie na pliku bez angażowania pamięci podręcznej w ogóle, wtedy dochodzi zabawa z mmap, ale jeśli jesteś początkujący to raczej nie o to chodzi

Nie mogę użyć std::vector, ponieważ wymaga to użycia dodatkowej biblioteki. Myślałem już o tym, no ale właśnie takie są ograniczenia.

jest to bliotekla STANDARDOWA
Tak std::cin - tego też nie wolno ?

Właściwie nie da się napisać użytecznego komunikującego się z otoczeniem programu, zupełnie bez.

0

Olej tablice, używaj plików , rób ich duże ilości i w nich przechowuj dane. To nie tablice tylko strumienie he he he I potem odczytywanie rozmiarów plików i sortowanie bąbelkowe he he he A struktury dozwolone czy ma byc primitve level max? Bo możesz potworzyć struktury w nich wskaźniki do plików i ich rozmiar he he he Ale to dawno nie robiłem, tylko się domyślam, ale ja bym tak kombinował. ALBO chodzi o sortowanie wraz z regularnym zapisem plików na zmianę z wstawkami aktualnego stringu w miejsce docelowe w nowym pliku. Robisz pętle z sortowaniem i szukasz w które miejsce wpisać string. I tak generujesz na zmiane dwa pliki zamiennie.

0

Polecenie:
Zadaniem jest zaimplementować poniższe procedury o podanych nazwach i określonych typach argumentów.

  • void SortCount (string, string, string)
    Podprogram odczytuje dane o podanej strukturze z pliku o nazwie przekazanej pierwszym argumentem, zaś efektem działania będą odczytane dane zapisane w pliku o nazwie przekazanej pierwszym argumentem zgodnie z relacją:
    • Dane ze składową typu int o większej liczności są umieszczone przed danymi o mniejszej liczności wystąpień składowej typu int.
    • [...]
      W rozwiązaniu nie wolno używać znaków kwadatowych nawiasów lub ich zastępników, oznaczając zakaz używania tablic.
      Zabronione jest używanie typów wskaźnikowych i referencyjnych oraz dynamicznego przydziału pamięci.
      Zabronione jest używanie słowa class
      Zabronione jest własne włączanie plików nagłówkowych, ale można założyć dostępność plików fstream, iostream oraz string
0

W sumie rozumiem cel tego ćwiczenie, chyba ktoś planuje zrobienie spisu nazwisk wszystkich obywateli świata. Wtedy to by miało sens. W pamięci by nie było jednocześnie wielu danych, nic co mogłoby wzbudzić niepokój operatorów. Falqon - uczysz się u jakiegoś profesorka co ma zapędy dyktatorskie?

1
infinityhost napisał(a):

W sumie rozumiem cel tego ćwiczenie, chyba ktoś planuje zrobienie spisu nazwisk wszystkich obywateli świata. Wtedy to by miało sens. W pamięci by nie było jednocześnie wielu danych, nic co mogłoby wzbudzić niepokój operatorów. Falqon - uczysz się u jakiegoś profesorka co ma zapędy dyktatorskie?

Zdecydowanie tak bym to określił, jak i zapędy psychopatyczne.

1

Zawsze możesz użyć merge sort i sortować używając dwóch ifstream do odczytu oraz jednego ofstream do zapisu.

0
_13th_Dragon napisał(a):

Zawsze możesz użyć merge sort i sortować używając dwóch ifstream do odczytu oraz jednego ofstream do zapisu.

Merge sort nie będzie wymagać użycia nawiasu kwadratowego?

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