Есть ответ 👍

СИ (НЕ С++)

В файле посчитать количество строк, которые оканчивается на 15

259
355
Посмотреть ответы 2

Ответы на вопрос:

Nemsix
4,4(12 оценок)

Name : c_file_row_count.c

Author : UranFlex

Version : 0.1 alpha

Copyright : GNU GPL

Description : В файле input.txt записана информация из нескольких текстовых строк. Выводим содержимое этого файла на экран, посчитаем количество строк в файле.

#include <stdio.h>

#include <stdlib.h>

#define FNAME "input.txt" // имя исходного файла

int main( void ) {

// пробуем открыть файл для чтения

FILE* in = fopen( FNAME, "r" );

// обрабатываем ошибку открытия файла

if ( in == NULL ) {

perror( "Ошибка при открытии исходного файла" );

return EXIT_FAILURE;

}

size_t counter = 0; // предполагаем, что строк ноль в файле - т.е. пустой

int ch, pre = EOF; // текущий символ, последний считаный символ

printf( "%s %s\n", "Содержимое файла", FNAME );

// в цикле считаем сколько переводов строки в файле и запоминаем это в переменную counter

// а также выводим на экран каждый считаный символ.

// если файл пустой, то тело цикла не выполнится ни разу, так как первый считанный символ будет как раз EOF

// и в pre останется EOF

while ( ( ch = fgetc( in ) ) != EOF ) { // в цикле проходим весь файл посимвольно

pre = ch; // запоминаем последний считаный символ

if ( ch == '\n' ) // если нашли перевод строки,

++counter; // то увеличиваем счетчик строк

putchar( ch ); // выводим очередной символ на экран

}

// весь смысл переменной pre в том, чтобы запомнить какой символ мы считали перед тем как наткнулись на EOF в файле

// или в pre будет EOF - если тело цикла ни разу не выполнилось, это будет при пустом файле

// последняя строка файла может заканчиваться не \n, а строку посчитать надо - вот для этого и нужна переменная pre.

if ( pre == EOF ) // если файл пустой

puts( "Файл пустой!" ); // информация об этом.

else if ( pre != '\n' ) { // pre содержит в себе не перевод строки, и файл не пустой.

++counter; // увеличиваем

puts( "" );

}

puts( "" );

// выводим на экран информацию о количестве строк

printf( "%s %s %d", "строк в файле", FNAME, counter );

return EXIT_SUCCESS;

Объяснение:

Сейчас решаем такую же задачу, только на олимпиаде, вроде так.

Masha3334
4,7(45 оценок)

S=0

for i in range(101):

   S = S + i

print(S)

Объяснение:

●《☆Я смог !?☆》●

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS