Напечатать последнюю из самых коротких строк текстового файла - C (СИ) (69572)

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

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

Подскажите пожалуйста текст программы, которая печатает последнюю из самых коротких строк текстового файла. Текстовый файл рандомный.
Вот, что получилось. Компилятор ругается на строку с открытием файла по заданному адресу. И еще не проработала момент с выводом именно ПОСЛЕДНЕЙ короткой строки. Подскажите, как это сделать
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4.  
  5. void main( )
  6. {
  7. FILE *text;
  8. int length=100;
  9. char *string;
  10. if ((text = fopen("G:\IRIT-RtF\Algoritmisation\ShortStrok","r")) == NULL)
  11. { puts ("Error opening file");
  12. exit (-1);
  13. }
  14. while(!feof(text))// пока не конец файла
  15. {
  16. fgets(string, 100, text);
  17. if(strlen(string)<length)
  18. length=strlen(string);
  19. }
  20. fseek(text, sizeof( char) , SEEK_SET);
  21. while(!feof(text))
  22. {
  23. fgets(string, 100, text);
  24. if(strlen(string)==length)
  25. break;
  26. }
  27. puts(string);
  28. system("pause");
  29. fcloseall();
  30. }

Решение задачи: «Напечатать последнюю из самых коротких строк текстового файла»

textual
Листинг программы
  1. if ((text = fopen("G:\\IRIT-RtF\\Algoritmisation\\ShortStrok","r")) == NULL)

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

  1. В этом коде используется функция fopen, которая открывает файл G:\\IRIT-RtF\\Algoritmisation\\ShortStrok для чтения (режим r).
  2. Если файл не может быть открыт (например, файл не существует или нет доступа к нему), то переменная text будет равна NULL.
  3. В этом случае программа завершится и ничего не будет напечатано.

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


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

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

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы