Вопрос задан 28.10.2026 в 14:21. Предмет Информатика. Спрашивает Бердина Раиса.

C++. 110. Даны две строки. Определите, является ли первая строка подстрокой второй строки.
Входные данные: на вход подаются 2 строки длины не более 10000, состоящие только из маленьких букв латинского алфавита.
Выходные данные: необходимо вывести слово yes, если первая строка является подстрокой второй строки, или слово no в противном случае.
Примеры:
входные данные: abac, ababacaba
выходные данные: yes
112. Дана строка, состоящая из строчных латинских букв и пробелов. Проверьте, является ли она палиндромом без учёта пробелов (например, «аргентина манит негра»).
Входные данные: на вход подаётся 1 строка длины не более 100, содержащая пробелы. Подряд может идти произвольное число пробелов.
Выходные данные: необходимо вывести yes, если данная строка является палиндромом, и no в противном случае.
Примеры:
входные данные: ab a
выходные данные: yes

Перейти к ответам

Ответы на вопрос

Отвечает Исламова Карина.

110. Первая строка является подстрокой второй, если она встречается в ней подряд. В C++ это удобно проверить методом find: если результат не равен string::npos, выводим yes.

#include <iostream>
#include <string>
using namespace std;

int main() {
  string a, b;
  cin >> a >> b;
  cout << (b.find(a) != string::npos ? "yes" : "no");
  return 0;
}

112. Сначала составим новую строку без пробелов, затем сравним её символы с начала и с конца. Если все пары совпали, строка — палиндром.

#include <iostream>
#include <string>
using namespace std;

int main() {
  string s, t;
  getline(cin, s);
  for (char c : s) {
    if (c != ' ') t += c;
  }
  for (int i = 0, j = t.size() - 1; i < j; i++, j--) {
    if (t[i] != t[j]) {
      cout << "no";
      return 0;
    }
  }
  cout << "yes";
  return 0;
}

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос