Написание программы шифрования

Напишите программу (фильтр), которая считывает stream ASCII со стандартного ввода и отправляет символы на стандартный вывод. Программа отбрасывает все символы, кроме букв. Любая строчная буква выводится как прописная буква. Выведите символы из пяти групп, разделенных символом пробела. Выведите символ новой строки после каждых 10 групп. (Последней группе в строке соответствует только новая строка, последняя группа в строке не имеет пробела после нее.) Самая последняя группа из всех может иметь менее пяти символов, а последняя строка может иметь меньше 10 групп. Предположим, что входной файл является текстовым файлом произвольной длины. Для этого используйте getchar () и putchar (). Вам никогда не понадобится иметь более одного символа входных данных в памяти за один раз

У меня возникают проблемы с тем, как сделать интервал. Я создал массив с 5 объектами, но я не делаю, что с ним делать. Это то, что у меня есть до сих пор:

#include  #include  #include  int main() { char c=0, block[4]; while (c != EOF) { c=getchar(); if (isupper(c)) { putchar(c); } if (islower(c)) { putchar(c-32); } } } 

 int main() { char c=0; int charCounter = 0; int groupCounter = 0; while (c != EOF) { c=getchar(); if (isupper(c)) { putchar(c); charCounter++; } if (islower(c)) { putchar(c-32); charCounter++; } // Output spaces and newlines as specified. // Untested, I'm sure it will need some fine-tuning. if (charCounter == 5) { putchar(' '); charCounter = 0; groupCounter++; } if (groupCounter == 10) { putchar('\n'); groupCounter = 0; } } } 

вам не нужно хранить символы, чтобы выполнить алгоритм, описанный в вашем вопросе.

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

в принципе:

 read a character if the character is valid for output then convert it to uppercase if needed output the character update the counters output space and or newlines according to the counters end if 

надеюсь это поможет.

Кроме того: я не знаю, что вы пытались сделать с block переменной, но объявлен как массив из 4 элементов, и нигде в тексте не используется число 4 …