Массивы. Найти 2 максимальных элемента массива - Pascal ABC
Формулировка задачи:
Надо найти 2 максимальных члена массива. Подскажите, в чём ошибка?
Решение задачи: «Массивы. Найти 2 максимальных элемента массива»
textual
Листинг программы
const n = 10; { ×èñëî ýëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ* } var arr: array[1..n] of integer; i, max1, max2, temp: integer; begin { Г‡Г*ïîëГ*ГїГҐГ¬ Г¬Г*Г±Г±ГЁГў ñëó÷Г*Г©Г*ûìè ýëåìåГ*ГІГ*ìè ГЁ âûâîäèì ГҐГЈГ® Г*Г* ГЅГЄГ°Г*Г* } Randomize; Write('ÑãåГ*åðèðîâГ*Г*Г*ûé Г¬Г*Г±Г±ГЁГў:'); for i := 1 to n do begin arr[i] := random(100); Write(' ', arr[i]); end; WriteLn; { Äëÿ Г*Г*Г·Г*Г«Г* ïðåäïîëîæèì, Г·ГІГ® ïåðâûå ýëåìåГ*ГІГ» Г¬Г*Г±Г±ГЁГўГ* ÿâëÿþòñÿ Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*ûìè } { (ÏðåäïîëîãГ*ГҐГІГ±Гї, Г·ГІГ® Гў Г¬Г*Г±Г±ГЁГўГҐ ГҐГ±ГІГј õîòÿ ГЎГ» äâГ* ýëåìåГ*ГІГ*) } max1 := arr[1]; max2 := arr[2]; { ГЏГіГ±ГІГј áîëüøèé ГЁГ§ Г*ГЁГµ áóäåò Гў max1, Г* ìåГ*ГјГёГЁГ© Гў max2 } if max1 < max2 then begin temp := max1; max1 := max2; max2 := temp; end; { ÏðîñìГ*òðèâГ*ГҐГ¬ îñòГ*ГўГёГЁГҐГ±Гї ýëåìåГ*ГІГ» } for i := 3 to n do begin { Åñëè ñëåäóþùèé ýëåìåГ*ГІ áîëüøå, Г·ГҐГ¬ ìèГ*ГЁГ¬Г*ëüГ*ûé ГЁГ§ óæå Г§Г*ïîìГ*ГҐГ*Г*ûõ, Г§Г*ïîìèГ*Г*ГҐГ¬ ГҐГЈГ® } if arr[i] > max2 then max2 := arr[i]; { Óäîñòîâåðÿåìñÿ, Г·ГІГ® áîëüøèé ГЇГ® ïðåæГ*åìó Гў max1 } if max1 < max2 then begin temp := max1; max1 := max2; max2 := temp; end; end; WriteLn('ГЊГ*ГЄГ±ГЁГ¬Г*ëüГ*ûé ýëåìåГ*ГІ - ', max1); WriteLn('Ñëåäóþùèé Г§Г* Г*ГЁГ¬ - ', max2); end.
Объяснение кода листинга программы
- Г-èñëî ýëåìåГòîâ Г¬ГГ±Г±ГЁГўГ* - массив из 10 элементов
- var i, max1, max2, temp: integer;
- Г‡ГïîëГГїГҐГ¬ Г¬ГГ±Г±ГЁГў ñëó÷ГГ©Гûìè ýëåìåГГІГìè ГЁ âûâîäèì ГҐГЈГ® ГГ ГЅГЄГ°ГГûé Г¬ГГ±Г±ГЁГў: - заголовок программы
- Äëÿ ГГГ·Гëà ïðåäïîëîæèì, Г·ГІГ® Гў Г¬ГГ±Г±ГЁГўГҐ ГҐГ±ГІГј õîòÿ ГЎГ» äâà ýëåìåГГІГ) - поиск двух максимальных элементов массива
- ГЏГіГ±ГІГј áîëüøèé ГЁГ§ ГГЁГµ áóäåò Гў max1, à ìåГ*ГјГёГЁГ© Гў max2 - сортировка массива методом
сортировки выбором
- Åñëè ñëåäóþùèé ýëåìåГГІ áîëüøèû, Г·ГҐГ¬ ìèГГЁГ¬ГëüГûé ГЁГ§ ГіГ¦Г̀ - поиск второго максимального элемента массива
- Óäîñòîâåðÿåìñÿ, Г·ГІГ® áîëüøèé ГЇГ® ïðåæГ*åìó Гў max1 - сортировка массива методом
сортировки выбором
- WriteLn('ГЊГГЄГ±ГЁГ¬ГëüГûé ýëåìåГГІ - ', max1);
- WriteLn('Ñëåäóþùèé çà ГГЁГ¬ - ', max2);
- end. - завершение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д