getline(cin,str);//если cin >> str, то считывание лишь до первого пробела
for (int i=0; i < str.length(); i++) //таким образом перемещаемся по элементах строки
{
if (str[i] == '.')// если в тексте найдено точку...
{
if (str[i + 1] == '.' && str[i + 2] == '.') // ...если дальше есть две точки подряд...
i+=2;//...то идти дальше: i+=2 здесь и i++ в условии цикла - итого перепрыгнуть через те две точки (i+=3)
else //если дальше нет двух точек подряд...
{
for (int j = 0; j < 2; j++)// ...то по одной...
{
str.insert(i, ".");// ..."создать" их, используя функцмю str.insert(pos,key), где первый аргумент - позиция вышенайденной точки, перед которой "создаём" точку (вставляем 2-й аргумент)
i++;//мы сейчас на новосозданной точке, поэтому идти дальше: переместиться на один символ вперёд - итого мы сейчас на той точке, которую мы не создавали и которая была в Old string
#include<iostream> // тут подключаем библиотеки
#include <ctime>
#include <stdlib.h>
using namespace std;
int main()
{
{
setlocale(LC_ALL, "russian");
srand(time(NULL)); //чтобы число генерировалась каждый раз
const int size=30;
int arr[size];
for (int i=0;i<size;i++)
{
arr[i]=rand() % 30 + 39; // тут мы заполняем массив
}
for (int i=0;i<size;i++)
{
if (arr[i] % 2==0)
cout<<arr[i]<<endl; //происходит сам вывод массива
}
/*я за тебя сделал все, кроме подсчета*/
/*вот тут нужен сам подсчет*/
}
Объяснение:
можно лучший ответ
#include <iostream>
using namespace std;
int main()
{
string str;
cout << "Old string:\n";
getline(cin,str);//если cin >> str, то считывание лишь до первого пробела
for (int i=0; i < str.length(); i++) //таким образом перемещаемся по элементах строки
{
if (str[i] == '.')// если в тексте найдено точку...
{
if (str[i + 1] == '.' && str[i + 2] == '.') // ...если дальше есть две точки подряд...
i+=2;//...то идти дальше: i+=2 здесь и i++ в условии цикла - итого перепрыгнуть через те две точки (i+=3)
else //если дальше нет двух точек подряд...
{
for (int j = 0; j < 2; j++)// ...то по одной...
{
str.insert(i, ".");// ..."создать" их, используя функцмю str.insert(pos,key), где первый аргумент - позиция вышенайденной точки, перед которой "создаём" точку (вставляем 2-й аргумент)
i++;//мы сейчас на новосозданной точке, поэтому идти дальше: переместиться на один символ вперёд - итого мы сейчас на той точке, которую мы не создавали и которая была в Old string
}
}}}
cout << "New string =\n" << str;
return 0;
}