ekaterinaorl1998
?>

Напишите программу, которая сортирует массив по убыванию и ищет в нем все значения, равные введенному числу. pascalabc

Информатика

Ответы

Lukina
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.

Пример:
Исходный массив:
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 
sayfullinmr
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
Не трудно, но не полностью условие выполнено. Лови решение:

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

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу, которая сортирует массив по убыванию и ищет в нем все значения, равные введенному числу. pascalabc
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

generallor3
ietishkin
sorokinae
Андреевич
Mariya694
a580028r
artbogema2016
Окунева-Мотова
mmihail146
rastockin8410
Олег2014
alina-bas
Nikolaevna1623
Алексей424
mulyugina365