книги / Программирование на языке Си
..pdf504 |
|
Программирование на языке Си |
|||
|
функциями:*/ |
|
|
|
|
|
а = ус - yt; |
|
|
|
|
|
printf(”\t%lf \t%lf \t%lf \t%le \t%ld \n", |
|
|||
|
x, yc, |
yt, a, shn>sqn?shn:sqn); |
|
||
} /* Конец цикла по x */ |
|
|
|
||
} |
|
|
|
|
|
Р е з у л ь т а т ы : |
|
|
|
|
|
Вычисление функции: у = sqrt(х)*sinh(х) |
|
||||
X |
fl(x) |
f2(x) |
Точность |
Итерации |
|
1 |
1.175201 |
1.175201 |
2.220446е-16 |
11 |
|
1.4 |
2.2532 |
2.2532 |
-4.440892е-16 |
12 |
|
1.8 |
3.947341 |
3.947341 |
0.000000е-00 |
|
13 |
2.2 |
6.610955 |
6.610955 |
0.000000е-00 |
|
14 |
2.6 |
10.794931 |
10.794931 |
0.000000е-00 |
|
15 |
3 |
17.351468 |
17.351468 |
3.552714е-15 |
15 |
|
3.4 |
27.594767 |
27.594767 |
3.552714е-15 |
16 |
|
3.8 |
43.547521 |
43.547521 |
-7.105427е-15 |
17 |
|
4.2 |
68.317789 |
68.317789 |
0.000000е-00 |
|
17 |
4.6 |
106.674264 |
106.674264 |
0.000000е-00 |
|
18 |
5 |
165.923423 |
165.927423 |
0.000000е-00 |
|
19 |
10.3. Работа со строкам и . У казатели, ди нам и чески е одномерны е м ассивы
Порядок выполнения задания (общая схема алгоритма):
1.Запросить у пользователя максимально возможную по ус ловиям задачи длину LenMax строки.
2.Создать динамический символьный массив данного разме ра (LenMax).
3.Запросить у пользователя исходную строку и записать ее в массив, созданный в п. 2.
4.Если длина введенной строки меньше LenMax, изменить количество памяти, выделенной под массив в п.2, (уменьшить размер массива).
506 |
Программирование на языке Си |
Допустимые символы - цифры; прописные и строчные ла тинские буквы.
П ри ме ры: |
|
|
Исходная строка |
Результат |
|
lrK4ABAfgK |
КАВАК |
- палиндром |
BuRAtino |
utino |
- не палиндром |
AT&T |
Недопустимый символ - ’&' |
Вариант 2.
Имеется строка, содержащая буквы и цифры. Преобразуйте эту строку так, чтобы сначала в ней шли все цифры, а потом - все буквы исходной строки.
Допустимые символы - цифры; прописные и строчные ла тинские буквы.
П ри ме ры: |
|
Исходная строка |
Результат |
ad2e57b6 |
2576adeb |
Tom&Jerry |
Недопустимый символ - '&' |
Вариант 3.
Имеется строка, содержащая буквы и цифры. Преобразуйте эту строку так, чтобы сначала в ней шли все буквы, встречаю щиеся в исходной строке, но в обратном порядке, а потом - все цифры исходной строки в прямом порядке.
Вариант: сначала все буквы, потом цифры в обратном по рядке.
Допустимые символы - цифры; прописные и строчные ла тинские буквы.
Примеры: |
|
Исходная строка |
Результат |
ad2e57b6 |
beda2576 |
KARABAS/BARABAS |
Недопустимый символ - '/' |
Вариант 4.
Имеется строка, содержащая буквы и цифры. Преобразуйте эту строку так, чтобы сначала в ней шли все цифры исходной
Глава 10. Задачи по программированию |
507 |
строки, а потом - все буквы исходной строки, но в обратном порядке.
Допустимые символы - цифры; прописные и строчные ла тинские буквы.
Примеры:
Исходная строка |
Результат |
ad2e57b6 |
2576beda |
Стрижем.Kozloff. |
Недопустимый символ - |
Вариант 5.
С клавиатуры вводятся:
•предложение, слова в котором разделены символом под черкивания ('_');
•маска (шаблон) для выбора из предложения нужных слов
(содержит буквы и символ-заполнитель который заме няет любое сочетание букв, в том числе пустое).
Необходимо выбрать из предложения все слова, соответст вующие маске (шаблону).
Допустимые символы - прописные русские буквы; символразделитель
Пример.
ВЫРАЖЕНИЕ_ЕСТЬ_ПРАВИЛО_ПОЛУЧЕНИЯ_ЗНАЧЕНИЯ
Маска |
Подходящие слова |
*Я |
ПОЛУЧЕНИЯ | ЗНАЧЕНИЯ |
*Н*Е |
ВЫРАЖЕНИЕ |
*РА* |
ВЫРАЖЕНИЕ | ПРАВИЛО |
*Е* |
ВЫРАЖЕНИЕ | ЕСТЬ | ПОЛУЧЕНИЯ | ЗНАЧЕНИЯ |
Вариант 6.
Пусть цифрам от 1 до 9 соответствуют буквы от А (а) до I (i). С клавиатуры вводится строка. Составьте новую строку из цифр, соответствующих только данным буквам (прописным и строчным), отсортированным по возрастанию.
Допустимые символы - прописные и строчные латинские буквы.
508 |
Программирование на языке Си |
П р им е р .
Исходная строка: SHiFROVkaOtSHPIonA
Результат: 1168899 (выделены буквы: HiFaHIA)
Вариант 7.
С клавиатуры вводится строка. Выберите из нее все буквы от А(а) до I(i) (строчные преобразуйте в прописные) и отсортируй те их в алфавитном порядке.
Допустимые символы - прописные и строчные латинские буквы.
Пр имер .
Исходная строка: SHiFROVkaOtSHPIonA
Результат: AAFHHII
Вариант 8.
С клавиатуры вводится строка. Выберите из нее все буквы от J (j) до S (s) (строчные преобразуйте в прописные) и отсорти руйте их в алфавитном порядке.
Допустимые символы - прописные и строчные латинские буквы.
П ример . Исходная строка: Результат:
Вариант 9.
С клавиатуры вводится строка. Выберите из нее все буквы от Q (q) до Z (z) (строчные преобразуйте в прописные) и отсорти руйте их в алфавитном порядке.
Допустимые символы - прописные и строчные латинские буквы.
П рим ер .
Исходная строка: SHiFROVkaOtSHPIonA
Результат:
Глава 10. Задачи по программированию |
509 |
Вариант 10 ("Треугольник Паскаля").
Имеется некоторое предложение (слова разделяются симво лами подчеркивания Используя треугольник Паскаля, за шифруйте исходное предложение по следующему правилу:
•из предложения выделяется очередное слово;
•из треугольника Паскаля выбирается строка с номером, равным числу букв в слове;
•k-я буква исходного слова заменяется на букву, отстоящую от исходной на число букв, указанное в k-м столбце вы бранной строки треугольника Паскаля (отсчет производит ся по часовой стрелке, как показано на схеме).
Треугольник |
Паскаля |
|
А |
Б В Г Д Е Ж 3 |
||||
|
|
|
1 |
|
|
Я |
\ |
и |
|
|
1 |
|
|
Ю |
й |
||
|
|
1 |
1 |
|
3 |
к |
К |
|
|
1 |
1 |
2 |
|
ь |
|
л |
|
|
3 |
3 |
1 |
1 |
' ы |
|
м |
|
1 |
1 |
4 |
6 |
4 |
ъ |
|
н |
|
5 |
10 |
10 |
5 |
1 |
щ |
|
О |
|
1 |
б |
15 |
20 |
15 |
6 1 |
ш |
\ ____________ / |
п |
Ч Ц Х Ф У Т С Р
Допустимые символы - прописные русские буквы; символразделитель
Пример:
Исходная строка:
"А_Р03А_УПАЛА_НА_ЛАПУ_А30РА"
Зашифрованная строка:
"Б_ССКБ_ФУЖПБ_ОБ_МГТФ_БЛФФБ"
Вариант 11.
Имеется некоторое предложение, все слова которого разде лены символами подчеркивания ('_'). Используя треугольник Паскаля, зашифруйте исходное предложение по следующему правилу:
•из предложения выделяется очередное слово;
•из треугольника Паскаля выбирается строка с номером, равным числу букв в слове;
510 |
Программирование на языке Си |
•k-я буква исходного слова заменяется на набор одинаковых букв в количестве, указанном в k-м столбце выбранной строки треугольника Паскаля.
Треугольник Паскаля 1
|
|
1 |
1 |
1 |
|
|
|
2 |
1 |
1 |
|
|
1 |
1 |
3 |
3 |
|
|
4 |
6 |
4 |
1 |
|
1 |
1 |
5 |
10 |
10 |
5 |
6 |
15 |
20 |
15 |
6 |
Допустимые символы - прописные русские буквы; символразделитель
Пример.
Исходная строка;
"А_Р03А_УПАЛА_НА_ЛАПУ_А30РА"
Зашифрованная строка;
"А_РОООЗЗЗА_УППППААААААЛЛЛЛА_НА_ЛАААПППУ_АЗЗЗЗ
ООООООРРРРА"
Вариант 12.
Проверить, является ли заданная строка зашифрованной по алгоритму, приведенному в варианте 11. Если да - выдать рас шифрованную строку, если нет - вывести сообщение об ошибке с печатью первого ошибочного слова.
Допустимые символы - прописные русские буквы; символразделитель
Примеры;
Зашифрованная строка:
НА_ДВВВВООООООРРРРЕ_ОССССЕЕЕЕЕЕННННЬ
Результат расшифровки;
НА_ДВОРЕ_ОСЕНЬ
Зашифрованная Строка:
НА_ДВВВВ0000РРРРЕ_ЗИИИМММА
Результат расшифровки:
Ошибка слово 'ДВВВВООООРРРРЕ' не является зашифрованным.
512 |
Программирование на языке Си |
Примечание. Если длина ключа не кратна длине слова, то оставшиеся цифры ключа отбрасываются (как в примере).
Вариант 14.
Напишите дешифратор, преобразующий исходную строку, зашифрованную по принципу, указанному в варианте 13 и со держащую цифры, в слово на русском языке, используя вводи мый набор из десяти допустимых символов.
Допустимые символы - прописные русские буквы (для алфа вита), цифры (для шифра и ключа).
Пример.
Десять |
русских |
букв: |
ВЕЖМНОПРСТ |
Строка |
шифра: |
|
469520336 |
Ключ (3-8 символов): |
1243 |
||
Расшифрованная |
строка: |
МНОЖЕСТВО |
Вариант 15.
Пусть задано некоторое слово. Начать просмотр этого слова слева направо до тех пор, пока не встретятся повторяющиеся буквы. Если такие буквы встретились, пропустить их и продол жить просмотр с конца слова в обратном порядке (справа нале во), пока снова не встретится набор повторяющихся букв. Если такой набор встретился, продолжить просмотр с того места, ко торое следует за первым набором повторяющихся букв и т.д. "Протокол" просмотра строки вывести на экран; вместо после довательности повторяющихся букв выводить один символ подчеркивания.
Допустимые символы - прописные русские буквы.
Пример.
Исходное слово: НОННИЛЛИОН "Протокол" просмотра: НО_НОИ_И
Вариант 16.
Найти в исходной строке все вхождения (но не более девяти) заданной подстроки и заменить их на другую строку с указани ем номера очередного вхождения.
Допустимые символы - прописные русские буквы; символразделитель