Разложение V и I делается для облегчения сокращения. Если что-то непонятно - пиши.
#include <iostream>
#include <string>
using namespace std;
int main(){
setlocale(LC_ALL, "Russian");
cout << "Введите строку: ";
string line; cin >> line;
for(int i = 0; i < line.length()/4; ++i){
char buff = line[4*i];
line[4*i]=line[4*i+1];
line[4*i+1]=line[4*i+2];
line[4*i+2]=line[4*i+3];
line[4*i+3]=buff;
}
cout << "Ответ: " << line << endl;
system("pause");
return 0;
}
Тут нет правильного варианта т.к. входной поток должен иметь 3 значения а тут везде 4, но если результат ввода не важен то ответ 3
7 мин 44 сек = 464 сек
Скорость передачи: 1392 / 464 = 3 Кб/сек
В матрице 42 элемента. Заполним её случайными значениями в диапазоне от x/2 до 2*y, тогда в среднем половина значений попадет в заданный диапазон.
const
m=6;
n=7;
var
a:array[1..m,1..n] of integer;
i,j,k,x,y,x1,y1,s:integer;
begin
Randomize;
Write('Введите через пробел x и y: '); Read(x,y);
if y<x then begin s:=x; x:=y; y:=s end;
Writeln('Исходный массив');
if x<0 then x1:=2*x else x1:=x div 2;
if y<0 then y1:=y div 2 else y1:=2*y;
k:=y1-x1+1; s:=0;
for i := 1 to m do
begin
for j := 1 to n do
begin
a[i,j]:=Random(k)+x1;
Write(a[i,j]:4);
if (a[i,j]>=x) and (a[i,j]<=y) then s:=s+a[i,j]
end;
Writeln
end;
for j:=1 to n do a[1,j]:=s;
Writeln('Результирующая матрица');
for i := 1 to m do
begin
for j := 1 to n do Write(a[i,j]:4);
Writeln
end
end.
<em><u>Тестовое решение:</u></em>
Введите через пробел x и y: -5 10
Исходный массив
0 11 -6 15 -8 -2 -6
9 0 6 1 11 -2 -1
2 9 13 -1 6 0 9
6 1 -5 8 -3 0 -5
8 4 -8 7 -6 6 11
18 -1 15 -8 -9 -9 20
Результирующая матрица
62 62 62 62 62 62 62
9 0 6 1 11 -2 -1
2 9 13 -1 6 0 9
6 1 -5 8 -3 0 -5
8 4 -8 7 -6 6 11
18 -1 15 -8 -9 -9 20