Const n=20; var a:array[1..n] of integer; i,j,t,x,i1,i2:integer; begin Randomize; Writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=Random(21); Write(a[i],' ') end; Writeln; for i:=1 to n-1 do for j:=1 to n-i do if a[j]<a[j+1] then begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end; Writeln('Отсортированный массив:'); for i:=1 to n do Write(a[i],' '); 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.
Program ZAD00; {} uses crt; var a,b:array[1..20] of real; i:integer; mina,minb,s:real; Begin { заполнение массива А} for i:=1 to 7 do begin write('введите элементы a[',i,']='); read(a[i]); end; { заполнение массива B} for i:=1 to 9 do begin write('введите элементы b[',i,']='); read(b[i]); end; { min в массиве А} mina:=a[1]; for i:=1 to 7 do begin a[8]:= 32767 ; if (a[i]>= a[i+1]) and (a[i+1]<=mina) then mina:=a[i+1] end; { min в массиве B} minb:=b[1]; for i:=1 to 9 do begin b[10]:=32767; if (b[i]>= b[i+1]) and (b[i+1]<=minb) then minb:=b[i+1] end; { сложение minA и minB} s:=mina+minb; { вывод результатов на экран for i:=1 to 7 do begin write(a[i],' '); writeln; end; for i:=1 to 9 do begin write(b[i],' '); writeln; end; writeln('minA=',mina); writeln('minB=',minb); writeln('сумма их s=', s); End.
daryagulyaeva
21.01.2020
Не трудно, но не полностью условие выполнено. Лови решение:
program arrs; var a : array[1..26] of integer; i, min, max : integer; m1, m2 : byte;
begin randomize; for i:=1 to 26 do begin a[i] := random(29)-15; write(a[i], ' '); end; min := 15; max := -20; for i:=1 to 26 do begin if a[i] < min then begin min:=a[i]; m1 := i; end; if a[i] > max then begin max:=a[i]; m2 := i; end; end; writeln; writeln('Минимальный элемент в ячейке ', m1, ' равен ', min); writeln('Максимальный элемент в ячейке ', m2, ' равен ', max); end.
тестовый прогон:
0 2 -1 2 -9 -13 -9 -5 0 -14 11 6 8 -11 13 3 -15 -6 -15 -14 -3 13 9 7 3 -4 Минимальный элемент в ячейке 17 равен -15 Максимальный элемент в ячейке 15 равен 13
var
a:array[1..n] of integer;
i,j,t,x,i1,i2:integer;
begin
Randomize;
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(21);
Write(a[i],' ')
end;
Writeln;
for i:=1 to n-1 do
for j:=1 to n-i do
if a[j]<a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
Writeln('Отсортированный массив:');
for i:=1 to n do Write(a[i],' ');
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.
Пример:
Исходный массив:
15 4 16 3 7 10 3 1 18 6 18 2 7 11 10 16 2 10 7 12
Отсортированный массив:
18 18 16 16 15 12 11 10 10 10 7 7 7 6 4 3 3 2 2 1
x = 10
Искомый(ые) номер(а) элемента(ов):
8 9 10