AnTul
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вот сама программа: Program Task4; Const N=15; Var mas:array[1..N] of real; {Ограничение длины массива} m:integer; Procedure vozr; {Процедура сортировки массива по возрастанию} Var i,j:integer; x:real; Begin i:=2; While i<=m do begin j:=m; While j>=i do begin if mas[j-1]>mas[j] then begin x:=mas[j-1]; mas[j-1]:=mas[j]; mas[j]:=x; end; j:=j-1; end; i:=i+1; end; End; Procedure ubyv; {Процедура сортировки массива по убыванию} Var i,j:integer; x:real; Begin i:=2; While i<=m do begin j:=m; While j>=i do begin if mas[j-1]<mas[j] then begin x:=mas[j-1]; mas[j-1]:=mas[j]; mas[j]:=x; end; j:=j-1; end; i:=i+1; end; End; Procedure mass; {Процедура создания массива} Var i:integer; Begin i:=0; WriteLN ('Введите количество элементов массива (не более 15-ти): '); Read(m); while m>N do begin WriteLN('Ошибка! Ваше число пpевышает 15. Введите еще pаз: '); Read(m); end; WriteLN ('Введите ', m, ' чисел: '); for i:=1 to m do read (mas[i]); End; Procedure menu; {Процедура работы меню} Var k,i,l:integer; Begin WriteLN('Выберете необходимое действие (нажмите клавишy 1, 2, 3, 4 или 5):'); WriteLN('1. Создать новый массив. '); WriteLN('2. Отсортировать массив по возрастанию. '); WriteLN('3. Отсортировать массив по убыванию. '); WriteLN('4. Найти элемент массива. '); WriteLN('5. Выход. '); Read(l); if l=1 then {Если выбран 1-й пункт меню, то создается массив} Begin mass; menu; end; if l=2 then {Если выбран 2-й пункт меню, то массив сортируется по возрастанию} Begin vozr; WriteLN('Выводим отсоpтиpованный по возpастанию массив: '); for i:=1 to m do WriteLN(mas[i]:4:4); menu; end; if l=3 then {Если выбран 3-й пункт меню, то массив сортируется по убыванию} Begin ubyv; WriteLN('Выводим отсоpтиpованный по yбыванию массив: '); for i:=1 to m do WriteLN(mas[i]:4:4); menu; end; if l=4 then {Если выбран 4-й пункт меню, то выводится значение заданной ячейки массива} Begin WriteLN('Введите номеp ячейки массива: '); Read(k); while k>m do begin WriteLN('Ошибка! Ваше число пpевышает ',m,'. Введите еще pаз: '); Read(k); end; WriteLN('Значением ячейки ',k,' яявляетсяя: ', mas[k]:4:4); menu; end; if l=5 then WriteLN('Good Bye!'); {Если выбран 5-й пункт меню, то происходит выход из программы} halt; End; Begin mass; {Вызов процедуры создания массива} menu; {Вызов процедуры меню} End.
учимся пользоваться тегом [more] | Всего записей: 5490 | Зарегистр. 13-07-2004 | Отправлено: 20:15 24-05-2006 | Исправлено: ShIvADeSt, 03:13 25-05-2006 |
|