Вывести три неповторяющихся элемента массива и их номера - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

необходимо, чтобы программа выводила три НЕПОВТОРЯЮЩИХСЯ элемента массива и их номера Что нужно поправить?
Листинг программы
  1. const n=5;
  2. var a:Array[1..n] of integer;
  3. i,min1,min2,min3,k1,k2,k3:integer;
  4. begin
  5. for i:=1 to n do begin
  6. read(a[i]);
  7. write(a[i],' ');
  8. end;
  9. min1:=1001;min2:=1001;min3:=1001;
  10. k1:=0;k2:=0;k3:=0;
  11. for i:=1 to n do begin
  12. if a[i]< min1 then begin min2:=min1;min1:=a[i];k2:=k1; k1:=i; end else
  13. if a[i]< min2 then begin min3:=min2;min2:=a[i];k3:=k2;k2:=i; end else
  14. if a[i]< min3 then begin min3:=a[i];k3:=i;end;
  15. end;
  16. writeln;
  17. write(min1,' ',min2,' ',min3);
  18. writeln;
  19. write(k1,' ',k2,' ',k3);
  20. end.

Решение задачи: «Вывести три неповторяющихся элемента массива и их номера»

textual
Листинг программы
  1. if a[i]< min1 then begin min2:=min1;min1:=a[i];k2:=k1; k1:=i; end else
  2. if (a[i]< min2) and (a[i] > min1) then begin min3:=min2;min2:=a[i];k3:=k2;k2:=i; end else
  3. if (a[i]< min3) and (a[i] > min2) then begin min3:=a[i];k3:=i;end;

Объяснение кода листинга программы

В данном коде выполняется поиск трех минимальных элементов массива a.

  1. Переменная min1 инициализируется значением первого элемента массива a.
  2. Переменная min2 инициализируется значением второго элемента массива a.
  3. Переменная min3 инициализируется значением третьего элемента массива a.
  4. Переменные k1, k2 и k3 используются для сохранения номеров найденных минимальных элементов.
  5. В цикле происходит сравнение каждого элемента массива a с значениями переменных min1, min2 и min3.
  6. Если текущий элемент меньше значения переменной min1, то значение переменной min2 присваивается значение переменной min1, а значение переменной min1 присваивается значение текущего элемента. Также, значение переменной k1 присваивается значение i.
  7. Если текущий элемент меньше значения переменной min2 и больше значения переменной min1, то значение переменной min3 присваивается значение переменной min2, а значение переменной min2 присваивается значение текущего элемента. Также, значение переменной k2 присваивается значение i.
  8. Если текущий элемент меньше значения переменной min3 и больше значения переменной min2, то значение переменной min3 присваивается значение текущего элемента. Также, значение переменной k3 присваивается значение i.
  9. После завершения цикла, в переменной min1 будет храниться наименьший элемент массива a, в переменной min2 - второй наименьший элемент, и в переменной min3 - третий наименьший элемент. В переменной k1 будет храниться номер первого минимального элемента, в переменной k2 - номер второго минимального элемента, и в переменной k3 - номер третьего минимального элемента.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы