напечатать название футбольного клуба столбиком и вывести строку в столбец


НАПЕЧАТАТЬ НАЗВАНИЕ ФУТБОЛЬНОГО КЛУБА СТОЛБИКОМ И ВЫВЕСТИ СТРОКУ В СТОЛБЕЦ

1400 задач по программированию

Дано слово из 12 букв. Поменять местами его трети следующим образом:

а)  первую треть слова разместить на месте третьей, вторую

Дано слово. Переставить первые три и последние три буквы, сохранив порядок их следования. Задачу решить двумя способами:

1)  без использования оператора цикла;

2)  с использованием оператора цикла.

Дано слово. Перенести первые его букв в конец. Задачу решить двумя способами:

Дано название футбольного клуба. Напечатать его на экране «столбиком».

Составить программу, которая печатает заданное слово, начиная с последней буквы.

1. Получить слово 2, образованное нечетными буквами слова 1.

. Получить слово , получаемое путем прочтения слова , начиная с его конца.

Получить строку, состоящую из пяти звездочек (симво-

Получить строку, состоящую из восьми символов «_».

Составить программу, формирующую строку, состоящую из любого заданного количества любых одинаковых сим­ волов.

Дано слово. Добавить к нему в начале четыре символа «+» и в конце – пять символов «–».

Дано слово. Добавить к нему в начале и конце столько звездочек, сколько букв в этом слове.

Даны два слова (первое длиннее второго). Заменить во втором слове соответствующее количество символов на первое слово.

Дано предложение. Напечатать все его буквы .

Дано предложение. Составить программу, которая печатает «столбиком» все вхождения в предложение некоторого символа.

8 / 19


НАПЕЧАТАТЬ НАЗВАНИЕ ФУТБОЛЬНОГО КЛУБА СТОЛБИКОМ И ВЫВЕСТИ СТРОКУ В СТОЛБЕЦ

Обработка строк символов

Дано предложение. Вывести «столбиком» его третий, шестой и т. д. символы.

Дано предложение. Вывести все буквы и в нем.

Дано предложение. Составить программу, которая выводит все вхождения в предложение двух заданных символов.

Дано предложение. Вывести все имеющиеся в нем буквосочетания .

Дано предложение. Вывести «столбиком» все его буквы , стоящие на четных местах.

Дано предложение. Вывести «столбиком» его первый, второй, пятый, шестой, девятый, десятый и т. д. символы.

Дано предложение. Определить число букв в нем.

Дано предложение. Определить число пробелов в нем.

Дано предложение. Определить число вхождений в него некоторого символа.

сколько раз символ «*»?

Дано предложение. Определить, сколько в нем одинаковых соседних букв.

Дано предложение. Определить:

а)  число вхождений в него буквосочетания б)  число вхождений в него некоторого буквосочетания из двух

букв; в)  число вхождений в него некоторого буквосочетания.

Дано предложение. В нем слова разделены одним пробелом (начальные и конечные пробелы и символ «-» в предложении отсутствуют). Определить количество слов в предложении.

Дано предложение. В нем слова разделены одним или несколькими пробелами (символ «-» в предложении отсутствует). Определить количество слов в предложении. Рассмотреть два случая:

1)  начальные и конечные пробелы в предложении отсутствуют­ ; 2)  начальные и конечные пробелы в предложении имеются.

Дан текст. Подсчитать общее число вхождений в него символов «+» и «–».

Дан текст. Определить, сколько в нем предложений.

Дано предложение. Определить, сколько в нем гласных

9 / 19


НАПЕЧАТАТЬ НАЗВАНИЕ ФУТБОЛЬНОГО КЛУБА СТОЛБИКОМ И ВЫВЕСТИ СТРОКУ В СТОЛБЕЦ

Дано предложение. Определить, какая из букв – или

– встречается в ней чаще (принять, что указанные буквы в строке есть).

Дано предложение. Определить, есть ли в нем запятые.

Дано предложение. В нем слова разделены одним пробелом (символ «-» в предложении отсутствует). Верно ли, что число слов в предложении больше трех?

Дано предложение, в котором имеются буквы и . Определить, какая из них встречается позже (при просмотре сло-

Дан текст. Верно ли, что в нем есть пять идущих подряд одинаковых символов?

Дано предложение. Напечатать все его символы, предшествующие первой запятой. Рассмотреть два случая:

1)  известно, что в предложении запятые имеются; 2)  в предложении запятых может не быть.

Дано предложение, в котором слова разделены двумя пробелами (начальных и конечных пробелов нет). Определить первое слово.

Дано предложение, в слова разделены одним пробелом (начальных и конечных пробелов нет). Определить последнее слово.

Дано предложение, в котором слова разделены двумя пробелами (начальных и конечных пробелов нет). Определить первое, второе и третье слова. Принять, что в заданном предложении есть не менее четырех слов.

Дано предложение, в котором слова разделены одним пробелом (начальных и конечных пробелов нет). Определить два последних слова. Принять, что в заданном предложении есть не менее трех слов.

Дано предложение, в котором слова разделены одним пробелом (начальных и конечных пробелов нет). Определить первые 6 слов, используя инструкции цикла. Принять, что в заданном предложении есть не менее семи слов.

В операционной системе Windows полное имя файла состоит из буквы диска, после которого ставится двоеточие и символ «», затем через такой же символ перечисляются подкаталоги

10 / 19


НАПЕЧАТАТЬ НАЗВАНИЕ ФУТБОЛЬНОГО КЛУБА СТОЛБИКОМ И ВЫВЕСТИ СТРОКУ В СТОЛБЕЦ

(папки), в которых находится файл, в конце пишется имя файла

Дано некоторое полное имя файла. « Разобрать» его на части, разделенные символом «». Каждую часть вывести в отдельной строке.

Дано предложение, в котором слова разделены одним пробелом (начальных и конечных пробелов нет). Определить самое «длинное» слово.

Дано предложение, в котором имеется несколько букв

а)  порядковый номер первой из них; б)  порядковый номер последней из них.

Дано предложение. Определить, есть ли буква в нем.

случае положительного ответа найти также порядковый номер первой из них.

Дано слово. Проверить, является ли оно палиндромом (палиндром читается одинаково в обоих направлениях, например «потоп»).

Дан текст. Определить количество букв в первом предложении. Рассмотреть два случая:

1)  известно, что буквы в этом предложении есть; 2)  букв в тексте может не быть.

Дана последовательность символов, в начале которой имеется некоторое количество одинаковых символов. Определить это количество. Рассмотреть два случая:

1)  известно, что не все символы последовательности одинаковые;

2)  все символы последовательности могут быть одинаковыми.

Даны два слова. Определить, сколько начальных букв первого слова совпадает с начальными буквами второго слова.

1)  известно, что слова разные;

2)  слова могут быть одинаковыми.

Дано предложение, в котором нет символа «-». Определить количество букв в первом слове. Учесть, что в начале предложения могут быть пробелы.

Дано предложение. Определить количество букв , предшествующих первой запятой предложения. Рассмотреть два случая:

11 / 19


НАПЕЧАТАТЬ НАЗВАНИЕ ФУТБОЛЬНОГО КЛУБА СТОЛБИКОМ И ВЫВЕСТИ СТРОКУ В СТОЛБЕЦ

1)  известно, что запятые в предложении есть; 2)  запятых в предложении может не

Дано предложение. Определить порядковые номера первой пары одинаковых соседних символов. Если таких символов нет, то должно быть напечатано соответствующее сообщение.

Дано предложение. Определить, есть ли в нем буквосочетания или . В случае положительного ответа найти также порядковый номер первой буквы первого из них.

Дана последовательность слов. Проверить, правильно ли в ней записаны буквосочетания и .

Дана последовательность слов. Проверить, правильно ли в ней записаны буквосочетания и . Исправить ошибки.

нет, то должны быть напечатаны все символы, расположенные после единственной имеющейся запятой.

– встречается в ней раньше при просмотре слева направо (принять, что указанные буквы в строке есть).

Дана строка, в которой есть слово . Определить, сколько раз оно встречается.

Дана строка. Определить, образует ли подстрока, начинающаяся с символа номер и заканчивающаяся символом номер , число 666.

Дано предложение. Все буквы в нем заменить бук-

Дано предложение. Все пробелы в нем заменить симво-

Дано предложение. Все его символы, стоящие на четных местах, заменить буквой .

Дано предложение. Все его символы, стоящие на треть­ ем, шестом, девятом и т. д. местах, заменить буквой .

Дано предложение. Заменить в нем все вхождения буквосочетания на .

12 / 19


НАПЕЧАТАТЬ НАЗВАНИЕ ФУТБОЛЬНОГО КЛУБА СТОЛБИКОМ И ВЫВЕСТИ СТРОКУ В СТОЛБЕЦ

Заменить в заданной строке все вхождения некоторой подстроки на другую подстроку.

Символьной строке по ошибке вместо присвоено значение . Изменить значение так, чтобы ошибки не было.

Дано слово. Поменять местами его вторую и пятую буквы.

Дано слово. Поменять местами его -ю и -ю буквы. Дано слово из четного числа букв. Поменять местами

первую букву со второй, третью – с четвертой и т. д.

Дано слово из четного числа букв. Поменять местами его половины следующим способом: первую букву поменять с последней, вторую – с предпоследней и т. д.

Дано слово из 12 букв. Переставить в обратном порядке буквы, расположенные между второй и десятой буквами (т. е. с третьей по девятую).

Дано слово из 15 букв. Переставить в обратном порядке буквы, расположенные между -й и -й буквами (т. е. с (+ 1)-й по ( – 1)-ю). Значения и вводятся с клавиатуры, < .

Дано слово. Поменять местами первую из букв и последнюю из букв . Учесть возможность того, что таких букв в слове может не быть.

В под удалением символа из символьной строки следует понимать:

1)  исключение этого символа из строки путем смещения всех следующих за ним символов влево на одну позицию; 2)  присваивание последнему символу исходной строки зна-

Устранить имеющуюся в заданном слове ошибку: а)  дано слово б)  дано слово .

а)  Удалить из него третью букву. б)  Удалить из него -ю букву. Дано слово.

а)  Удалить из него первую из букв , если такая буква есть. б)  Удалить из него последнюю из букв , если такая буква есть.

13 / 19


НАПЕЧАТАТЬ НАЗВАНИЕ ФУТБОЛЬНОГО КЛУБА СТОЛБИКОМ И ВЫВЕСТИ СТРОКУ В СТОЛБЕЦ

Дано слово. Если его длина нечетная, то удалить среднюю букву, в противном случае – две средние буквы.

Дано предложение. Удалить из него все символы с 1-го по 2-й (1 ≤ 2).

Дано предложение. Удалить из него все буквы . Дана строка. Удалить из нее все .

Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, т. е. в слове должны остаться только различные буквы.

Дано предложение. Удалить из него все буквы , стоящие на нечетных местах.

Проверить, является ли палиндромом (см. ) следующая символьная строка после удаления из нее всех пробелов:

а)  АРГЕНТИНА МАНИТ НЕГРА; б)  ПОТ КАК ПОТОП;

в)  А РОЗА УПАЛА НА ЛАПУ АЗОРА.

Во всех задачах последние символы «_», полученные после удаления пробелов, не учитывать.

В под вставкой символа в символьную строку после -го символа следует понимать:

1)  смещение всех символов начиная с ( + 1)-го вправо на одну позицию;

2)  присваивание ( + 1)-му символу строки значения .

Дано слово . Исправить ошибку в нем. Дана фраза . Исправить ошибку в ней. Дано слово, оканчивающее символом «_». Вставить

букву после -й буквы.

Дано слово, оканчивающее символом «_». Составить программу, которая вставляет некоторую заданную букву после буквы с заданным номером.

Дано слово, оканчивающее символом «_». Вставить заданную букву после первой буквы .

Дано предложение, оканчивающее символом «_». Вставить заданную букву перед последней буквой .

Путем вставок и удаления символов исправить ошибки:

а)  в слове б)  во фразе

14 / 19


НАПЕЧАТАТЬ НАЗВАНИЕ ФУТБОЛЬНОГО КЛУБА СТОЛБИКОМ И ВЫВЕСТИ СТРОКУ В СТОЛБЕЦ

в)  во фразе програма и аллгоритмг)  во фразе процесор и паммять

Дано ошибочно написанное слово . Путем перемещения его букв получить слово .

Дана строка, состоящая только из букв. Заменить все буквы «a» на буквы «б» и наоборот, как заглавные, так и строчные. Например, при вводе строки «абвАБВ» должен получиться результат «бавБАВ».

Дан символ. Выяснить, является ли он цифрой.

15 / 19


НАПЕЧАТАТЬ НАЗВАНИЕ ФУТБОЛЬНОГО КЛУБА СТОЛБИКОМ И ВЫВЕСТИ СТРОКУ В СТОЛБЕЦ

Дан текст. Напечатать все имеющиеся в нем цифры. Дан текст. Определить количество цифр в нем. Дан текст, в котором имеются цифры.

а)  Найти их сумму.

б)  Найти максимальную цифру.

Дан текст, в начале которого имеются пробелы и в котором имеются цифры. Найти порядковый номер максимальной цифры, начиная счет с первого символа, не являющегося пробелом. Если максимальных цифр несколько, то должен быть найден номер первой из них.

Дан текст. Определить, является ли он правильной десятичной записью целого числа.

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

Дан текст. Найти наибольшее количество идущих подряд цифр.

Дан текст, в котором имеется несколько идущих под-

Дан текст. Найти максимальное из имеющихся в нем чисел.

Определить количество цифр в заданном натуральном числе, не выделяя каждую отдельную цифру.

Дано положительное вещественное число. Определить количество цифр:

а)  в его целой части; б)  в его дробной части.

Функции для работы с вещественными числами не использовать.

Дана строка, в которой без пробелов записано арифметическое выражение в виде суммы трех натуральных чисел, например «1+25+3». Вычислить эту сумму.

16 / 19


НАПЕЧАТАТЬ НАЗВАНИЕ ФУТБОЛЬНОГО КЛУБА СТОЛБИКОМ И ВЫВЕСТИ СТРОКУ В СТОЛБЕЦ

Задачи повышенной сложности

Дано предложение. Найти наибольшее количество идущих подряд пробелов.

