Сформировать числовой массив с количеством букв в строке (Си) - 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;
}

Объяснение кода листинга программы

В этом коде задача состоит в том, чтобы сформировать числовой массив с количеством букв в строке. Вот список действий, которые выполняются в коде:

  1. Включаются необходимые заголовочные файлы.
  2. Определяется максимальное значение для индексов массива и переменных.
  3. Устанавливается русская локаль.
  4. Считывается строка с помощью функции gets().
  5. В цикле проходит по всем символам строки.
  6. Если текущий символ является концом слова или пробелом, то увеличивается счетчик слов.
  7. Создается массив с числовыми значениями, равными количеству букв в каждом слове.
  8. В цикле проходят по всем символам строки.
  9. Если текущий символ не является пробелом или концом строки, то увеличивается счетчик.
  10. Если текущий символ является пробелом или концом строки, то значение счетчика записывается в массив, а счетчик сбрасывается.
  11. Выводится исходная строка.
  12. В цикле выводятся значения из массива.
  13. Код завершается и возвращается 0.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы