Автор | Сообщение |
|
Отправлено: 08.03.20 13:15. Заголовок: Задача 27.
Здравствуйте. Техническое задание: на вход программы поступает последовательность из N целых положительных чисел. Нужно поменять местами наибольший и наименьший элементы последовательности. Если таких элементов несколько, действие нужно выполнить над первыми по порядку. Описание входных и выходных данных В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10000. Мой код: program ChangeMaxMin; uses crt; var N,max, min, i, x, posmax, posmin :integer; begin max:=0; min:=10001; clrscr(); readln(N); for i:=1 to N do begin readln(x); if max<x then begin max:=x; posmax:=i; end; if x<min then begin min:=x; posmin:=i; end end; gotoxy(1,posmax+1); write(min, ' '); gotoxy(30,30); gotoxy(1,posmin+1); write(max, ' '); gotoxy(50,30); end. Вопрос можно ли эффективно решить данную задачу без использования функции gotoxy()?
|
|
|
Ответов - 1
[только новые]
|
|
|
Отправлено: 08.03.20 14:05. Заголовок: Забавно работает: по..
Забавно работает: поменять местами строчки в консоли. Без записи чисел в массив поменять местами по другому будет нельзя, я думаю.
|
|
|