Дан текст. Найти наибольшее количество идущих подряд одинаковых символов.

Дано слово. Определить,сколько различных букв в нем. В слове имеется только две одинаковые буквы. Найти их. Даны два слова. Для каждой буквы первого слова (в том числе для повторяющихся в этом слове букв) определить, входит ли она во второе слово. Например, если заданные слова и , то для букв первого из них ответом должно

нет нет нет да да нет нет да нет нет

Даны два слова. Для каждой буквы первого слова определить, входит ли она во второе слово. Повторяющиеся буквы первого слова не рассматривать. Например, если заданные слова и , то для букв первого из них ответом должно быть: нет да да да нет нет.

Даны два слова. Напечатать только те буквы слов, которые есть лишь в одном из них (в том числе повторяющиеся).

Даны два слова. Напечатать только те буквы слов, которые встречаются в обоих словах лишь один раз. Например, если заданные слова и ,то ответом должно быть:

п е ф м а я

Даны два слова. Определить, можно ли из букв первого из них получить второе. Рассмотреть два варианта:

1)  повторяющиеся буквы второго слова могут в первом слове не повторяться;

2)  каждая буква второго слова должна входить в первое слово столько же раз, сколько и во второе.

Даны три слова. Напечатать только те буквы слов, которые есть лишь в одном из слов. Рассмотреть два варианта:

1)  повторяющиеся буквы каждого слова рассматриваются;

2)  повторяющиеся буквы каждого слова не рассматриваются. Данытри слова. Напечататьих общие буквы. Повторяю­

щиеся буквы каждого слова не рассматривать.

17 / 19

Все символы

9.34. Дано название футбольного клуба.
Напечатать его на экран столбиком.

9.35. Составить программу, которая печатает,
заданное слово, начиная с последней
буквы.

9.36. Дано слово s1, Получить
слово s2, образованное
нечетными буквами слова s1.

9. 37. Дано слово s. Получить
слово t, получаемое
путем прочтения слова s,
начиная с его конца.

9.38. Получить строку, состоящую из пяти
звездочек, т.е. символов.

9.39. Получить строку, состоящую из восьми
символов.

9.40. Составить программу, формирующую
строку, состоящую из любого заданного
количества любых одинаковых символов.

9.41. Дано слово. Добавить к нему в начале
4 символа “+” и в конце — 5 символов
“—”.

9.42. Дано слово. Добавить к нему в начале
и в конце столько звездочек, сколько
букв в этом слове.

9.43. Дано предложение. Напечатать все
его буквы “и”.

9.44.
Дано предложение. Составить программу,
которая печатает столбиком все вхождения
в предложение некоторого символа.

9.45. Дано предложение. Вывести столбиком
его третий, шестой и т.д. символы.

Сложное условие

9.46. Дано предложение. Вывести все буквы
«м» и «н» в нем.

9.47. Дано предложение. Составить программу,
которая выводит все вхождения в
предложение заданного слога из двух
символов.

9.48. Дано предложение. Вывести все
имеющиеся в нем буквосочетания “нн”.

9.49. Дано предложение. Вывести столбиком
все его буквы “и”, стоящие на четных
местах.

9.50. Дано предложение. Вывести столбиком
его первый, второй,
пятый, шестой, девятый, десятый и т.д.
символы.

9.51. Дано предложение. Определить число
букв “о” в нем.

9.52. Дано предложение. Определить число
пробелов в нем.

9.53. Дано предложение. Определить число
вхождений в него некоторого символа.

9.54. Дано предложение. Определить долю
(в %) букв “а” в нем.

9.55. Дан текст. Сколько раз в нем встречается
символ «+» и сколько раз символ «*» ?

9.56. Дано предложение. Определить, сколько
в нем одинаковых соседних букв.

9.
57. Дано предложение. Определить:

а)
число вхождений в него буквосочетания
“ро”;

б) число вхождений в него некоторого
буквосочетания из двух букв;

в) число вхождений в него некоторого
буквосочетания.

9.58. Дано предложение. В нем слова разделены
одним пробелом (начальные и конечные
пробелы и символ «-» в предложении
отсутствуют). Определить количество
слов в предложении.

9.59. Дано предложение. В нем слова разделены
одним или несколькими пробелами (символ
“—” в предложении отсутствует).
Определить количество слов в предложении.
Рассмотреть два случая:

а) начальные и конечные пробелы в
предложении отсутствуют;

б) начальные и конечные пробелы в
предложении имеются.

9.60. Дан текст. Подсчитать общее число
вхождений в него символов «+» и «-».

9.61. Дана фраза. Определить, сколько в
ней предложений.

9.62. Дано предложение. Определить, сколько
в негласных букв.

9.63. Дано предложение. Все буквы “е”
в нем заменить на букву “и”.

9.64. Дано предложение. Все пробелы в нем
заменить на символ «*».

