Program primer;
procedure random(c,x,y:integer; var r:integer);
begin
case c of
1 : r:=Random(ABS(Y)+ABS(x)+1)+x;
2 : r:=Random(ABS(Y)+ABS(x)+1)+y;
3 : r:=Random(Y-x+1)+x;
4 : r:=Random(x-y+1)+y;
5 : r:=Random(x+y);
6 : r:=Random(ABS(x+y))-ABS(x+y);
7 : r:=x;
8 : r:=Random(ABS(ABS(x)-ABS(y)))-ABS(x);
9 : r:=Random(ABS(ABS(x)-ABS(y)))-ABS(y);
end;
end;
var
a,b: array of array of integer;
i,j,x,y,c,m,p,sum:integer; begin
Randomize;
sum:=0;
writeln('Кол-во строк и столбцов массива? //X,Y\\ ');
read(i,j); //Размерность массива
writeln('Диапазон чисел //от X,до Y\\ ');
read(x,y); //и диапазон генерации вводятся с клавиатуры.
if (x=y) then
c:=7
else
if(x<0) and (y<0) then
if (x<y) then
c:=8
else
c:=9
else
if (x=0) or (y=0) then
if(x<0) or (y<0) then
c:=6
else
c:=5
else
if(x<0) or (y<0) then
if (x<y) then
c:=1
else
c:=2
else
if (x<y) then
c:=3
else
c:=4;
SetLength(a,i);
for m:=0 to i-1 do
SetLength(a[m],j);
SetLength(b,i);
for m:=0 to i-1 do
SetLength(b[m],j);
for m:=0 to i-1 do begin
writeln();
for p:=0 to j-1 do begin
random(c,x,y,a[m,p]); {Заполнить двумерный массив случайными числами.}
sum:=sum+a[m,p]; {вычисляет сумму всех элементов массива}
write (a[m,p]:3,' ':3);
end;
end;
c:=0;
writeln('summa=',sum);
for m:=0 to i-1 do begin {Затем организовать новый массив В }
writeln();
for p:=0 to j-1 do begin
if (a[m,p] <0) then begin
b[m,p]:=1; {в котором заменить отрицательные элементы исходного массива на 1} inc(c); {Подсчитать количество замен. }
end
else
b[m,p]:=a[m,p]; {а значения остальных элементов оставить без изменения }
write(b[m, p]:3, ' ':3);
end;
end;
writeln('kol=',c);
a:=NIL;
b:=NIL;
end.
// ABC Pascal
#include <string>#include <iostream>using namespace std;main(){ string s1, s2, s3, ans; cin >> s1 >> s2 >> s3; if(s1.size() >= s2.size() && s1.size() >= s3.size()) ans = s1; else if(s2.size() >= s3.size()) ans = s2; else ans = s3; for(int i = 0; i < ans.size(); i++) cout << char(int(ans[i]) - 32);}
10 50 true
8 45 true
6 40 true
4 30 true
2 25 true
0 20 false
k:=10;
t:=50;
while k>1 do
begin
k:=k-2;
t:=t-5;
end;
write(k,n);
// PascalABC.NET 3.0, сборка 1156 от 30.01.2016
function Avg(a:array[,] of integer):real;
begin
var s:=0; var k:=0;
foreach var e:integer in a do
if e>0 then begin s+=e; Inc(k) end;
if k>0 then Result:=s/k else Result:=1e-100;
end;
begin
var A:=MatrixRandom(4,4,-50,50); Writeln(A);
Writeln('Среднее арифметическое положительных равно ',Avg(A):0:3);
var B:=MatrixRandom(5,5,-30,30); Writeln(B);
Writeln('Среднее арифметическое положительных равно ',Avg(B):0:3);
var C:=MatrixRandom(4,5,-25,38); Writeln(C);
Writeln('Среднее арифметическое положительных равно ',Avg(C):0:3);
end.
<u><em>Тестовое решение:</em></u>
[[35,35,5,-47],[14,34,35,-13],[25,-5,35,-29],[-7,10,-12,12]]
Среднее арифметическое положительных равно 24.000
[[-12,-17,-10,19,14],[20,17,-27,-2,16],[-3,-21,30,2,10],[5,-3,-17,-3,18],[0,-26,29,1,-22]]
Среднее арифметическое положительных равно 15.083
[[-5,-11,17,-4,15],[15,17,-24,36,15],[-8,-3,-22,28,-25],[-21,6,12,31,-1]]
Среднее арифметическое положительных равно 19.200