Уроки C++ / #10 урок - Строки и символы

preview_player
Показать описание
_______
Автор:
Михаил Густокашин
Куратор академических программ Яндекса Директор центра студенческих олимпиад факультета компьютерных наук ВШЭ, методист московского Центра педагогического мастерства. Готовит студентов и школьников к олимпиадам по программированию. Возглавляет методическую комиссию Московской олимпиады школьников по информатике, состоит в жюри многих других соревнований. Подготовил десятки победителей и призёров Всероссийских олимпиад.
_____________________________________________________________
Задача №1
По введенному символу определите, является ли он цифрой.

Входные данные

Вводится единственый символ.

Выходные данные

Выведите "yes", если символ является цифрой и "no" в противном случае. Обратите внимание, что слова нужно выводить маленькими буквами.

Sample Input 1:

1
Sample Output 1:

yes
Sample Input 2:

a
Sample Output 2:

no
_____________________________
Задача №2
Переведите символ в верхний регистр.

Входные данные

Вводится единственый символ.

Выходные данные

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

Sample Input:

b
Sample Output:

B
_____________________________________
Задача №3
Вводится один символ, измените его регистр. То есть, если была введена строчная буква - сделайте ее заглавной и наоборот. Символы, не являющиеся латинской буквой, нужно выводить без изменений.

Входные данные

Вводится единственый символ.

Выходные данные

Выведите ответ на задачу.

Sample Input:

b
Sample Output:

B
______________________________________
Задача №4
Дана строка, содержащая пробелы. Найдите, сколько в ней слов (слово – это последовательность непробельных символов, слова разделены одним пробелом, первый и последний символ строки – не пробел).

Входные данные

На вход подается несколько строк.

Выходные данные

Необходимо вывести количество слов в первой из введенных строк.

Примечание
В этой задаче может быть полезен метод find с двумя параметрами. Первый из них - искомая подстрока, второй - позиция, начиная с которой нужно искать первое вхождение.
Sample Input:

In the town where I was born
Sample Output:

7
_____________________________________
Задача №5
По данной строке определите, является ли она палиндромом (то есть, читается одинаково как слева-направо, так и справа-налево).

Входные данные

На вход подается 1 строка без пробелов.

Выходные данные

Необходимо вывести yes, если строка является палиндромом, и no в противном случае.

Sample Input:

kayak
Sample Output:

yes
________________________________________
Задача №6
Найдите в данной строке самое длинное слово и выведите его.

Входные данные

Вводится одна строка. Слова в ней отделены одним пробелом.

Выходные данные

Выведите самое длинное слово. Если таких слов несколько, то выводить нужно, которое встречается раньше.

Sample Input:

Everyone of us has all we need
Sample Output:

Everyone
__________________________________________
Задача №7
В сети интернет каждому компьютеру присваивается четырехбайтовый код, который принято записывать в виде четырех чисел, каждое из которых может принимать значения от 0 до 255, разделенных точками. Вот примеры правильных IP-адресов:
127.0.0.0
192.168.0.1
255.0.255.255
Напишите программу, которая определяет, является ли заданная строка правильным IP-адресом.

Входные данные

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

Выходные данные

Если эта строка является корректной записью IP-адреса, выведите YES, иначе выведите NO.

Примечание

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

Sample Input:

127.0.0.1
Sample Output:

YES
Рекомендации по теме
Комментарии
Автор

Незаслуженно мало просмотров на ваших роликах, спасибо очень помогли с решением задач с Codeforces и олимпиадой.

javamaks
Автор

Ну вот такую информацию сложно найти . Спасибо

-USER_NAME
Автор

Хорош мужчина. Всё понятно. То что искал

cofftpsyago
Автор

годнота, продолжай также, успехов тебе

suja
Автор

Спасибо Вам огромное!! Просто нереальное. Вы очень понятно объясняете. Благодаря уроку я написала программу, которая зашифровывает послание по шифру ROT1 (сдвигать буквы на одну вправо).

mbbsh
Автор

курс на stepik введение в програмирование на c++

byOmLaw
Автор

Кстати рассказ про строки является базовым в STL хотя традиционно неправильно считается vector. Но это не так... И да строки не просто слипаюстя.. надо перегрузить оператор сложения и это не такая уж и простая функция. Долгое время вобще не могли написать эффективный код сложения пока не появились перемещения... Теперь да это работает хорошо и быстро. Не быстрее чем в паскале там строки самые быстрые. Но эти работают не намного медленнее.

kpanat
Автор

Как изменить цвет строки !
призапуске програмы например он выводит одну строку чтоб 2 была кпримеру зелёная
!

artemdemin
Автор

Как создать массив из строк и ввести каждую строку?

nyenget
Автор

Здравствуйте. Я столкнулся с проблемой: getline() не работает с strig находящейся в структуре. Как решить?

bot_N
Автор

Помогите пожалуйста написать функцию которая принимает в качестве аргумента строку и возвращает ее копию)c++

-cgvn
Автор

Как посчитать длину строки без пробелов?

fzqxuvp
Автор

Как сделать что бы вывести стих в консоль, и каждая строка была другим цветом? какие команды вводить в компиляторе?

Nazario_di_Stefano
Автор

Как вывести последние буквы всех слов введенной строки? ( Напишите код пожалуйста )

wfcsdcq
Автор

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

nbik
Автор

я надеюсь это не обучающие ролики? Если так то я бы не стал учится у него

Zeroonezero
Автор

3:27 вы че там делаете?! ⛔
нужно так.
#include <iostream>
#include <string>

using namespace std;
int main()
{

char c;

string n;

cin >> n[0];

c = n[0];

cout << c << "\t";



return 0;
}

nicivanov