Как написать программу в паскале - Компьютерные вопросы

Вопрос Как написать программу в паскале

Регистрация
3 Фев 2013
Сообщения
99
Репутация
0
Спасибо
0
Монет
0
Задание
Написать программу которая :
1.Описывает одномерный массив из 10 элементов
2.вводит значение элементов массива с клавиатуры
3.выводит на экран значение второго по величине элемента
4.если такого значения нет вывести No
программа должна осуществлять поиск за однократный проход по массиву.

Я могу написать программу которая проходится 2 раза по массиву но как написать такую чтобы она проходилась только один раз
 
Регистрация
17 Июн 2013
Сообщения
90
Репутация
0
Спасибо
0
Монет
0
var min_vals : array [1..2] of integer; data: array [1..10] of integer; ... Здесь ввод ... if data[1] < data[2] then begin min_vals[1] := data[1]; min_vals[2] := data[2] end else begin min_vals[1] := data[2]; min_vals[2] := data[1] end; for i := 3 to 10 do begin if data < min_vals[1] then begin min_vals[2] := min_vals[1]; min_vals[1] := data end else if data < min_vals[2] then begin min_vals[2] := data end; В результате в min_vals[1] - минимальный, в min_vals[2] - следёющий по величине. Но если в массиве есть два идентичных минимальных элемента, они оба окажутся в min_vals.
 
Регистрация
19 Дек 2013
Сообщения
88
Репутация
-3
Спасибо
0
Монет
0
3 переменных 1я -- есть или нет (изначально ноль) 2я -- текущее значение 3я -- входное и по ходу ввода во вторую отправлять меньшее текущего или текущее, если новое больше и первой присваивать единичку если такое случилось
 
Сверху Снизу