Перед каждым символом необходимо поставить порядковый номер в тексте. (включая пробелы) - C (СИ)
Формулировка задачи:
Есть 2 текстовых файла: в один файл пишешь абсолютно любой текст, запускаешь программу, в консольке может ничего не говориться, она просто должна пронумеровать каждый символ исходного текста и запихнуть во второй файл.
Я пока что разобрался только с тем, как считать текст и запихнуть его в другой файл, но не знаю как пронумеровать эти символы.
Скорее всего, так должна выглядеть программа. Но, увы, дальше этого никак не могу уйти.
#include <stdio.h> #include <stdlib.h> int main(...) { int n = 1; FILE *fi, *fo; fi = fopen("input.txt", "r"); fo = fopen("output.txt", "w"); fprintf(fo, "%d ", n); while () // а может и не while { //присвоение каждому символу порядковый номер } fclose(fi); fclose(fo); system("PAUSE"); return 0; }
Решение задачи: «Перед каждым символом необходимо поставить порядковый номер в тексте. (включая пробелы)»
textual
Листинг программы
for (i = 0;;) { ch = fgetc(fi); if (ch != EOF) { if (ch > 13) fprintf(fo, "(%d)%c", ++i, ch); else fprintf(fo, "%c", ch); printf("%c\t%d\n", ch, ch); } else break; }
Объяснение кода листинга программы
- Объявлены переменные: — i (указатель на целочисленную переменную, используемую в цикле) — ch (указатель на символ, который считывается из файла fi) — fo (указатель на файл, в который записываются результаты)
- Цикл while считывает символы из файла fi до достижения конца файла (EOF).
- Если считанный символ не равен EOF, то выполняется проверка: — Если символ больше 13 (предполагается, что это ASCII символ), то в файл fo записывается символ, его порядковый номер и сам символ. — Если символ меньше или равен 13 (предполагается, что это пробел или специальный символ), то в файл fo записывается только символ.
- В консоль выводится символ, его порядковый номер и сам символ.
- Если символ равен EOF, то цикл прерывается.
- В конце кода нет инструкций, которые могут повлиять на работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д