Найти три минимума в массиве - PascalABC.NET

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

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

уважаемые, дана задача мне, найти три минимума в массиве. дословное условие: "Напишите программу, которая находит в массиве три минимальных элемента, то есть три первых элемента массива после сортировки по возрастанию. Входные данные Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 3 < N ≤ 10000 . Выходные данные Программа должна вывести в одной строке три минимальных элемента массива в порядке возрастания, разделив их пробелами." мой код:
Листинг программы
  1. program MASSIV4Ik;
  2.  
  3. var a:array[1..100000] of longint;
  4. k,l,m,i,n:longint;
  5. begin
  6. readln(n);
  7. for i:=1 to n do
  8. read(a[i]);
  9. k:=a[1];
  10. l:=a[2];
  11. m:=a[3];
  12. for i:=4 to n do begin
  13. if (a[i]<a[1]) or (a[i]<a[2]) or (a[i]<a[3]) then
  14. if (k>m) and (k>l) then k:=a[i]
  15. else if (m>k) and (m>l) then m:=a[i]
  16. else if (l>m) and (l>k) then l:=a[i]
  17. end;
  18. if (k>l) and (k>m)
  19. then if m>l then write(l,' ',m,' ',k)
  20. else writeln(m,' ',l,' ',k)
  21. else if (l>k) and (l>m)
  22. then if k>m then writeln(m,' ',k,' ',l)
  23. else writeln(k,' ',m,' ',l)
  24. else if (m>l) and (m>k)
  25. then if l>k then writeln(k,' ',l,' ',m)
  26. else writeln(l,' ',k,' ',m);
  27. end.
но при загрузке этого кода в систему, компьютер выдает только 1 верное решение из 23 в чем ошибка?

Решение задачи: «Найти три минимума в массиве»

textual
Листинг программы
  1. :=
  2.     (integer.MaxValue, integer.MaxValue, integer.MaxValue)

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


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

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

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

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

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

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