Цель. Изучить базовые приемы работы со строками и символами. Рассмотреть символьный тип, строковый тип, обращение к отдельным символам строки, определение длины строки, использование оператора if-else в комбинации со строками и символами.
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
Задача 1. Введите три строки и выведите те из них, длина которых менее 5 символов.
#include <string>
#include <windows.h>
#include <iostream>
using namespace std;
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
string str1, str2, str3;
cout << "Введите строку 1:\n";
getline(cin, str1);
cout << "Введите строку 2:\n";
getline(cin, str2);
cout << "Введите строку 3:\n";
getline(cin, str3);
cout << "Строки длиной менее 5:\n";
if (str1.length() < 5) {
cout << str1 << endl;
}
if (str2.length() < 5) {
cout << str2 << endl;
}
if (str3.length() < 5) {
cout << str3 << endl;
}
system("pause");
return 0;
}
Задача 2. Введите строку из четырех символов и выведите ее наоборот.
#include <string>
#include <windows.h>
#include <iostream>
using namespace std;
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
string str;
cout << "Введите строку:\n";
cin >> str;
if (str.length()!= 4) {
|
|
cout << "Неверная длина\n";
} else {
cout << str[3]<<str[2]<<str[1]<<str[0];
}
system("pause");
return 0;
}
Задача 3. Введите символ, представляющий собой знак «больше», «меньше» или «равно», и сообщает название этого знака.
#include <windows.h>
#include <iostream>
using namespace std;
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char symbol;
cout << "Введите символ:\n";
cin >> symbol;
if (symbol == '<') {
cout << "Меньше\n";
} else if (symbol == '>') {
cout << "Меньше\n";
} else if (symbol == '=') {
cout << "Равно\n";
} else {
cout << "Другой символ\n";
}
system("pause");
return 0;
}
Задача 4. Введите символ и проверьте, является ли он строчной латинской буквой.
#include <windows.h>
#include <iostream>
using namespace std;
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char symbol;
cout << "Введите символ:\n";
cin >> symbol;
if ('a'<=symbol && symbol<='z') {
cout << "Является\n";
} else {
cout << "Не является\n";
}
system("pause");
return 0;
}
Задача 5. К русским глаголам можно добавить приставку «у» и получить другой глагол. Например, «бежать» - «убежать». Введите такой глагол и выведите его с приставкой «у».
#include <string>
#include <windows.h>
#include <iostream>
using namespace std;
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
string glagol;
cout << "Введите глагол:\n";
cin >> glagol;
cout << "у" << glagol << endl;
system("pause");
return 0;
}
ЗАДАЧИ
1. Введите строку и сообщите ее длину.
2. Введите строку и проверьте, четная ли у нее длина. Например, длина строки «акула» нечетная (равна 5), а строки «молоко» – четная (6).
3. Назовем строку длинной, если ее длина более 10, а иначе – короткой. Введите строку и проверьте, длинная она или короткая.
4. Введите две строки и определите, какая из них длиннее, или их длины равны.
|
|
5. Введите строку из 5 символов и выведите ее, начиная с конца. Например, «батон» – «нотаб». Если введена строка, длина которой не равна 5, то сообщить об этом.
6. Введите строку и сообщите ее первый символ.
7. Введите строку и сообщите ее последний символ.
8. Введите строку и сообщите ее предпоследний символ.
9. Введите три строки и определите самую длинную (короткую).
10. Введите строку и, если строка состоит из одного символа, то программа должна сообщить, что введен символ, а иначе – строка.
11. Введите символ и выведите его на экран 5 раз.
12. Введите строку и выведите ее на экран 5 раз.
13. Введите три строки, означающие фамилию, имя и отчество. Создайте другую строку, являющуюся полным именем, и выведите ее. Воспользуйтесь операцией «+».
14. Многие русские существительные обладают тем свойством, что их единственное число отличается от множественного окончанием «ы», например, «блин» - «блины». Введите такое существительное и выведите его во множественном числе.
15. Введите имя человека и поприветствуйте его по имени.
16. Некоторые английские существительные образуются из глаголов добавлением окончания «er», Например, «work» – «worker». Введите такой глагол и сформируйте из него существительное.
17. Для перевода многих английских существительных во множественное число достаточно добавить к нему букву «s». Например, «cat» - «cats». Введите такое существительное в единственном числе и выведите во множественном.
18. Напишите программу «Попугай», которая принимает некоторое слово и выводит его на экран два раза.
19. Ко многим русским глаголам можно добавить приставку «при» и получить другой однокоренной глагол. Например, «ехать» - «приехать». Введите такой глагол и выведите его с приставкой «при».
20. Введите символ, представляющий собой операцию языка C++ (&, |,!, ^), и сообщите название этой операции.
21. Введите символ, представляющий собой арифметическую операцию языка C++ (+, *, /, %, -), и сообщите название этой операции.
22. Введите строку из 5 символов и проверьте, есть ли в ней хотя бы один восклицательный знак. Если длина строки не равна 5 символам, то сообщите об ошибке.
23. Введите символ, представляющий собой правую или левую квадратную скобку, и сообщите вид этой скобки (правая или левая). Если введен какой-то другой символ, то сообщите об ошибке.
24. Введите символ и проверьте, является ли он цифрой, т.е. символом от 0 до 9.
25. Введите символ и проверьте, является ли он латинской гласной.
26. Введите символ и проверьте, является ли он латинской заглавной буквой.
27. Введите символ и проверьте, является ли он русской гласной.
28. Введите строку из 5 символов и выведите ее наоборот. Например, «акула» – «алука». Если длина не равна 5, то сообщите об ошибке.
29. Введите слово из 5 букв и проверьте, является ли оно палиндромом. Палиндром – это строка, читающаяся одинаково слева-направо и справа-налево. Если длина строки не равна 5 символам, то сообщить об ошибке.
30. Введите слово из 5 букв и выведите его, дублируя все символы. Например, «кот» – «ккоотт». Если длина строки не равна 5 символам, то сообщите об ошибке.