9.65. Дано предложение. Все его символы,
стоящие на четных местах, заменить на
букву “ы”.

9.66. Дано предложение. Все его символы,
стоящие на третьем, шестом, девятом и
т.д. местах, заменить на букву “А”.

9.67. Дано предложение. Заменить в нем все
вхождения буквосочетания
“ах” на “ух”.

9.68. Дано предложение. Заменить в нем все
вхождения буквосочетания
“да” на “не”.

9.69. Дано предложение. Заменить в нем все
вхождения буквосочетания
“про” на “нет”.

9.70. Дано предложение. Заменить в нем все
вхождения буквосочетания
“бит” на “рог”.

9.71. Дано предложение. Заменить в нем все
вхождения подстроки
Str1 на подстроку Str2.

9.72. Дано предложение. Найти наибольшее
количество идущих
подряд пробелов.

9.73. Дан текст. Найти наибольшее количество
идущих подряд
одинаковых символов.

9.74. Дан символ. Выяснить, является ли он
цифрой.

9.75. Дан текст. Напечатать все имеющиеся
в нем цифры.

9.76.
Дан текст. Определить количество цифр
в нем.

9.77.
Дан текст, в котором имеются цифры.

а)
Найти их сумму.

б)
Найти максимальную цифру.

9.78. Дан текст, в начале которого имеются
пробелы и в котором имеются цифры. Найти
порядковый номер максимальной цифры,
считая, что первый номер имеет первый
не пробел. Если максимальных цифр
несколько, то должен быть найден номер
первой из них.

9.79. Дан текст. Определить, является ли
он правильной десятичной записью целого
числа.

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

9.81. Дан текст, имеющий вид:

9.82.
Дан текст, имеющий вид:

9.83.
Дан текст, имеющий вид:


НАПЕЧАТАТЬ НАЗВАНИЕ ФУТБОЛЬНОГО КЛУБА СТОЛБИКОМ И ВЫВЕСТИ СТРОКУ В СТОЛБЕЦ

9.84. Дан текст. Найти наибольшее количество
идущих подряд цифр.

9.85. Дан текст, в котором имеется несколько
идущих подряд цифр. Получить число,
образованное этими цифрами.

9.86. Дан текст. Найти сумму всех имеющихся
в нем чисел.

– изучить приемы
работы с символьными и строковыми типами
данных;

– изучить
подпрограммы для работы с символьными
и строковыми данными;

– освоить приёмы
работы с перечисляемым типом данных.

Символьный тип данных

Любой текст состоит
из символов. Для хранения одного символа
предназначен тип данных char. Переменную
типа char можно рассматривать двояко: как
целое число, занимающее 1 байт и способное
принимать значения от 0 до 255 (тип unsigned
char) или от -128 до 127 (тип signed char) и как один
текстовый символ. Сам же тип char может
оказаться как знаковым, так и беззнаковым,
в зависимости от операционной системы
и компилятора. Поэтому использовать
тип char не рекомендуется, лучше явно
указывать будет ли он знаковым (signed) или
беззнаковым (unsigned).

Как и целые числа,
данные типа char можно складывать, вычитать,
умножать, делить, а можно выводить на
экран в виде одного символа. Именно это
и происходит при выводе символа через
объект cout. Если же нужно вывести числовое
значение символа (также называемый
ASCII-кодом), то значение символа необходимо
преобразовать к типу int. Например:

using namespace std;

unsigned char c=’A’;
// Константы char заключаются в одинарные
кавычки

c=126; // char
можно присвоить и числовое значение

В этом примере
переменной с типа char присваивается
значение, равное символу ‘A’ (константы
типа char записываются как символы в
одинарных кавычках), затем на экран
выводится значение c, как символа и его
ASCII-код, потом переменной c присваивается
значение 126 (то есть символ с ASCII-кодом
126) и снова выводится на экран символ и
его ASCII-код.

Организовать
последовательное посимвольное считывание
всего входного потока можно при помощи
цикла while:

В этом примере
программа будет посимвольно считывать
входной поток (по умолчанию — ввод
с клавиатуры), пока не встретит признак
конца файла. Для того, чтобы сообщить
программе о завершении файла при вводе
с клавиатуры необходимо нажать клавиши
Ctrl-d в системе Linux и Ctrl-z в системе Windows.

Строка представляет
собой массив значений типа char, завершающийся
нулевым байтом. Каждый символ в строке
— это на самом деле целое битовое
значение кода ASCII, соответствующее
отображаемому символу или операции,
например возврату каретки или переводу
строки.

Однако массивы
типа char – символьные массивы – занимают
в языке особое место. Во многих языках
есть специальный тип данных – строка
символов (string). В языке С отдельного типа
строки символов нет, а реализована
работа со строками путем использования
одномерных массивов типа char.

