Найти минимальное значение в массиве и изменить его порядковый номер и ввести новый массив

0 голосов
37 просмотров

Найти минимальное значение в массиве и изменить его порядковый номер и ввести новый массив


Информатика (723 баллов) | 37 просмотров
0

та какая разница?

0

Уже

0

спасибо

Дано ответов: 2
0 голосов
Правильный ответ

// PascalABC.NET 3.2, сборка 1483 от 14.06.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  var imin:=a.IndexMin;
  Writeln('Номер минимального элемента- ',imin+1);
  var j:=ReadInteger('С каким элементом (1-'+
      a.Length.ToString+') поменять?');
  if j.Between(1,a.Length) then begin
    Swap(a[imin],a[j-1]);
    a.Println
    end
  else Writeln('Номер за пределами массива')
end.

Пример
n= 15
-18 -38 -37 21 -30 -42 12 -10 15 -9 18 -16 -44 -39 -6
Номер минимального элемента- 13
С каким элементом (1-15) поменять? 8
-18 -38 -37 21 -30 -42 12 -44 15 -9 18 -16 -10 -39 -6

(150k баллов)
0 голосов

Uses Crt;
Var
   A:array[1..256] of integer;
   i,iMin,N,B:integer;
Begin
ClrScr;
Randomize;
Write('N = ');ReadLn(N);
Write('A(',N,'):');
iMin:=1;
For i:= 1 to n do
    Begin
    A[i]:=random(21)-10;
    Write(' ',A[i]);
    if A[i] < A[iMin] then iMin:=i;
    End;
WriteLn;
WriteLn('Min(A) = ',A[iMin],'[',iMin,']');
Write('Min = ');ReadLn(i);
B:=A[i];
A[i]:=A[iMin];
A[iMin]:=B;
Write('A(',N,'):');
For i:= 1 to n do
    Write(' ',A[i]);
ReadKey
End.

(6.6k баллов)