Задача 4 Урок 15

Задача 4 Урок 15

Пользователь вводит массив целых чисел из 7 элементов. Найдите из них два самых больших числа и выведите их на экран.

program lesson15_4;

procedure maximum(var b: array of integer);
var
    i, temp: integer;
begin
  	for i := low(b) to high(b) - 1 do
        if (b[i] > b[i + 1]) then
        begin
            temp := b[i + 1];
            b[i + 1] := b[i];
            b[i] := temp;
  	    end;
end;

var
    a: array[0..6] of integer;
    i: integer;
begin
    for i := 0 to 6 do
    begin
      write('a[', i, '] = ');
      readln(a[i]);
	end;

    for i := 0 to 1 do
        maximum(a);

    writeln(a[5], ' ', a[6]);
    readln();
end.
vedro-compota's picture

переделаем за один цикл

_____________
матфак вгу и остальная классика =)

program lesson15_4;

var
    a: array[1..7] of integer;
    i, max1, max2: integer;
begin
    for i := 1 to 7 do
    begin
      write('a[', i, '] = ');
      readln(a[i]);
	end;

    if a[1] > a[2] then
    begin
        max2 := a[1];
        max1 := a[2];
    end
    else begin
        max2 := a[2];
        max1 := a[1];
    end;

    for i := low(a) + 2 to high(a) do
        if a[i] > max2 then
        begin
            max1 := max2;
            max2 := a[i];
	    end
        else if a[i] > max1 then
            max1 := a[i];
	writeln(max1, ' ', max2);
    readln();
end.  
vedro-compota's picture

решение засчитано

_____________
матфак вгу и остальная классика =)