В языке С символьная
строка – это одномерный массив типа
char, заканчивающийся нулевым байтом.
Нулевой байт – это байт, каждый бит
которого равен нулю. Для нулевого байта
определена специальная символьная
константа ”. Это следует учитывать при
описании соответствующего массива
символов. Так, если строка должна
содержать N символов, то в описании
массива следует указать N+1 элемент.

Хотя в языке С нет
специального типа строки, язык допускает
строковые константы. Строковая константа
– это список литер, заключенных в двойные
кавычки. Например,

“Borland СИ”,
“Это строковая константа”.

Есть два простых
способа ввести строку с клавиатуры.
Первый способ -воспользоваться функцией
scanfO со спецификатором ввода %s. Надо
помнить, что функция scanf() вводит символы
до первого пробельного символа. Второй
способ – воспользоваться специальной
библиотечной функцией gets(), объявленной
в файле stdio.h. Функция gets() позволяет
вводить строки, содержащие пробелы.
Ввод оканчивается нажатием клавиши
Enter. Обе функции автоматически ставят
в конец строки нулевой байт. Не забудьте
зарезервировать для него место. В
качестве параметра в этих функциях
используется просто имя массива.

Вывод строк
производится функциями printfO или puts().
Обе функции выводят содержание массива
до первого нулевого байта. Функция
puts() добавляет в конце выводимой строки
символ новой строки. В функции printf()
переход на новую строку надо предусматривать
в строке формата самим.

Для работы со
строками в С имеется богатая библиотека
строковых функций (все они начинаются
с букв str)
string.h.
Рассмотрим основные из них.

Функция strlen(s)
возвращает длину строки, выраженную в
символах.

Перечислимый тип
(enumeration) – это множество поименованных
целых констант. Перечислимый тип
определяет все допустимые значения,
которые могут иметь переменные этого
типа. Основная форма объявления типа
следующая:

enum имя_типа
(список_названий) список переменных:

Список переменных
может быть пустым. Пример определения
перечислимого типа и переменной данного
типа:

enum seasons s;

Ключом к пониманию
сущности перечислимого типа является
то, что каждое из имен win, spr, sum и aut
представляет собой целую величину. Если
эти величины не определены по-другому,
то по умолчанию они соответственно
равны нулю, единице, двум и трем. Оператор

printf (“%d %d”,
win, aut);

выдаст на экран
числа 0 и 3. Во время объявления типа
можно одному или нескольким символам
присвоить другие значения, например:

prinlf (“%d %d %d %d
%d
“, one, two, ten, thouthend, next);

то на экране
появятся числа 1 2 10 1000 1001, т. е. каждый
следующий символ увеличивается на
единицу по сравнению с предыдущим, если
нет другого присваивания.

С переменными
перечислимого типа можно производить
следующие операции:

Нельзя использовать
арифметические операции и операции ++
и — к переменных типа enum.

Основная причина
использования перечислимого тина – это
улучшение читаемости программ.

Пример 1. Вывод
алфавита на экран.

cout <<
"Буквы
" << alphabet;

Пример 2. Переворот
строки.

Пример 4. Поиск
самой внутренней скобки.

int i, k, max, b;

if (k!=0) return 0;

return b; }

2.
Дано название футбольного клуба.
Определить количество символов в нем.

3.
Дано название города. Определить, четно
или нет количество символов в нем.

4. Даны две фамилии.
Определить, какая из них длиннее.

5. Дано слово.

6.
Даны два слова. Верно ли, что первое
слово начинается на ту же букву, которой
оканчивается вто­рое слово?

7.
Составить программу, которая запрашивает
отдельно имя и отдельно фамилию, а затем
выводит их как одну символьную строку.

8.
Из слова “яблоко” путем вырезок
его букв по­лучить слова “блок”
и “око”.

9.
Из слова “информатика” путем вырезок
его букв получить слова “форма” и
“тик”.

10.
Из слова “вертикаль” путем вырезок
и склеек его букв получить слова “тир”
и “ветка”.

11.
Из слова “программа” путем вырезок
и склеек его букв получить слова “ром”
и “рампа”.

12.
Из слова “трос” путем вырезок и
склеек его букв получить слова “сорт”,
“рост” и “торс”.

13.
Из слова “клоун” путем вырезок и
склеек его букв получить слова “уклон”,
“кулон” и “колун”.

14.
Из слова “апельсин” путем вырезок
и склеек его букв получить слово
“спаниель”.

15.
Из слова “вирус” путем замены его
букв полу­чить слово “фокус”.

16.
Из слова “курсор” путем замены его
букв получить слово “танцор”.

17.
Из слова “пробел” путем замены его
букв по­лучить слово “продел”.

18. Из слова “строка”
путем замены его букв получить слово
“строфа”.

19.
Из слова “муха” путем замены его
букв полу­чить слово “слон”.

20.
Из слова “тетрадь” путем замены
его букв получить слово “дневник”.

