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

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

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

Автор: Женёк 17.01.2009 18:58

Даны натуральные числа n,a1....an (n>=4). Числа а1,...,an- это измеренные в сотых долях секунды результаты n спротцменов в беге на 100м. Составить коннду из четырех лучших бегунов для участия в эстафете 4*100, т.е. указать одну из четверок натуральных чисел i,j,k,l для которой 1<=i<j<k<l<=n и ai+aj+ak(k)+al иеммет наименьшее значение. Решить задачуположив для этого k=4.


вот я тута накат сма посмотрите протеституйте
Код программы:

 program n3;
uses crt;
{type a=array[1..100] of real; }
var i,j,n,k:integer;
max:real ;
a:array[1..100] of real;
begin
clrscr;
writeln('введите количество спортцменов');
readln(n);
for i:=1 to n do begin
write('введите результат',i,'спортцмена ');
readln(a[i]);
end;
writeln('результат забега');
for i:=1 to n do
writeln (a[i]);
for i:=1 to n-1 do begin
for j:=1 to n-1 do begin
if a[j]>a[j+1] then
begin
max:=a[j];
a[j]:=a[j+1];
a[j+1]:=max;
end; end; end;
writeln('---------------------');
for j:=1 to 4 do write(a[j]:3 :2,' ');
writeln;
readkey;
end.


Тегами пользоваться не забывай ...

Автор: klem4 24.01.2009 15:43

Ну тут мне кажется без сортировки можно обойтись, всего за один проход по массиву можно найти 4 максимума.
Пдсказка: заведи дополнительный массив из 4-х элементов rolleyes.gif