Предмет: Информатика, автор: mps007

Напишите программу every_second.c, которая на основе исходного файла создаст новый так, что во второй файл будет записано каждое второе слово, считанное из первого файла между словами START и STOP. Названия файлов указываются как два аргумента программы. Словом считается каждая правильная последовательность символов, отделённая пробелом.

Запись слов (каждого второго) начинается после того, как во вступительном файле найдётся слово START. Слова (каждое второе) перестают записываться в файл после нахождения слова STOP.

В рамках программы не разрешается использование каких-либо библиотечных функций (strlen(), strcpy(), strcmp() и т.д.). Разрешается использовать следующие 4 функции:

fopen() для инициализации работы с файлом
fclose() для завершения работы с файлом
fgetc() для чтения из фала
fputc() для записи в файл
Программа будет принимать два аргумента:
1.первым из аргументов будет название файла на входе
2.вторым аргументом будет название файла для записи

После успешного завершения программы в директории должен появиться созданный файл. В случае, если содержание файла input.txt следующее:
"Hello start START Hello Kitty, say, how are you doing today? STOP"

Содержание файла output.txt после успешного завершения программы следующее:
"Kitty, how you today?"


makason512: ну на каком языке программирования
mps007: язык С

Ответы

Автор ответа: makason512
0

#include <stdio.h>

int main(int argc, char *argv[]) {

// Проверяем, что были переданы два аргумента (имена файлов)

if (argc != 3) {

printf("Usage: every_second input_file output_file\n");

return 1;

}

// Открываем файлы на чтение и запись

FILE *input_file = fopen(argv[1], "r");

FILE *output_file = fopen(argv[2], "w");

// Проверяем, что файлы успешно открыты

if (!input_file || !output_file) {

printf("Error opening files\n");

return 1;

}

// Считываем каждое слово из файла на входе

int word_count = 0; // Счетчик слов

char c; // Текущий символ

while ((c = fgetc(input_file)) != EOF) {

// Если мы нашли слово START, то начинаем записывать в файл на выходе

if (c == 'S' && fgetc(input_file) == 'T' && fgetc(input_file) == 'A' && fgetc(input_file) == 'R' && fgetc(input_file) == 'T') {

// Пропускаем один символ (пробел после слова START)

fgetc(input_file);

word_count = 1;

continue;

}

// Если мы нашли слово STOP, то заканчиваем запись в файл

if (c == 'S' && fgetc(input_file) == 'T' && fgetc(input_file) == 'O' && fgetc(input_file) == 'P') {

break;

}

// Если мы нашли пробел, то увеличиваем счетчик слов

if (c == ' ') {

word_count++;

continue;

}

// Если мы нашли слово, которое нужно записать (каждое второе слово), то записываем его в файл на выходе

if (word_count % 2 == 0) {

fputc(c, output_file);

}

}

// Закрываем файлы

fclose(input_file);

fclose(output_file);

return 0;

}

Похожие вопросы
Предмет: Биология, автор: rodiondelik2009
1 Залозою внутрішньої секреції є:
А підшлункова; Б гіпофіз; В яєчник; Г потова.
2 Який гормон відповідає за зниження рівня глюкози в крові?
А вазопресин; Б адреналін; В інсулін ; Г естрадіол;
3 Який гормон відповідає за регуляцію рівня йонів Na+?
А альдостерон; Б мелатонін; В соматотропін; Г глюкагон.
4 Яка залоза регулює роботу інших ендокринних залоз?
А гіпофіз ; Б яєчник ; В щитоподібна; Г підшлункова.
5 Яка залоза розташована попереду трахеї?
А гіпофіз; Б підшлункова; В гіпоталамус; Г щитоподібна;
6 Установіть відповідність між гормонами та залозами, у яких вони синтезуються.
1 адреналін; 2 тестостерон; 3 тироксин; 4 окситоцин;
А надниркові; Б щитоподібна; В сім’яники; Г гіпоталамус .
7 Наслідком гіпофункції щитоподібної залози:
А базедова хвороба; Б діабет; В мікседема; Г карликовість.
8 Наслідком надмірного синтезу соматотропіну ;
А базедова хвороба; Б зоб; В діабет; Г гігантизм .
9. Специфічні білки, що синтезуються організмом у відповідь на потрапляння чужорідних біомолекул,— це:
А токсини; Б антигени; В алергени; Г антитіла;
10. За участю яких клітин забезпечується клітинний імунітет?
А В-лімфоцитів; Б тромбоцитів; В Т-лімфоцитів; Г еритроцитів;
11 Який з перелічених органів належить до складу імунної системи?
А нирки; Б жовчний міхур; В лімфатичні вузли; Г щитоподібна залоза;
12 Які захворювання спричинені імунною відповіддю організму на власні клітини?
А імунодефіцитні; Б автоімунні; В ендокринні; Г алергічні;
13 Де в організмі розвиваються В-лімфоцити?
А у тимусі; Б кістковому мозку ; В селезінці; Г мигдалинах.
14 Установіть відповідність між видами імунітету та ознаками, що їх характеризують.
1 штучний активний А утворення власних антитіл унаслідок уведення в організм вакцини
2 природний набутий Б утворення власних антитіл унаслідок перенесеного захворювання
3 штучний пасивний В передача антитіл від матері до плоду через плаценту
4 природний спадковий Г уведення готових антитіл від однієї людини до іншої
15. Як подолати стрес?