Дана последовательность не  более  N ненулевых целых чисел, последним числом в 

Дана последовательность
не более N
ненулевых целых чисел, заключительным числом в последовательности является
0. Ввести эту последовательность в одномерный массив и
вычислить хаpактеристики
.Отыскать порядковые номера и сумму двух наибольших элементов. ( в Паскаль )


Задать свой вопрос
1 ответ
Type
  tE = record
    v: integer;
    p: integer;
  end;

procedure Swap2E(var a: tE; var b: tE);
// Размен содержимым пары записей
var
  Buff: integer;
begin
  Buff := a.v; a.v := b.v; b.v := Buff;
  Buff := a.p; a.p := b.p; b.p := Buff
end;

procedure Swap3E(var a: tE; var b: tE; var c: tE);
// Обмен содержимым 3-х записей
// Подразумевается, что до вызова процедуры a.vgt;=b.v,
// после вызова значение с.v помещается в a.v или b.v так,
// чтоб большее из трех значений попало в a.v, а последующее
// по величине попало в b.v. Младшее значение теряется. 
begin
  if c.v gt;= a.v then begin
    Swap2E(a, b); Swap2E(a, c)
  end
  else
  if c.v gt; b.v then Swap2E(b, c);
end;

const
  n = 50;

var
  a: array[1..n] of integer;
  R1, R2, T: tE;
  i, e, m: integer;

begin
  i := 1;
  writeln('Вводите числа, 0 - конец ввода');
  repeat
    read(e);
    a[i] := e;
    i:=i+1;
  until e = 0;
  m := i;
  if a[1] gt; a[2] then begin
    R1.v := a[1]; R1.p := 1;
    R2.v := a[2]; R2.p := 2
  end
  else begin
    R1.v := a[2]; R1.p := 2;
    R2.v := a[1]; R2.p := 1
  end;
  for i := 3 to m do
  begin
    T.v := a[i];
    T.p := i;
    Swap3E(R1, R2, T)
  end;
  writeln('Наибольшие значения имеют элементы с номерами ', R1.p, ' и ', R2.p);
  writeln('Сумма этих частей равна ', R1.v + R2.v)
end.

Контрольный пример:

Вводите числа, 0 - конец ввода
18
6
13
40
14
52
0
Наибольшие значения имеют элементы с номерами 6 и 4
Сумма этих частей одинакова 92



, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт