Процедуры и функции, Процедуры и функции |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Процедуры и функции, Процедуры и функции |
NikiTaMoz |
4.01.2015 12:35
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: 0 |
В одномерном массиве определить максимальное значение. Рассортировать до максимального значения по возрастанию. Результат вывести. Затем рассортировать после максимального значения по возрастанию и снова вывести. А затем рассортировать весь массив и снова вывести.
В программе должны быть и процедуры и функции. Моя Программа: Код Pascal Const n=10; type mas=array[1..n] of integer; var Massiv:mas; max,i,pozicia,j,c:integer; procedure vivod(Massiv:mas); var i:integer; begin for i:=1 to n do write(Massiv[i],' '); writeln; end; begin for i:=1 to n do begin write('Введите ',i,' элемент'); readln(Massiv[i]); end; write('Входной массив '); vivod(Massiv); max:=Massiv[1]; pozicia:=1; for i:=1 to n do if Massiv[i]>max then begin max:=Massiv[i]; pozicia:=i; end; for i:=pozicia-1 downto 2 do for j:=1 to i do if Massiv[j]>Massiv[j+1] then begin c:=Massiv[j]; Massiv[j]:=Massiv[j+1]; Massiv[j+1]:=c; end; write('первое преобразование '); vivod(Massiv); for i:= pozicia+1 to n-1 do for j:=i+1 to n do if Massiv[i]>Massiv[j] then begin c:=Massiv[i]; Massiv[i]:=Massiv[j]; Massiv[j]:=c; end; write('второе преобразование '); vivod(Massiv); for i:=n-1 downto 2 do for j:= 1 to i do if Massiv[j]>Massiv[j+1] then begin c:=Massiv[j]; Massiv[j]:=Massiv[j+1]; Massiv[j+1]:=c; end; write('Итоговое преобразование '); vivod(Massiv); readln; end. Нужно добавить Сортировку в мою программу или написать вашу. |
Федосеев Павел |
4.01.2015 13:00
Сообщение
#2
|
Бывалый Группа: Пользователи Сообщений: 298 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 8 |
По поводу сортировки загляни в FAQ - ссылка выделена красным в верхней части этой страницы. Там есть статьи по работе с массивами и отдельная о сортировках.
Продолжай - будут вопросы - заходи. На период отладки могу порекомендовать типизированные константы (предопределённые массивы). Код type Mas = array [1..n] of integer; const <--------- если у тебя TurboPascal или var <-------- если у тебя FreePascal Massiv: Mas = (1, 5, 6, 3, 0, -1, 4, 100, -300, 500); |
Текстовая версия | 13.06.2024 7:11 |