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: 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

3 tygodnie 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

3 miesiące 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

4 miesiące 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

4 miesiące ago

Praca zdalna – co z nią dalej?

Cześć, ostatnio w Internecie pojawiło się dużo artykułów, które nie były przychylne pracy zdalnej. Z drugiej strony większość komentarzy pod… Read More

4 miesiące ago

Podsumowanie: listopad 2023

Zapraszam na krótkie podsumowanie miesiąca. Książki W listopadzie dokończyłem cykl "Z mgły zrodzony" Sandersona. Tylko "Stop prawa" mi nie do… Read More

5 miesięcy ago