• Что я не так делаю?
    паскаль
    поиск двух максимальных чисел

    program ee;
    const N = 5;
    var
    a : array [1..5]of integer;
    iMax,max, iiMa,ma ,i : integer;
    begin
    for i:= 1 to N do begin
    read (a[i]);
    end;
    write (' числа ', a );
    iMax := a[1];// присваиваем для начального сравнения
    for i := 1 to N do
    if a[i] > iMax then//сравниваем 5 чисел и берём наибольшее 
    begin
    iMax := a[i];//число
    max := i;//на каком месте
    end;
    write (' первое максимальное значение ', iMax,' ',max );
    iiMa := a[1];//присваиваем для начального сравнения
    ma := 1;//
    for i := 1 to N do//
    if (iiMa < a[i])and(ma < max)then// ищем второе наибольшее число

    begin
    iiMa := a[i];//
    ma := i//
    end;
    write (' второе максимальное значение ', iiMa,' ', ma);
    end.

Ответы 6

  • Если внезапно 1ый элемент будет максимальным, то дальше действия просто не пойдут, то есть iiMa и ma не изменятся
    • Автор:

      gizmorwbn
    • 5 лет назад
    • 0
  • Так и останутся значениями a[1] и 1. А это так же может оказаться и значенияiMax и max
  • А ясно. Спасибо ещё раз.
    • Автор:

      buchanan
    • 5 лет назад
    • 0
  • Если будут еще вопросы, возможно, по другим программам - пиши в личку)
    • Автор:

      benitez
    • 5 лет назад
    • 0
  • хорошо
  • Нашел. у тебя ma изначально 1, тоесть условие ma<>max почти всегда не будет иметь значения 
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years