Сформировать числовой массив с количеством букв в строке (Си) - C (СИ)
Формулировка задачи:
Помогите пожалуйста с решением.
Сформировать числовой массив N, элементы которого указывают длину каждого слова в заданном предложении. Напечатать исходный текст и массив N.
Решение задачи: «Сформировать числовой массив с количеством букв в строке (Си)»
textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
#include <time.h>
#define MAX 100
int main()
{
setlocale(LC_ALL,"rus");
char ch[MAX];
int i=0,word,cnt=0,k=0;
gets(ch);
for(i=0,word=0;i<strlen(ch);i++)
if(ch[i+1]=='\0'||ch[i]==' ')
word++;
int ar[word];
for(i=0;i<=strlen(ch)+1;i++)
{
if(ch[i]!=' '&&ch[i]!='\0')
cnt++;
else
{
ar[k]=cnt;
k++;
cnt=0;
}
}
puts(ch);
for(i=0;i<word;i++)
printf("%d ",ar[i]);
return 0;
}
Объяснение кода листинга программы
В этом коде задача состоит в том, чтобы сформировать числовой массив с количеством букв в строке. Вот список действий, которые выполняются в коде:
- Включаются необходимые заголовочные файлы.
- Определяется максимальное значение для индексов массива и переменных.
- Устанавливается русская локаль.
- Считывается строка с помощью функции gets().
- В цикле проходит по всем символам строки.
- Если текущий символ является концом слова или пробелом, то увеличивается счетчик слов.
- Создается массив с числовыми значениями, равными количеству букв в каждом слове.
- В цикле проходят по всем символам строки.
- Если текущий символ не является пробелом или концом строки, то увеличивается счетчик.
- Если текущий символ является пробелом или концом строки, то значение счетчика записывается в массив, а счетчик сбрасывается.
- Выводится исходная строка.
- В цикле выводятся значения из массива.
- Код завершается и возвращается 0.