C/C++

Задача на строки в Си

Стихотворный текст (в строке не более 80 символов) имеет четырёхстрочную строфу.
Записать его «лесенкой» (по одному слову в строке), вставляя пустую строку после
каждого четверостишья. Помогите реализовать на языке программирования С.
Artush Grigoryan
Artush Grigoryan
95
c
#include <stdio.h>

int main() {
printf("Строка\n\n");
printf("пустая\n\n");
printf("строка\n\n");
printf("после\n\n");
printf("каждого\n\n");
printf("четверостишья.\n\n");
return 0;
}
Алексей Гусев
Алексей Гусев
519
Лучший ответ
 #include  
#include

int main()
{
// Стихотворный текст
char text[] = "Я помню чудное мгновенье:\n"
"Передо мной явилась ты,\n"
"Как мимолетное виденье,\n"
"Как гений чистой красоты.\n"
"\n"
"В томленьях грусти безнадежной,\n"
"В тревогах шумной суеты,\n"
"Звучал мне долго голос нежный\n"
"И снились милые черты.\n";

// Переменная для хранения указателя на текущее слово
char *word;

// Переменная для хранения счетчика строк
int line_count = 0;

// Получаем первое слово в тексте
word = strtok(text, " \n");

// Повторяем, пока не достигнем конца текста
while (word != NULL)
{
// Выводим текущее слово на экран
printf("%s\n", word);

// Увеличиваем счетчик строк
line_count++;

// Получаем следующее слово в тексте
word = strtok(NULL, " \n");

// Если текущий счетчик строк делится на четыре без остатка, выводим пустую строку
if (line_count % 4 == 0)
{
printf("\n");
}
}

return 0;
}
графически как это выглядит? Однозначно пример приведите
Следующий код на языке программирования C должен помочь в решении вашей задачи.

Здесь мы считываем исходный текст, а затем обрабатываем каждое слово по-отдельности, печатая его в отдельной строке. Пустая строка вставляется после каждого четверостишья.

#include <stdio.h>
#include <string.h>

int main() {
char text[80], *word;
int count = 0;

while(fgets(text, sizeof(text), stdin) != NULL) {
word = strtok(text, " \n");
while(word != NULL) {
printf("%s\n", word);
word = strtok(NULL, " \n");
count++;
if(count % 4 == 0) {
printf("\n"); // Если прошло 4 стихотворений, печатаем новую строку
}
}
}

return 0;
}


Обратите внимание, что входной текст считывается из стандартного ввода (`stdin`), поэтому вы можете вводить текст в консоли или перенаправлять его из файла. Используйте символ новой строки (`\n`) для разделения строк стихотворения. Программа разделяет каждую строку на слова и печатает их отдельно, вставляя пустую строку каждые 4 слова.

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

int main() {
char* poem = "Стихи написаны\nв четыре строки,\nв каждой по четыре\nслова с глубины души.";
char* token = strtok(poem, " \n");
int count = 0;

while (token != NULL) {
printf("%s\n", token);
count++;

if (count % 4 == 0) {
printf("\n");
}

token = strtok(NULL, " \n");
}

return 0;
}