Дана программа, в которой пользователь вводит число от 1 до 99, и программа выводит сообщение: «Вам … лет», при этом в нужных случаях слово «лет» заменяя на слово «год» или «года». через Python
procedure oddDec(var a,b:integer); //подпрограмме переданы аргументы a и b //процедура для вычитания в нечётном элементе begin; a:=a-b; end;
procedure NotoddInc(var a,b:integer); //подпрограмме переданы аргументы a и b //процедура для сложения в чётном элементе begin; a:=a+b; end;
begin randomize; readln(a); //ввод a readln(b); //ввод b writeln('Array:'); for i:=1 to 10 do //весь массив begin; ar[i]:=random(-20,80); //случайные числа от -20 до 80 включительно write(ar[i]:4); //вывод if odd(i) then oddDec(ar[i],b) else NotoddInc(ar[i],a); {если нечётное, то первая процедура, иначе вторая. Обращаю внимания на то, что элементы меняются сразу после вывода} end; writeln; writeln('Final array:'); //вывод получившегося массива for i:=1 to 10 do write(ar[i]:4); end.
Пример ввода: 20 10 Пример вывода: Array: 10 16 0 60 23 4 22 -20 4 55 Final array: 0 36 -10 80 13 24 12 0 -6 75
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var (n,m):=ReadInteger2('Количество строк и столбцов в матрице:'); Writeln('*** Исходная матрица ***'); var rmatr:=MatrRandom(n,m,-99,99); rmatr.Println(4); Writeln(4*m*'-'); var max:=rmatr.ElementsByRow.Max; var s:=0; foreach var row in rmatr.Rows do if row.Contains(max) then s+=row.Sum; Writeln('Сумма равна ',s) end.
var
i,a,b:integer;
ar:array[1..10] of integer;
procedure oddDec(var a,b:integer); //подпрограмме переданы аргументы a и b
//процедура для вычитания в нечётном элементе
begin;
a:=a-b;
end;
procedure NotoddInc(var a,b:integer); //подпрограмме переданы аргументы a и b
//процедура для сложения в чётном элементе
begin;
a:=a+b;
end;
begin
randomize;
readln(a); //ввод a
readln(b); //ввод b
writeln('Array:');
for i:=1 to 10 do //весь массив
begin;
ar[i]:=random(-20,80); //случайные числа от -20 до 80 включительно
write(ar[i]:4); //вывод
if odd(i) then oddDec(ar[i],b) else NotoddInc(ar[i],a);
{если нечётное, то первая процедура, иначе вторая. Обращаю внимания на то, что элементы меняются сразу после вывода}
end;
writeln;
writeln('Final array:'); //вывод получившегося массива
for i:=1 to 10 do
write(ar[i]:4);
end.
Пример ввода:
20
10
Пример вывода:
Array:
10 16 0 60 23 4 22 -20 4 55
Final array:
0 36 -10 80 13 24 12 0 -6 75
// Внимание! Если программа не работает, обновите версию!
begin
var (n,m):=ReadInteger2('Количество строк и столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var rmatr:=MatrRandom(n,m,-99,99);
rmatr.Println(4); Writeln(4*m*'-');
var max:=rmatr.ElementsByRow.Max;
var s:=0;
foreach var row in rmatr.Rows do
if row.Contains(max) then s+=row.Sum;
Writeln('Сумма равна ',s)
end.
Пример
Количество строк и столбцов в матрице: 8 7
*** Исходная матрица ***
-50 -48 6 5 54 -16 42
-96 -23 -35 46 -39 -44 -15
2 -67 99 50 -53 68 -61
-77 -13 -76 -59 38 -20 4
97 -82 -1 20 -81 -77 -2
-51 87 34 -5 14 -60 91
-53 24 2 98 -98 29 -84
60 28 18 68 8 28 -73
Сумма равна 38