Переделал программу с паскаля на С++
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main(){
srand(time(0));
system("chcp 1251 > nul");
int q,x,y,z,a,b,c,d,e;
double w;
cout << "Введите x: ";
cin >> x;
cout << "Введите y: ";
cin >> y;
cout << "Введите z: ";
cin >> z;
a = x*y*z;
b = 3*z*x;
c = 2*(x+y+z);
d = max(a,b);
e = max(b,c);
q = max(e,d);
cout << "Максимум: " << q<< endl;
w = min((3*x*y*z),(q/2));
cout << "Максимум: " << w << endl;
return 0;
}
===== PascalABC.NET =====
begin
var (m, n) := ReadInteger2('Число строк и столбцов массива:');
var a := MatrRandom(m, n, -99, 99);
a.Println(4);
var k := ReadInteger('Сколько первых элементов обработать?');
if not k.InRange(1, m * n) then
Println('Введено недопустимое значение')
else
begin // замена построчно
var r := k div n; // число полных строк
if r > 0 then
for var i := 0 to r - 1 do
for var j := 0 to n - 1 do
a[i,j] := -a[i,j];
for var j := 0 to k - r * n - 1 do
a[r,j] := -a[r,j];
a.Println(4)
end
end.
Второй вариант использует более продвинутые возможности PascalABC.NET. Замена выполняется единственным оператором.
begin
var (m, n) := ReadInteger2('Число строк и столбцов массива:');
var a := MatrRandom(m, n, -99, 99);
a.Println(4);
var k := ReadInteger('Сколько первых элементов обработать?');
if not k.InRange(1, m * n) then
Println('Введено недопустимое значение')
else
begin // замена построчно
a.Transform((p, i, j) -> n * i + j < k ? -p : p);
a.Println(4)
end
end.
2-а (синоним слова "достоверность" является слово "правильность", А синоним слова "истинное" является слово "верное")
3-б
4-в (синоним слову "Актуально" является слово " Современно")