Kategorie: Programowanie

[C] Odwracanie kolejnosci linii w pliku

Cześć! Cieszę się, że mnie odwiedziłeś/aś. Zanim przejdziesz do artykułu chciałbym zwrocić Ci uwagę na to, że ten artykuł był pisany kilka lat temu (2012-05-10) miej więc proszę na uwadzę że rozwiązania i przemyślenia które tu znajdziesz nie muszą być aktualne. Niemniej jednak zachęcam do przeczytania.

Napisać program odwracający plik tekstowy plik.txt. Pierwszym wierszem wyjściowym ma być ostatni wiersz pliku wejściowego, drugim – przedostatni itd.  Założyć,  że wiersze nie przekraczają 255 znaków.

Wykorzystane – listy dwukierunkowe.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <stdio.h>
#include <stdlib.h>

typedef struct a{

  char a[255];
  struct a *next;
  struct a *prev;

} strk;

void wstaw(strk *, char[255]); // wstawienie na koniec
int main()
{
  strk a;
  strk* wsk=&a;
  strk* head=&a;
  wsk->next=NULL;
  wsk->prev=NULL;
  strcpy(wsk->a, "");
  int i=0;
  char f[255]; //zmienan pomocnicza
  FILE* plik = fopen("c://plik.txt", "r");//otwirramy plik

  while(!feof(plik))
  {
      fscanf(plik, "%s\n", f);// wczytujemy kazda linie
      i++;
      wstaw(wsk, f);// i wrzucamy ja do listy na koniec
  }

  while(wsk->next!=NULL)//przesuwamy liste na koniec
  {

      wsk=wsk->next;

  }

  while(i>0)//wyswietlamy tyle elementow ile ma linii plik ze wzgledu na 1 element listy ktory stworzylem statycznie
  {
      printf("%s\n", wsk->a);
      wsk=wsk->prev;
      i--;
  }
  return 0;
}

void wstaw(strk *a, char co[255]){

  while(a->next != NULL)
  {
 
      a=a->next;

  }

  strk *nowy = (strk*) malloc(sizeof(strk));//nowy element w pamiec

  strcpy(nowy->a,co);// wartosc przpisana
  nowy->next=NULL;// wskaznik przypisany do NULL
  nowy->prev=a;
  a->next=nowy; // podlaczamy nowa do starej
}
Dzięki za wizytę,
Mateusz Mazurek
Mateusz M.

Ostatnie wpisy

Podsumowanie: maj, czerwiec, lipiec i sierpień 2024

Oj daaawnoo mnie tu nie było. Ale wakacje to był czas dużej liczby intensywnych wyjazdów i tak naprawdę, dopiero jakoś… Read More

2 miesiące ago

Podsumowanie: kwiecień 2024

Cześć! Zapraszam na krótkie podsumowanie kwietnia. Wyjazd do Niemiec A dokładniej pod granicę z Francją. Chrześnica miała pierwszą komunię. Po… Read More

6 miesięcy ago

Podsumowanie: luty i marzec 2024

Ostatnio tygodnie były tak bardzo wypełnione, że nie udało mi się napisać nawet krótkiego podsumowanie. Więc dziś zbiorczo podsumuję luty… Read More

7 miesięcy ago

Podsumowanie: styczeń 2024

Zapraszam na krótkie podsumowanie miesiąca. Książki W styczniu przeczytałem "Homo Deus: Historia jutra". Książka łudząco podoba do wcześniejszej książki tego… Read More

9 miesięcy ago

Podsumowanie roku 2023

Cześć! Zapraszam na podsumowanie roku 2023. Książki Zacznijmy od książek. W tym roku cel 35 książek nie został osiągnięty. Niemniej… Read More

10 miesięcy ago

Podsumowanie: grudzień 2023

Zapraszam na krótkie podsumowanie miesiąca. Książki W grudniu skończyłem czytać Mein Kampf. Nudna książka. Ciekawsze fragmenty można by było streścić… Read More

11 miesięcy ago