Главная страница
Навигация по странице:

  • Блок-схема алгоритма

  • Назначение подпрограммы – Проверка слова на палиндром.

  • Блок-схема с использованием блока «предопределённый процесс»

  • Лаба 7 яп. Лаба7яп. Использование функций при работе со строками


    Скачать 156.07 Kb.
    НазваниеИспользование функций при работе со строками
    АнкорЛаба 7 яп
    Дата14.12.2020
    Размер156.07 Kb.
    Формат файлаdocx
    Имя файлаЛаба7яп.docx
    ТипДокументы
    #160385

    №7

    Использование функций при работе со строками

    Цель работы: получение навыков работы со строками. Закрепление навыков работы с функциями.

    Вариант 6: В данной строке соседние слова разделены запятыми. Определить количество слов-палиндромов, которые начинаются с буквы 'a'.
    Блок-схема алгоритма:



    Описание подпрограмм:


    Назначение подпрограммы – Поиск слова в строке, запись первой буквы слова в переменную i1, последнюю букву в переменную i2.



    Назначение подпрограммы – Проверка слова на палиндром.


    Назначение подпрограммы – Поиск палиндромов, начинающихся на 'a' и их подсчет.


    Блок-схема с использованием блока «предопределённый процесс»:


    Программа на языке Си:
    #include <stdio.h>
    void get_word(char l[], int *i1, int *i2)

    {

    while ((l[*i1] == ',') || ((l[*i1] <= ' ') && (l[*i1])))

    (*i1)++;

    (*i2) = *i1;

    while ((l[*i2]) && (l[*i2] != ','))

    (*i2)++;

    (*i2)--;

    }
    int palindrome_check(char l[], int i1, int i2)

    {

    int mid = (i2 + i1)/2, i = i1, j = i2;

    while ((l[i] == l[j]) && (i <= mid))

    {

    i++;

    j--;

    }

    return (i > mid);

    }
    void palindrome_search(char l[])

    {

    int i1 = 0, i2 = 0, count = 0, i;

    while (l[i1])

    {

    get_word(l, &i1, &i2);

    if (((i2 - i1) > 0) && (l[i1] == l[i2]) && (l[i1] == 'a'))

    {

    i = palindrome_check(l, i1+1, i2-1);

    if (i)

    count++;

    }

    i1 = i2 + 1;

    }

    printf("Количество слов-палиндромов начинающихся на 'a' - %d", count);

    }
    void main()

    {

    char l[255];

    puts("Введите строку l, cлова разделять запятыми");

    gets(l);

    palindrome_search(l);

    }


    написать администратору сайта