Найти слова, начинающиеся с гласной буквы, вывести на экран монитора искомые слова и их количество - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Помогите пожалуйста написать программу на СИ:Дан массив строк размером N×M (N=5, M=80). Найти сло-ва, начинающиеся с гласной буквы. Вывести на экран монитора искомые слова и их количество.
С помощью указателя второго ранга

Решение задачи: «Найти слова, начинающиеся с гласной буквы, вывести на экран монитора искомые слова и их количество»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 5
#define M 80
#define DELIM " ,.!?;:"
int F(char *);
int main()
{
    char str[N][M] = {"Non Interdum hac. Nascetur sapien risus sem Consectetuer augue sapien.",
                    "Magnis. Porttitor velit nam, vulputate gravida risus faucibus consectetuer sit.",
                    "Nascetur varius condimentum at diam magna cras ante quis laoreet.",
                    "Augue tempus urna. Fames commodo. Torquent ridiculus facilisis suspendisse.",
                    "Bibendum pulvinar et mus. Lectus mollis tincidunt dapibus duis ante."};
    int i, count = 0;
    for(i = 0; i < N; i++)
        count += F(str[i]);
    printf("%d\n", count);
}
int F(char *s)
{
    char *p, Vowels[] = "AEIOUYaeiouy";
    int j, count = 0;
    for(p = strtok(s, DELIM); p; p = strtok(NULL, DELIM))
        for(j = 0; Vowels[j]; j++)
            if(*p == Vowels[j]){
                puts(p);
                count++;
                break;
            }
    return count;
}

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

В этом коде используется стандартная библиотека языка C, а именно функции printf и strtok. Код состоит из двух функций: функции main и функции F.

  1. Функция main:
    • Объявляет массив строк str типа char с размером N на строку и размером M символов на строку.
    • Инициализирует этот массив пятью строками, которые представляют собой предложения на латинском языке.
    • Объявляет переменные i и count типа int. Переменная i будет использоваться в цикле, а переменная count будет использоваться для подсчета слов, начинающихся с гласной.
    • Использует цикл for для перебора всех строк в массиве str.
    • Внутри цикла вызывает функцию F, передавая ей текущую строку.
    • Получает результат работы функции F и добавляет его к переменной count.
    • После окончания цикла выводит на экран значение переменной count.
  2. Функция F:
    • Объявляет переменные p и Vowels типа char*. Переменная p будет использоваться для хранения текущего слова, а переменная Vowels представляет собой массив гласных букв.
    • Использует функцию strtok для разделения строки на слова. В качестве разделителя используется строка DELIM, которая содержит все возможные разделители слов.
    • Использует два вложенных цикла for для перебора всех слов в текущей строке и всех гласных букв соответственно.
    • Если текущая буква в слове совпадает с одной из гласных букв, то выводит это слово на экран и увеличивает значение переменной count на единицу.
    • После окончания циклов возвращает значение переменной count. Таким образом, данный код ищет слова, начинающиеся с гласной буквы в каждом предложении из массива строк и выводит их на экран вместе с их количеством.

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


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

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

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