21. Дано
название футбольного клуба. Напечатать
его на экран столбиком.

22.
Получить
строку, состоящую из пяти звездо­чек,
т.е. символов
“*”.

23.
Получить строку, состоящую из восьми
симво­лов
“_”.

24.
Составить
программу, формирующую строку, состоящую
из любого заданного количества любых
оди­наковых символов.

25.
Дано слово. Добавить к нему в начале
4 симво­ла
“+” и
в конце
5 символов
“—”.

26. Дано
предложение. Напечатать все его буквы
“и”.

27.
Дано предложение. Составить программу,
ко­торая печатает столбиком все
вхождения в предложе­ние некоторого
символа.

28. Дано слово из
четного числа букв. Поменять местами
его половины. Задачу решить двумя
способами: без использования оператора
цикла; с использованием оператора
цикла.

29. Составить
программу, которая печатает задан­ное
слово, начиная с последней буквы.

30. Дано предложение.
Вывести столбиков все его символы.

1. Дано слово из
12 букв.
Поменять местами его трети следующим
образом:

2.
Дано слово. Переставить первые три и
послед­ние три буквы, сохранив порядок
их следования. Зада­чу решить двумя
способами: без использования оператора
цикла; с использованием оператора цикла.

3.
Дано слово. Перенести первые k
его букв в конец.

4.
Дано слово s1.
Получить слово s2,
образован­ное нечетными буквами слова
s1.

5.
Дано слово s.
Получить слово t,
получаемое пу­тем прочтения слова
s,
начиная с его конца.

6.
Дано слово. Добавить к нему в начале и
в кон­це столько звездочек, сколько
букв в этом слове.

8.
Дано предложение. Определить:

9. Дан
текст. Подсчитать общее число вхождений
в него символов
“+” и
“—”.

10.
Дана фраза. Определить, сколько в ней
предло­жений.

12. Дан
символ. Выяснить, является ли он цифрой.

13.
Дан текст.
Напечатать
все имеющиеся в нем цифры. Определить
количество цифр в нем.

14. Дан текст.
Определить, является ли
он пра­вильной
десятичной записью целого числа.

15. Дано
предложение. Определить, каких букв в
нем больше: “м” или “н”.

16.
Дано предложение. В нем слова разделены
одним пробелом (символ
” — ”
в предложении отсутствует).
Вер­но ли, что число слов в предложении
больше трех.

17.
Дано предложение, в котором имеются
буквы “с” и “т”. Определить,
какая из них встречается позже (при
просмотре слова слева направо). Если
таких букв несколько, то должны учитываться
последние из них. Оператор цикла с
условием не использовать.

18.
Дан текст. Верно ли, что в нем есть пять
иду­щих подряд одинаковых символов?

19.
Дано предложение. Напечатать все его
симво­лы, предшествующие первой
запятой. Рассмотреть два случая: известно,
что в предложении запятые имеются; в
предложении запятых может не быть.

20.
Дано предложение, в котором имеется
несколь­ко букв “е”. Найти:

21.
Дано предложение. Определить, есть ли
в нем буква “а”. В случае положительного
ответа найти так­же порядковый номер
первой из них.

22.
Дано слово. Проверить, является ли оно
пере­вертышем (перевертышем называется
слово, читаемое одинаково как с начала,
так и с конца).

23.
Дан текст. Определить количество букв
“и” в первом предложении. Рассмотреть
два случая:

24. Дано
предложение, в котором нет символа
“—”. Определить
количество букв “о” в первом слове.
Учесть, что в начале предложения могут
быть пробелы.

25. Дано предложение.
Определить количество букв “н”,
предшествующих первой запятой
предложе­ния. Рассмотреть два случая:

26. Дана
последовательность слов.
Проверить,
правильно
ли в ней записаны сочетания “жи” и
“ши”. Проверить, правильно ли в ней
записаны сочетания “ча” и “ща”.
Исправить ошибки.

27.
Дано предложение. Напечатать все символы,
расположенные между первой и второй
запятой. Если второй запятой нет, то
должны быть напечатаны все символы,
расположенные после единственной
имею­щейся запятой.

28.
Дано предложение, в котором имеются
одна буква “с” и одна буква “т”.
Определить, какая из них встречается
раньше (при просмотре слова слева
направо).

29.
Символьной строке по ошибке вместо
“опе­чатка” присвоено значение
“очепатка”. Изменить зна­чение
s так, чтобы
ошибки не было.

30.
Дано слово. Поменять местами его m-ю
и п-ю буквы.
Поменять местами первую из букв “а”
и последнюю из букв “о”. Учесть
возможность того, что таких букв в слове
может не быть.

31.
Дано слово из четного числа букв. Поменять
местами первую букву со второй, третью
— с
четвер­той и т.д. Поменять местами
его половины следующим способом: первую
букву поменять с последней, вторую
— с
предпослед­ней и т.д.

32.
Дано слово из
12 букв.
Переставить в обрат­ном порядке буквы,
расположенные между второй и десятой
буквами (т.е. с третьей по девятую).

33.
Дано слово из
15 букв.
Переставить в обрат­ном порядке буквы,
расположенные между
k-й
и
s-й
буквами
(т.е. с (k
+ 1)-й по (s
-1)-ю). Значения
k
и s
вводятся с клавиатуры,
k
< s.

34.
Устранить имеющуюся в заданном слове
ошибку:

а) дано слово
“глинянный”;

б) дано слово
“граффика”.

36. Дано
слово, оканчивающееся
символом
“_”. Вставить
заданную букву после первой
буквы “и”.

37.
Дано предложение, оканчивающееся
симво­лом
“__”.
Вставить заданную букву перед последней
бук­вой “и”.

38.
Путем вставок и удаления символов
испра­вить ошибки:

39.
Дано ошибочно написанное слово
“рпроцессo”.
Путем
перемещения его букв получить слово
“процессор”. Аналогично для слов:

1.
Дано предложение. В нем слова разделены
од­ним пробелом (начальные и конечные
пробелы и сим­вол
“—”
в предложении отсутствуют). Определить
ко­личество слов в предложении.

2.
Дано предложение. В нем слова разделены
од­ним или несколькими пробелами
(символ
“—”
в пред­ложении отсутствует). Определить
количество слов в предложении. Рассмотреть
два случая:

3.
Дано предложение. Найти наибольшее
количе­ство идущих подряд пробелов.

4.
Дан текст. Найти наибольшее количество
иду­щих подряд одинаковых символов.

5.
Дан текст, в котором имеются цифры.

6.
Дан текст, в начале которого имеются
про­белы и в котором имеются цифры.
Найти порядковый номер максимальной
цифры, считая, что первый номер имеет
первый непробел. Если максимальных цифр
несколько, то должен быть найден номер
пер­вой из них.

7.
Дан текст, представляющий
собой
десятич­ную запись целого числа.
Вычислить сумму цифр
этого числа.1.

11.
Дан текст. Найти наибольшее
количество
иду­щих подряд цифр.

12.
Дан текст, в котором имеется несколько
иду­щих подряд цифр. Получить число,
образованное этими цифрами.

13.
Дана последовательность символов, в
начале ко­торой имеется некоторое
количество одинаковых симво­лов.
Определить это количество. Рассмотреть
два случая:

14.
Даны два слова. Определить, сколько
началь­ных букв первого слова совпадает
с начальными бук­вами второго слова.
Рассмотреть два случая:

15.
Дано предложение. Определить порядковые
номера первой пары одинаковых
“соседних”
симво­лов. Если таких символов нет,
то должно быть напеча­тано соответствующее
сообщение. Определить, есть ли в нем
сочетания “чу” или “щу”. В
случае положительного ответа найти
также порядковый номер первой буквы
первого из них.

17.
Проверить, является ли некоторая
сим­вольная строка перевертышем
после
удаления из нее всех пробелов Последние
символы
“__”,
полученные после удаления пробелов, не
учитывать.

19.
В слове имеются только две одинаковых
бук­вы. Найти их.

20. Даны два слова.

21. Даны
три слова.

22.
Дано предложение из
10 слов.
Заполнить ими массив из
10 элементов.

24. Напечатать все
слова
предложения, предварительно
преобразовав каждое из них по следу­ющему
правилу:

25. Напечатать те
слова последовательности, которые
отличны от первого слова и удовлетворяют
следующему свойству:

а) в слове нет
повторяющихся букв;

26.
Даны два предложения.

27.
Дан текст. Проверить, правильно ли в нем
рас­ставлены круглые скобки (то есть,
находится ли справа от каждой открывающей
скобки соответствующая ей зак­рывающая
скобка, а слева от каждой закрывающей
— соответствующая
ей открывающая). Предполагается, что
внутри каждой пары скобок нет других
скобок.

Ответом должны
служить слова “да” или “нет”.

В случае
“неправильности” расстановки
скобок:

— если имеются
лишние правые
(закрывающие)
скобки, то выдать сообщение с указанием
позиции
пер­вой такой скобки;

— если имеются
лишние левые (открывающие) скоб­ки,
то выдать сообщение с указанием количества
таких скобок.

28.
Строка содержит арифметическое выражение,
в котором используются круглые скобки,
в том числе вложенные. Проверить,
правильно ли в нем расставле­ны скобки.

— если имеются
лишние правые (закрывающие) скобки, то
выдать сообщение с указанием позиции
пер­вой такой скобки;

Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи.
Решены задачи 1, 3, 7 — 11 . Не решены: 2, 4-6, 12.

Задачи

NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.

Про урокцифры:  ЧИСЛО КАК ЦИФРА В ИНФОРМАТИКЕ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *