Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Массив

Автор: Анна 6.06.2007 23:21

Программа выводит на экран наибольшую разность между парами элементов массива.
Как на экран вывести эту пару?

program mass6(input,output);
uses crt;
var a: array[1..4] of real;
n,i,j,k:integer;
max:real;
el1,el2:integer;

begin
n:=4;
randomize;
for i:=1 to n do begin
a[i]:=random(10);
end;
clrscr;
writeln;
writeln('Исходный массив: ');
for i:=1 to n do
write(a[i]:5:0);
writeln;

max:=A[1]-A[2];
for j:=1 to n do begin
for k:=1 to n do begin
if max < A[j]-A[k] then max:=A[j]-A[k];
writeln('********************');
writeln(a[j]:5:0,a[k]:5:0);
end;
end;

write('naibolshaya raznost =');
writeln(max:2:0);
write('para elementov : ');
{???}
readln;



end.



Автор: compiler 6.06.2007 23:33

может както так...


{...}
el1,el2:real;
{...}
if max < A[j]-A[k] then begin
el1:=A[j]; el2:=A[k];
max:= A[j]-A[k];
end;
{...}
write('para elementov : ', el1, el2);
{...}

ЗЫ а куда ты все это выводишь ?

Автор: Анна 7.06.2007 0:32

На экран ))

Автор: compiler 7.06.2007 0:43

Цитата(Анна @ 6.06.2007 20:32) *
На экран ))
и у тебя выводится Исходный массив?

Автор: compiler 7.06.2007 18:54

и еще если у тебя массив вещественных чисел то вместо

a[i]:=random(10);
пиши
a[i]:=random(10)+random;
, для добавления дробной части... или уже объявляй вектор целых чисел