Задание 1 Интерес представляют эффективные алгоритмы поиска вхождений подстроки в строку, то есть алгоритмы, быстро работающие для больших строк. Поэтому мы будем рассматривать в этой задаче случай, когда исходная строка представляет собой многократное повторение какой-то маленькой строки.
Например, рассмотрим строку «МАМА» и повторим её 3 раза. Получится строка «МАМАМАМАМАМА». В этой строке подстрока «АМА» встречается 5 раз: «МАМАМАМАМАМА», «МАМАМАМАМАМА», «МАМАMАМАМАМА», «МАМАМАМАМАМА», «МАМАМАМАМАМА».
ответьте на вопросы
Если строку «БАОБАБ» повторить 100 раз, то сколько раз в ней будет встречаться подстрока «БА»?
Если строку «РЕМАРКА» повторить 100 раз, то сколько раз в ней будет встречаться подстрока «АР»?
Если строку «АУАУОАУАУ» повторить 100 раз, то сколько раз в ней будет встречаться подстрока «АУАУ»?
Если строку «ОЙОЙ» повторить 100 раз, то сколько раз в ней будет встречаться подстрока «ЙОЙОЙ»?
Если строку «А» повторить 100 раз, то сколько в ней раз будет встречаться подстрока «A», повторённая 50 раз?
ответ на это задание запишите в виде пяти чисел, каждое число в отдельной строке — ответы на заданные вопросы именно в таком порядке. Если вы не можете найти ответ на какой-то из пяти вопросов, запишите в этой строке любое натуральное число.
решите очень надо
#include <bits/stdc++.h>
template<typename Type3>
class BS{
public:
Type3 deg2,deg3,deg4;
void info(){
std::cout<<deg2<<" "<<deg3<<" "<<deg4<<std::endl;
}
};
template<typename Type,typename Type1>
BS<Type1>KReturn(Type A){
BS<Type1>example;
example.deg2=std::pow(A,2);
example.deg3=std::pow(A,3);
example.deg4=std::pow(A,4);
return example;
}
int main(){
BS<int>ex1;
BS<float>ex2;
ex1=KReturn(5);
ex2=KReturn(5.5);
ex1.info();
ex2.info();
return 0;
}
//вот что я так себе написал
#include stdlib.h
#include <iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int floor;
char lift, type0;
double price_floor;
double price_elevator;
double price_type;
double total_price;
bool elevator;
cout << "Введите номер этажа: ";
cin >> floor;
if (floor == 1 || floor <= 3) price_floor=1;
if (floor <= 6 && floor > 3) price_floor=2;
if (floor <= 9 && floor > 6) price_floor=3;
else if price_floor=4;
cout << "Имеется ли в вашем помещении лифт? "; //ответ + или -
cin >> lift;
switch (lift) {
case '+':
price_elevator=1;
elevator=true;
break;
case '-':
price_elevator=2;
break;
}
if (elevator) {
cout << "Грузоподъемный? ";
cin >> type0;
switch (type0) {
case '+':
price_type=1
break;
case '-':
price_type=2;
break;
}
}
else if cout <<"\n";
cout <<"\n";
total_price=price_elevator + price_floor + price_type;
cout << "Конечная цена: " << total_price <<endl;
system ("pause");
return 0;
}