Дан двумерный массив размером n*m, заполненный случайными числами. Найти сумму его элементов, расположенных между максимальным и минимальным элементами
10-11 класс
|
(включая оба этих числа)-программный код для делфи
В Делфи не проверял, но должна работать. Если что, пиши.
const
n=5;
m=6;
var
a:array[1..n,1..m]of integer;
i,j,s,p,min,max:integer;
begin
s:=0;
p:=0;
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(10);
min:=a[1,1];
max:=min;
for i:=1 to n do
begin
for j:=1 to m do
begin
write(a[i,j]:3);
if a[i,j]>max then max:=a[i,j];
if a[i,j]<min then min:=a[i,j];
end;
writeln
end;
for i:=1 to n do
begin
if p>2 then break;
for j:=1 to m do
begin
if p>2 then break;
if a[i,j]=max then p:=p+1;
if a[i,j]=min then p:=p+2;
if p>0 then s:=s+a[i,j];
end;
end;
writeln('S=',s)
end.
Другие вопросы из категории
Читайте также
расположенных между максимальным и минимальным элементами.
Дан одномерный массив, состоящий из вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
ну или исправьте мое пжл
program fgf;
var mas:array[1..100] of real;
max,min:real;
i,n,c,b:shortint;
p:real;
f1,g:text;
begin;
assign (f1, 'input.txt');
reset (f1);
readln (f1, n);
for i:=1 to N do read (mas[i]);
max:=mas[i];
for i:=2 to N do begin
if mas[i]>max then begin
max:=mas[i];
c:=i;
end;
end;
min:=mas[1];
for i:=2 to N do begin
if mas[i]<min then begin
max:=mas[i];
b:=i;
end;
end;
close(f1);
assign (g, 'output.txt');
rewrite (g);
p:=1;
if b<c then I:=b+1 and c-1
else for I:=c+1 to b-1 do p:=p*mas[i];
if (n<3) or (b+1=c) or (c+1=b) then writeln(g,'0.00') else write(p:3:3) ;
close (g);
end.
размерностью n х m,
заполненный случайными числами. Определить, есть ли в данном массиве строка,
содержащая больше положительных элементов,
чем отрицательных. Ответ: «Есть» или «Нет».
Если можно решите попроще, каждая отдельная операции через подпограмму