Практикум по курсу "Алгоритмизация и программирование". Часть 2. Андрианова А.А - 32 стр.

UptoLike

А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова .
while((fa>eps || fa<-eps) && (fb>eps || fb<-eps))
{
// вычисление точки пересечения хорды
// с осью абсцисс
x=(a*fb-b*fa)/(fb-fa);
// изменение отрезка поиска корня
if(fa*f(x)>0)
a=x;
else
b=x;
}
return 1; // корень найден
}
return 0; // корень не найден
}
Задача 7. Дана символьная строка, состоящая из строчных букв ла-
тинского алфавита и пробелов. Набор символов, не разделенных пробелами,
образует слово. Требуется написать функцию шифрования символьной стро-
ки по следующему алгоритму:
1) определяется количество букв в слове минимальной длины. Обозначим
это количество через D;
2) каждый символ строки за исключением пробела, заменяется символом,
расположенным в алфавите через D символов после. Например, при D=3,
символ 'a' заменяется символом 'd', символ 'b' заменяется символом 'e' и т.д.
Для тех символов, после которых не существует D символов до конца алфави-
та, поиск замены продолжается, начиная с буквы 'a'. Например, при D=3, сим-
вол 'x' заменяется символом 'a', символ 'y' заменяется символом 'b' и символ
'z' заменяется символом 'c'.
Поскольку количество букв в слове минимальной длины может быть
больше размера алфавита, смещение для нахождения символа-замены будет
вычисляться по формуле shift=D%26.
# include <stdio.h>
// прототип функции вычисления длины символьной строки
int Length(char* str);
// прототип функции вычисления количества букв в слове
// минимальной длины
int MinLength(char* str);
// прототип функции шифрования символьной строки
32
А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова                       .
                   while((fa>eps || fa<-eps) && (fb>eps || fb<-eps))
                   {
                        // вычисление точки пересечения хорды
                        // с осью абсцисс
                        x=(a*fb-b*fa)/(fb-fa);
                        // изменение отрезка поиска корня
                        if(fa*f(x)>0)
                             a=x;
                        else
                             b=x;
                   }
                   return 1; // корень найден
            }
            return 0; // корень не найден
    }

      Задача 7. Дана символьная строка, состоящая из строчных букв ла-
тинского алфавита и пробелов. Набор символов, не разделенных пробелами,
образует слово. Требуется написать функцию шифрования символьной стро-
ки по следующему алгоритму:
      1) определяется количество букв в слове минимальной длины. Обозначим
это количество через D;
      2) каждый символ строки за исключением пробела, заменяется символом,
расположенным в алфавите через D символов после. Например, при D=3,
символ 'a' заменяется символом 'd', символ 'b' заменяется символом 'e' и т.д.
Для тех символов, после которых не существует D символов до конца алфави-
та, поиск замены продолжается, начиная с буквы 'a'. Например, при D=3, сим-
вол 'x' заменяется символом 'a', символ 'y' заменяется символом 'b' и символ
'z' заменяется символом 'c'.
      Поскольку количество букв в слове минимальной длины может быть
больше размера алфавита, смещение для нахождения символа-замены будет
вычисляться по формуле shift=D%26.

    # include 

    // прототип функции вычисления длины символьной строки
    int Length(char* str);

    // прототип функции вычисления количества букв в слове
    // минимальной длины
    int MinLength(char* str);

    // прототип функции шифрования символьной строки

                                            32