Операция ИЛИ ( она же or ) является логическим типом
Ответ:
const g = 5; v = 7;
var a: array[1..g,1..v] of integer;
i,j,maxj,minj,p:integer;
begin
writeln('Массив: ');
for i:=1 to g do
begin
for j:=1 to v do
begin
a[i,j]:=random(90)+10;
write(a[i,j]:4)
end;
writeln
end;
for i:=1 to g do
begin
maxj:=1;
minj:=1;
for j:=1 to v do
begin
if a[i,j]>a[i,maxj] then maxj:=j;
if a[i,j]<a[i,minj]then minj:=j;
end;
p:=a[i,maxj];
a[i,maxj]:=a[i,minj];
a[i,minj]:=p;
end;
writeln;
writeln('Преобразованный массив: ');
for i:=1 to g do
begin
for j:=1 to v do write(a[i,j]:4);
writeln
end;
end.
Объяснение:
Winrar (просит заплатить за полную версию но мы можем отказаться)
avast (всегда предлагает улучшить но мы можем зарегистрироваться и остаться на бесплатной версии)
ccliner (предлагает отблагодарить, но мы можем бесплатно пользоваться)
Total Commander (Предлагает купить полную версию (аналогично как winrar))
Const n=20;
var a:array[1..n] of integer;
i,i1,i2,x:integer;
begin
Randomize;
a[1]:=random(10);
write(a[1],' ');
for i:=2 to n do
begin
a[i]:=a[i-1]+random(10);
write(a[i],' ');
end;
writeln;
write('x = '); readln(x);
i1:=1; i2:=n;
repeat
i:=(i1+i2) div 2;
if a[i]<x then i1:=(i1+i2) div 2+1;
if a[i]>x then i2:=(i1+i2) div 2-1;
until (a[i]=x)or(i1>i2);
if a[i]=x then
begin
writeln('Искомый(ые) номер(а) элемента(ов):');
while (i>0)and(a[i]=x) do i:=i-1;
i:=i+1;
while (i<=n)and(a[i]=x) do begin write(i,' '); i:=i+1; end;
end
else writeln('Элемент не найден');
writeln;
end.
Пример:
5 6 14 15 15 22 30 36 45 45 50 56 60 64 67 76 84 92 99 101
x = 15
Искомый(ые) номер(а) элемента(ов):
4 5
Значит так...очередная нудная программа с простым алгоритмом.
Печатает начальный массив, потом диагональ(в уже измененном массиве), потом новый массив, потом число элементов 19..59, произведение диагонали, сумму элементов столбца s.
program test;
uses crt;
var
arr:array[1..8,1..8] of integer;
i,j,cou,pr,s,sum:integer;
begin
clrscr;
randomize;
pr:=1;
s:=7;
for i:=1 to 8 do
begin
for j:=1 to 8 do
begin
arr[i,j]:=random(127)+2;
write(arr[i,j],' ');
end;
writeln;
end;
writeln;
for i:=1 to 8 do
for j:=1 to 8 do
begin
if (arr[i,j]>18) and (arr[i,j]<60) then
begin
cou:=cou+1;
arr[i,j]:=0;
end;
if i=j then
begin
pr:=pr+arr[i,j];
write(arr[i,j],' ');
end;
if j=s then
sum:=sum+arr[i,j];
end;
writeln;writeln;
for i:=1 to 8 do
begin
for j:=1 to 8 do
write(arr[i,j],' ');
writeln;
end;
writeln;
writeln(cou);
writeln(pr);
writeln(sum);
readln;
end.