/*last_sent_end - индекс конца последнего найденного на данный момент предложения. Т.к. отсчет в C++ с 0, то начальное значение -1. Просматривается строка посимвольно. Встречен один из символов - счетчик m увеличивается, длина предложения вычисляется как разность текущего индекса и индекса конца предыдущей строки, и заносится в std::vector<int> arr_of_length. В last_sent_end сохраняется индекс найденного символа - индекс конца последней найденной строки. Случаи некорректного ввода не обработаны.*/
#include <iostream>
#include <vector>
#include <string>
int main()
{
int m = 0, last_sent_end = -1;
std::string str;
std::vector<int> arr_of_length;
std::cout << "Input string: ";
std::getline(std::cin, str);
for (int i = 0; i < static_cast<int>(str.length()); i++)
{
const char symb = str[i];
if (symb == '!' || symb == '?' || symb == '.')
{
m++;
arr_of_length.push_back(i - last_sent_end);
last_sent_end = i;
}
}
std::cout << "m = " << m << '\n';
for (int sent_length : arr_of_length)
{
std::cout << sent_length << " ";
}
return 0;
}
Поделитесь своими знаниями, ответьте на вопрос:
с 10 вариантом, нужно до 04.06
program z1;
uses drawman;
begin
Field(19,4);
OnVector(1,3);
PenDown;
OnVector(1,0);
OnVector(0,-1);
OnVector(-1,-1);
OnVector(1,0);
PenUp;
OnVector(1,2);
PenDown;
OnVector(1,0);
OnVector(-1,-1);
OnVector(0,-1);
PenUp;
OnVector(3,2);
PenDown;
OnVector(1,0);
OnVector(0,-2);
OnVector(-1,0);
OnVector(0,2);
PenUp;
OnVector(2,0);
PenDown;
OnVector(1,0);
OnVector(0,-2);
OnVector(-1,0);
OnVector(0,2);
OnVector(0,-1);
OnVector(1,0);
PenUp;
OnVector(2,1);
PenDown;
OnVector(1,0);
OnVector(0,-1);
OnVector(-1,-1);
OnVector(1,0);
PenUp;
OnVector(1,2);
PenDown;
OnVector(1,0);
OnVector(0,-2);
OnVector(-1,0);
OnVector(0,2);
PenUp;
OnVector(2,0);
PenDown;
OnVector(1,0);
OnVector(0,-2);
OnVector(-1,0);
OnVector(0,2);
PenUp;
OnVector(2,0);
PenDown;
OnVector(1,0);
OnVector(0,-2);
OnVector(-1,0);
OnVector(0,2);
OnVector(0,-1);
OnVector(1,0);
PenUp;
OnVector(-18,-2);
end.
Объяснение:
Смотри картинку