• объясните как работает эта программа по-шагово пожалуйста...
    program Lklkjo;
    uses crt;

    const
    n=10;
    var
    a:array[1..n]of integer;
    i,min,j,min2,min3:integer;
    begin
    for i:=1 to n do
    begin
    a[i]:=random(100);
    write(a[i]:4);
    end;
    min:=a[1];j:=1;min2:=a[1];min3:=a[1];
    for i:=1 to n do
    if a[i]<min then
               begin
    min:=a[i];
    j:=i;
    end;
    for i:=1 to n do
    if (a[i]>=min)and(i<>j)and( min2:=a[i]);
    writeln;
    for i:=1 to n do
    if (a[i]>min2)and(i<>j)and( min3:=a[i]);
    writeln;
    writeln(min,', ',min2,', ',min3);
    end.

Ответы 2

  • спасибо огромное))))))))))))))))
  • Прикладываю исходник и скрин в приложении к ответу.Несколько замечаний:1. Большое количество комментариев внесено в код исключительно в учебных целях. В реальную программу переносить не рекомендуется - признак нехорошего тона.2. У вас допущены синтаксические ошибки в двух последних циклах, а точнее - в операторах If, в которых стоит три условия (объединённых and), но нет ключевого слова "then" и последующих инструкций. Исправил.3. Так же, автор вашей программы построил на мой взгляд нелогичную структуру алгоритма. Переменные min, min2 и min3, как я догадался, должны хранить три минимальных значения массива.А вот что происходит в вашей конструкции: первый цикл безошибочно находит наименьший элемент и записывает его в min, а последующие два цикла записывают в min2 и min3 первые попавшиеся(начиная с первого) элементы, если они больше min. Таким образом, нет никакой закономерности в том, что попадёт в эти переменные и сложно представить, для какой задачи потребовались бы такие случайности.Одним из вариантов решения предлагаю изначально записывать в эти три переменные не значение первого элемента массива, а какое-то большое число, которое в массиве нам не встретится (например 100). Тогда цикл будет искать значения меньше 100 и перезаписывать им соответствующую переменную, пока не найдёт самое маленькое значение. В таком случае не очень стабильная переменная j нам так же не нужна, я её вычеркнул.Вам отсылаю уже с учётом поправок, однако если вам требовалась именно первоначальная версия несмотря на её минусы, просто поправьте синтаксис в последних циклах (41 и 34 строчка на скрине) и пользуйтесь ей.
    answer img
  • Добавить свой ответ

Войти через Google

или

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

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

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