Четверг, 25.04.2024, 15:22
Сайт Электронных задачников по программированию
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Вход

Часы
Get Adobe Flash player

Поиск

Soft

Главная » Статьи » Мои статьи

Символы и строки

Символы и строки

При выполнении заданий на обработку русских букв можно считать, что буква «ё» в исходных строковых данных отсутствует.

Символы и строки: основные операции

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

String1.[Pascal] [C#] [VB.NET] Дан символ C. Вывести его код (т. е. номер в кодовой таблице).

String2.[Pascal] [C#] [VB.NET] Дано целое число N (32 ≤ N ≤ 126). Вывести символ с кодом, равным N.

String3.[Pascal] [C#] [VB.NET] Дан символ C. Вывести два символа, первый из которых предшествует символу C в кодовой таблице, а второй следует за символом C.

String4.[Pascal] [C#] [VB.NET] Дано целое число N (1 ≤ N ≤ 26). Вывести N первых прописных (т. е. заглавных) букв латинского алфавита.

String5.[Pascal] [C#] [VB.NET] Дано целое число N (1 ≤ N ≤ 26). Вывести N последних строчных (т. е. маленьких) букв латинского алфавита в обратном порядке (начиная с буквы «z»).

String6.[Pascal] [C#] [VB.NET] Дан символ C, изображающий цифру или букву (латинскую или русскую). Если C изображает цифру, то вывести строку «digit», если латинскую букву — вывести строку «lat», если русскую — вывести строку «rus».

String7.[Pascal] [C#] [VB.NET] Дана непустая строка. Вывести коды ее первого и последнего символа.

String8.[Pascal] [C#] [VB.NET] Дано целое число N (> 0) и символ C. Вывести строку длины N, которая состоит из символов C.

String9°.[Pascal] [C#] [VB.NET] Дано четное число N (> 0) и символы C1 и C2. Вывести строку длины N, которая состоит из чередующихся символов C1 и C2, начиная с C1.

String10°.[Pascal] [C#] [VB.NET] Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке.

String11.[Pascal] [C#] [VB.NET] Дана непустая строка S. Вывести строку, содержащую символы строки S, между которыми вставлено по одному пробелу.

String12.[Pascal] [C#] [VB.NET] Дана непустая строка S и целое число N (> 0). Вывести строку, содержащую символы строки S, между которыми вставлено по N символов «*» (звездочка).

String13.[Pascal] [C#] [VB.NET] Дана строка. Подсчитать количество содержащихся в ней цифр.

String14.[Pascal] [C#] [VB.NET] Дана строка. Подсчитать количество содержащихся в ней прописных латинских букв.

String15.[Pascal] [C#] [VB.NET] Дана строка. Подсчитать общее количество содержащихся в ней строчных латинских и русских букв.

String16.[Pascal] [C#] [VB.NET] Дана строка. Преобразовать в ней все прописные латинские буквы в строчные.

String17.[Pascal] [C#] [VB.NET] Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные.

String18.[Pascal] [C#] [VB.NET] Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные.

String19°.[Pascal] [C#] [VB.NET] Дана строка. Если она представляет собой запись целого числа, то вывести 1, если вещественного (с дробной частью) — вывести 2; если строку нельзя преобразовать в число, то вывести 0. Считать, что дробная часть вещественного числа отделяется от его целой части десятичной точкой «.».

String20.[Pascal] [C#] [VB.NET] Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке слева направо).

String21.[Pascal] [C#] [VB.NET] Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке справа налево).

String22.[Pascal] [C#] [VB.NET] Дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа.

String23.[Pascal] [C#] [VB.NET] Дана строка, изображающая арифметическое выражение вида «<цифра>±<цифра>±…±<цифра>», где на месте знака операции «±» находится символ «+» или «−» (например, «4+7−2−8»). Вывести значение данного выражения (целое число).

String24.[Pascal] [C#] [VB.NET] Дана строка, изображающая двоичную запись целого положительного числа. Вывести строку, изображающую десятичную запись этого же числа.

String25.[Pascal] [C#] [VB.NET] Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку, изображающую двоичную запись этого же числа.

String26.[Pascal] [C#] [VB.NET] Дано целое число N (> 0) и строка S. Преобразовать строку S в строку длины N следующим образом: если длина строки S больше N, то отбросить первые символы, если длина строки S меньше N, то в ее начало добавить символы «.» (точка).

String27.[Pascal] [C#] [VB.NET] Даны целые положительные числа N1 и N2 и строки S1 и S2. Получить из этих строк новую строку, содержащую первые N1 символов строки S1 и последние N2 символов строки S2 (в указанном порядке).

String28.[Pascal] [C#] [VB.NET] Дан символ C и строка S. Удвоить каждое вхождение символа C в строку S.

String29°.[Pascal] [C#] [VB.NET] Дан символ C и строки S, S0. Перед каждым вхождением символа C в строку S вставить строку S0.

String30.[Pascal] [C#] [VB.NET] Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0.

String31.[Pascal] [C#] [VB.NET] Даны строки S и S0. Проверить, содержится ли строка S0 в строке S. Если содержится, то вывести True, если не содержится, то вывести False.

String32.[Pascal] [C#] [VB.NET] Даны строки S и S0. Найти количество вхождений строки S0 в строку S.

String33.[Pascal] [C#] [VB.NET] Даны строки S и S0. Удалить из строки S первую подстроку, совпадающую с S0. Если совпадающих подстрок нет, то вывести строку S без изменений.

String34.[Pascal] [C#] [VB.NET] Даны строки S и S0. Удалить из строки S последнюю подстроку, совпадающую с S0. Если совпадающих подстрок нет, то вывести строку S без изменений.

String35.[Pascal] [C#] [VB.NET] Даны строки S и S0. Удалить из строки S все подстроки, совпадающие с S0. Если совпадающих подстрок нет, то вывести строку S без изменений.

String36.[Pascal] [C#] [VB.NET] Даны строки S, S1 и S2. Заменить в строке S первое вхождение строки S1 на строку S2.

String37.[Pascal] [C#] [VB.NET] Даны строки S, S1 и S2. Заменить в строке S последнее вхождение строки S1 на строку S2.

String38.[Pascal] [C#] [VB.NET] Даны строки S, S1 и S2. Заменить в строке S все вхождения строки S1 на строку S2.

String39.[Pascal] [C#] [VB.NET] Дана строка, содержащая по крайней мере один символ пробела. Вывести подстроку, расположенную между первым и вторым пробелом исходной строки. Если строка содержит только один пробел, то вывести пустую строку.

String40.[Pascal] [C#] [VB.NET] Дана строка, содержащая по крайней мере один символ пробела. Вывести подстроку, расположенную между первым и последним пробелом исходной строки. Если строка содержит только один пробел, то вывести пустую строку.

Анализ и преобразование слов в строке

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

String41°.[Pascal] [C#] [VB.NET] Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Найти количество слов в строке.

String42.[Pascal] [C#] [VB.NET] Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые начинаются и заканчиваются одной и той же буквой.

String43.[Pascal] [C#] [VB.NET] Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые содержат хотя бы одну букву «А».

String44°.[Pascal] [C#] [VB.NET] Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые содержат ровно три буквы «А».

String45.[Pascal] [C#] [VB.NET] Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Найти длину самого короткого слова.

String46.[Pascal] [C#] [VB.NET] Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Найти длину самого длинного слова.

String47.[Pascal] [C#] [VB.NET] Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова, разделенные одним символом «.» (точка). В конце строки точку не ставить.

String48.[Pascal] [C#] [VB.NET] Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Преобразовать каждое слово в строке, заменив в нем все последующие вхождения его первой буквы на символ «.» (точка). Например, слово «МИНИМУМ» надо преобразовать в «МИНИ.У.». Количество пробелов между словами не изменять.

String49.[Pascal] [C#] [VB.NET] Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Преобразовать каждое слово в строке, заменив в нем все предыдущие вхождения его последней буквы на символ «.» (точка). Например, слово «МИНИМУМ» надо преобразовать в «.ИНИ.УМ». Количество пробелов между словами не изменять.

String50.[Pascal] [C#] [VB.NET] Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова, разделенные одним пробелом и расположенные в обратном порядке.

String51.[Pascal] [C#] [VB.NET] Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова, разделенные одним пробелом и расположенные в алфавитном порядке.

String52.[Pascal] [C#] [VB.NET] Дана строка-предложение на русском языке. Преобразовать строку так, чтобы каждое слово начиналось с заглавной буквы. Словом считать набор символов, не содержащий пробелов и ограниченный пробелами или началом/концом строки. Слова, не начинающиеся с буквы, не изменять.

String53.[Pascal] [C#] [VB.NET] Дана строка-предложение на русском языке. Подсчитать количество содержащихся в строке знаков препинания.

String54.[Pascal] [C#] [VB.NET] Дана строка-предложение на русском языке. Подсчитать количество содержащихся в строке гласных букв.

String55.[Pascal] [C#] [VB.NET] Дана строка-предложение на русском языке. Вывести самое длинное слово в предложении. Если таких слов несколько, то вывести первое из них. Словом считать набор символов, не содержащий пробелов, знаков препинания и ограниченный пробелами, знаками препинания или началом/концом строки.

String56.[Pascal] [C#] [VB.NET] Дана строка-предложение на русском языке. Вывести самое короткое слово в предложении. Если таких слов несколько, то вывести последнее из них. Словом считать набор символов, не содержащий пробелов, знаков препинания и ограниченный пробелами, знаками препинания или началом/концом строки.

String57.[Pascal] [C#] [VB.NET] Дана строка-предложение с избыточными пробелами между словами. Преобразовать ее так, чтобы между словами был ровно один пробел.

Символы и строки: дополнительные задания

String58.[Pascal] [C#] [VB.NET] Дана строка, содержащая полное имя файла, т. е. имя диска, список каталогов (путь), собственно имя и расширение. Выделить из этой строки имя файла (без расширения).

String59.[Pascal] [C#] [VB.NET] Дана строка, содержащая полное имя файла, т. е. имя диска, список каталогов (путь), собственно имя и расширение. Выделить из этой строки расширение файла (без предшествующей точки).

String60.[Pascal] [C#] [VB.NET] Дана строка, содержащая полное имя файла. Выделить из этой строки название первого каталога (без символов «\»). Если файл содержится в корневом каталоге, то вывести символ «\».

String61.[Pascal] [C#] [VB.NET] Дана строка, содержащая полное имя файла. Выделить из этой строки название последнего каталога (без символов «\»). Если файл содержится в корневом каталоге, то вывести символ «\».

String62.[Pascal] [C#] [VB.NET] Дана строка-предложение на русском языке. Зашифровать ее, выполнив циклическую замену каждой буквы на следующую за ней в алфавите и сохранив при этом регистр букв («А» перейдет в «Б», «а» — в «б», «Б» — в «В», «я» — в «а» и т. д.). Букву «ё» в алфавите не учитывать («е» должна переходить в «ж»). Знаки препинания и пробелы не изменять.

String63°.[Pascal] [C#] [VB.NET] Дана строка-предложение на русском языке и число K (0 < K < 10). Зашифровать строку, выполнив циклическую замену каждой буквы на букву того же регистра, расположенную в алфавите на K-й позиции после шифруемой буквы (например, для K = 2 «А» перейдет в «В», «а» — в «в», «Б» — в «Г», «я» — в «б» и т. д.). Букву «ё» в алфавите не учитывать, знаки препинания и пробелы не изменять.

String64.[Pascal] [C#] [VB.NET] Дано зашифрованное предложение на русском языке (способ шифрования описан в задании String63) и кодовое смещение K (0 < K < 10). Расшифровать предложение.

String65.[Pascal] [C#] [VB.NET] Дано зашифрованное предложение на русском языке (способ шифрования описан в задании String63) и его расшифрованный первый символ C. Найти кодовое смещение K и расшифровать предложение.

String66.[Pascal] [C#] [VB.NET] Дана строка-предложение. Зашифровать ее, поместив вначале все символы, расположенные на четных позициях строки, а затем, в обратном порядке, все символы, расположенные на нечетных позициях (например, строка «Программа» превратится в «ргамамроП»).

String67.[Pascal] [C#] [VB.NET] Дано предложение, зашифрованное по правилу, описанному в задании String66. Расшифровать это предложение.

String68.[Pascal] [C#] [VB.NET] Дана строка, содержащая цифры и строчные латинские буквы. Если буквы в строке упорядочены по алфавиту, то вывести 0; в противном случае вывести номер первого символа строки, нарушающего алфавитный порядок.

String69.[Pascal] [C#] [VB.NET] Дана строка, содержащая латинские буквы и круглые скобки. Если скобки расставлены правильно (т. е. каждой открывающей соответствует одна закрывающая), то вывести число 0. В противном случае вывести или номер позиции, в которой расположена первая ошибочная закрывающая скобка, или, если закрывающих скобок не хватает, число −1.

String70°.[Pascal] [C#] [VB.NET] Дана строка, содержащая латинские буквы и скобки трех видов: «()», «[]», «{}». Если скобки расставлены правильно (т. е. каждой открывающей соответствует закрывающая скобка того же вида), то вывести число 0. В противном случае вывести или номер позиции, в которой расположена первая ошибочная скобка, или, если закрывающих скобок не хватает, число −1.

Категория: Мои статьи | Добавил: DarzaWar (24.05.2012)
Просмотров: 12328 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024 Сделать бесплатный сайт с uCoz