Odwracanie kolejności łańcuchów tekstu

0

Witam, muszę zrobić dwa zadania na zaliczenie z programowania w języku C. A że na studiach pierwszy raz się z tym stykam mam pewne problemy z zapisem tego w języku C.
Pierwsze zadanie to program

  1. odwracający kolejność łańcuchów tekstu podawanych z wejścia.

  2. do czytania danych z wejścia należy użyć funkcji:
    fgets(buf, (int)sizeof(buf), stdin);

  3. program ma zapamiętywać wprowadzane dane wykorzystując stos implementowany jako listę.

Do przechowywania danych na liście należy wykorzystać strukturę:

struct Element
{
char *Text;
struct Element *next;
};
  1. po wprowadzeniu łańcucha pustego ma zostać wyświetlona odpowiedź.

  2. ma zwalnianiać nieużywaną pamięć.

Przykład działania:

pierwszy
drugi
trzeci

trzeci
drugi
pierwszy

Byłbym wdzięczny za wszelką pomoc, chociażby częściową

dodanie znacznika <code> oraz <code class="c"> - fp

0

Rekurencyjnie? No bo to lista jednokierunkowa, więc trudno się w niej cofać, a pewnie bufora tymczasowego użyć nie możesz; To jest jakieś ćwiczenie/zagadka? Bo nijak sensu w tym nie widzę...

1

Nie podałeś z czym masz problem.
Wstawiając do listy zawsze na początek ostatnio wprowadzoną wartość będziesz mieć zawsze na początku.

0

To jest zadanie laboratoryjne i ja również w tym sensu nie widzę, dlatego zgłaszam się po pomoc.

Problem mam z rozpoczęciem tego zadania, ciężko mi to zrozumieć i przez to nie wiem jak to rozgryźć

0

Problem mam z rozpoczęciem tego zadania, ciężko mi to zrozumieć i przez to nie wiem jak to rozgryźć

A ja myślałem, że masz listę jednokierunkową i nie wiesz jak przechodzić od końca do początku...

A tu się okazuje, że nic nie masz i w tym problem; W takim razie najpierw do nauki - czas zrozumieć zasady działania list i sposoby ich implementacji; Później czas na kodzenie i testowanie zwykłej listy; Na koniec - czas na zaimplementowanie odwracania kolejności węzłów listy, co możesz wykonać na co najmniej kilka sposobów; Albo tak, jak podał @_13th_Dragon, przez tworzenie kolejnych elementów zawsze na początku listy, albo pobawić się rekurencją i tylko zapisać ją odwrotnie, przez co lista w pamięci nie zmieni swojego kierunku;

Najpierw nauka, a później kodzenie; Jak na razie nie wykazałeś się chęciami, więc albo zabierz się do pracy, albo wątek zostanie przeniesiony do kosza z powodu proszenia o gotowca.

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