Написать функцию для непосредтственно удаления слов и подставления числа - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дан текстовый файл. Группы символов, разделенные пробелами, будем называть словами. В файле оставить только по одному экземпляру каждого слова и добавить перед ними количество их вхождений в первоначальный текст. Написал код для ввода\вывода, обработки... никак не могу напилить функцию для непосредтственно удаления слов и подставления числа
#include <stdio.h>
#include <conio.h>
#include <alloc.h>
 
typedef struct list
{
 int number;
 struct list *next;
} LIST;
 
LIST *read_list(LIST *lst)
{
 LIST *p;
 FILE *file;
 file=fopen("list.txt", "r");
 if (file)
    {
     lst=(LIST *)malloc(sizeof(LIST));
     p=lst;
     while (1)
     {
      fscanf(file, "%d", &p->number);
      if (!feof(file))
     {
      p->next=(LIST *)malloc(sizeof(LIST));
      p=p->next;
     }
      else
      break;
     }
     p->next=NULL;
    }
 else
     printf("file not found \n");
 fclose(file);
 return lst;
}

void write_lst(LIST *lst)
{
 FILE *file;
 LIST *p1=lst;
 file=fopen("list2.txt", "w");
 while (p1)
       {
    fprintf(file, "%d ", p1->number);
    if (p1->next==NULL)
       break;
    p1=p1->next;
       }
 fclose(file);
}

void main()
{
 clrscr();
 LIST *lst=NULL;
 lst=read_list(lst);
 printf("start file :\n");
 write_lst(lst);
 printf("result:\n");
 getch();
}

Решение задачи: «Написать функцию для непосредтственно удаления слов и подставления числа»

textual
Листинг программы
// цикл зациклится
int i;
for (i=1; i > 0; ++i) {
  printf("%d ", i); // так можно узнать, что зациклился именно этот цикл
}
// этот метод очень простой но с ним можно долго провозиться

Объяснение кода листинга программы

В представленном коде выполняется цикл, который зациклился. Вот что происходит в этом коде:

  1. Объявляется переменная i типа int.
  2. Устанавливается начальное значение i равное 1.
  3. Устанавливается условие цикла: i > 0.
  4. Устанавливается шаг цикла: ++i.
  5. В каждой итерации цикла выводится значение i с помощью функции printf().
  6. Поскольку условие цикла i > 0 всегда истинно для данного значения i, цикл не прекращается и продолжается бесконечно. Этот код является простым примером, демонстрирующим зацикливание цикла. В реальной программе такое зацикливание может привести к зависанию программы или к другим непредвиденным последствиям.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы