Паскаль в примерах. Иринчеев А.А - 67 стр.

UptoLike

67
if (i=j) or (i<j)
then write(a[i,j]:8:3)
else write(' ');
writeln;
end;
end.
Пример 49. Составить программу для упорядочивания элементов массива А(а1,а2,.а10.).
Решение. Во внутреннем цикле найдем наибольший элемент массива или его части. Вначале
перед циклом зададим начальное значение наибольшего, равное первому элементу массива, а
затем внутри цикла найдем наибольший элемент и его порядковый номер. После окончания
внутреннего цикла наибольший элемент запишем на место первого элемента рассматривае-
мой части массива, а первый на его место. Затем найдем наибольший элемент массива, начи-
ная со второго, далее с третьего и т.д. Следовательно, указанные действия надо повторять во
внешнем цикле. Внешний цикл должен повторяться для К, изменяющегося от 1 до 9, так ко-
гда останется последний элемент, находить наибольший не имеет смысла.
Program pr49;
const nk=10;
var
amax:real;
k,i,kmax:integer;
a:array[1..nk] of real;
begin
writeln(' Введите элементы массива ');
for i:=1 to nk do
read(a[i]);
for k:=1 to nk-1 do
{ поиск максимального числа и его порядкового номера}
begin
amax:=a[k];
kmax:=k;
for i:=k+1 to nk do
if a[i] > amax then
begin
amax:=a[i];
kmax:=1;
end;
{перестановка максимального элемента с текущим }
a[kmax]:=a[k];
a[k]:=amax;
end;
{Вывод элементов упорядоченного массива }
for i:=1 to nk do
writeln (a[i]:9:5);
end.
Пример 50. Заданы два вектора x и y. Являются ли они поэлементно равными.
program pr50;
var
i:integer;
a:boolean;
x,y: array[1..10] of real;
  if (i=j) or (i amax then
begin
 amax:=a[i];
  kmax:=1;
end;
{перестановка максимального элемента с текущим }
  a[kmax]:=a[k];
  a[k]:=amax;
end;
{Вывод элементов упорядоченного массива }
  for i:=1 to nk do
   writeln (a[i]:9:5);
    end.

Пример 50. Заданы два вектора x и y. Являются ли они поэлементно равными.
program pr50;
var
 i:integer;
 a:boolean;
  x,y: array[1..10] of real;

                                                                                         67