Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 31

процедуры и функции

20.01.2010, 21:21. Показов 675. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача в Паскале
Создать два одномерных массива А и В различной длины. Определить максимальное и минимальное значения с помощью одной функции. Рассортировать по убыванию числа от начала массива до первого экстремума, от первого до второго экстремума и от второго до конца массива. После каждой сортировки результаты выводить.

Помогите плиз до ума довести!
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
AL=8;BL=12;
Type
mas=array[1..al+BL] of integer;
VAR
a,b:mas;
i,j,k,t,minA,maxA,minB,maxB,intminA,intmaxA,intminB,intmaxB:integer;
 
Procedure Sozd(var d:mas; n:integer);
begin
for i:=1 to n do
d[i]:=random(500);
end;
 
Procedure Vivod(var d:mas; n:integer; t:string);
begin
writeln(t);
for i:=1 to n do
write(d[i],' ');
writeln;
end;
 
procedure MinMax(d:mas; n:integer; var intmin,intmax:integer);
var i:integer; mmin:integer; mmax:integer; {intmin:integer; intmax:integer;}
begin
mmin:=d[1]; mmax:=d[1];{}
for i:=1 to n do
begin
if d[i]<mmin then
begin
mmin:=d[i];
intmin:=i;
end;
if d[i]>mmax then
begin
mmax:=d[i];
intmax:=i;
end;
end;
{ min:=mmin;
max:=mmax;
minint:=intmin;
maxint:=intmax;}
end;
 
procedure Sort(d:mas; nach,kon:integer);{ maxint:integer; minint:integer);}
var c,n:integer; min,nmin,nmax,max:integer;
begin
for k:=n downto 1 do begin
min:=maxint;
for i:=1 to k do
if a[i]<min then begin
nmin:=i;
min:=a[i];
end;
a[nmin]:=a[k];
a[k]:=min;
end;
 
{ if minint<maxint then
begin
left:=minint;
right:=maxint
end
else
begin
left:=maxint;
right:=minint
end;
 
i:=1;
while i<left-1 do
begin
if d[i]<d[i+1] then
begin
c:=d[i];
d[i]:=d[i+1];
d[i+1]:=c;
if i>1 then dec(i)
end
else inc(i);
end;
 
i:=left+1;
while i<right-1 do
begin
if d[i]<d[i+1] then
begin
c:=d[i];
d[i]:=d[i+1];
d[i+1]:=c;
if i>left+1 then dec(i)
end
else inc(i);
end;
 
i:=right+1;
while i<n do
begin
if d[i]<d[i+1] then
begin
c:=d[i];
d[i]:=d[i+1];
d[i+1]:=c;
if i>right+1 then dec(i)
end
else inc(i);
end;
Vivod(d,n,' ~~отсортированный массив~~');}
end;
 
BEGIN
writeln('AL=',AL,' BL=',BL);
randomize;
 
Sozd(a,AL);
Vivod(a,AL,' ~~массив А~~');
MinMax(a,AL,{MinA,MaxA,}intminA,intmaxA);
writeln('MinA=',a[intmina]);
writeln('MaxA=',MaxA); {}
writeln('номер минимального элемента=',intminA);
writeln('номер максимального элемента=',intmaxA);
{ Sort(a,AL,intminA,intmaxA);}
 
Vivod(a,AL,' ~~массив А~~');
 
Sozd(b,BL);
Vivod(b,BL,' ~~массив В~~');
MinMax(b,BL,MinB,MaxB,intminB,intmaxB);
writeln('MinB=',MinB);
writeln('MaxB=',MaxB);
writeln('номер минимального элемента=',intminB);
writeln('номер максимального элемента=',intmaxB);
Sort(b,BL,intminB,intmaxB);
 
 
END.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.01.2010, 21:21
Ответы с готовыми решениями:

Процедуры и функции: решить через процедуры S=a*x+b*y+c*z.
Пожалуста помогите решить через процедуры S=a*x+b*y+c*z.

Процедуры и функции. Процедуры с числовыми параметрами
Описать процедуру RectPS (x1, y1, x2, y2, P, S), вычисляющую периметр P и площадь S прямоугольника...

Процедуры и функции: вычислить значения функции на заданном отрезке с заданным шагом
ребята, помогите, пожалуйста! Срочно нужна такая программка по выделенному варианту... у самой...

3
1916 / 1066 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
20.01.2010, 21:38
да тут объем большой, задача то легкая, а писать много
0
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 31
20.01.2010, 21:39  [ТС]
да.. мне все говорят что легко.. я вот не соображаю((
0
1916 / 1066 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
20.01.2010, 21:52
вот вам половина
дальше сами опишите процедуру сортировки массива b
еще нужно предусмотреть как будут находится индексы максимума и минимума, чтобы потом сортировать
короче делайте по аналогии, как я описал сортировку массива а
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
uses crt;
Type arr=array[1..100] of integer;
 
procedure InputMassiveAandB(var ar,br:arr; var n,m:byte);
var i,j:byte;
begin
Randomize;
Writeln('Razmernost matrix A: ');
repeat
Write('n=');
Readln(n);
until n in [1..100];
Writeln('Razmernost matrix B: ');
repeat
Write('m=');
Readln(m);
until m in [1..100];
for i:=1 to n do
 ar[i]:=random(20)-10;
for i:=1 to m do
 br[i]:=random(20)-10;
end;
 
function MinMaxMassiveA(a:arr; n:byte; var imin1,imax1:integer):integer;
var i,j:byte;
    max1,min1:integer;
begin
max1:=a[1];
imax1:=1;
min1:=a[1];
imin1:=1;
for i:=1 to n do
 begin
  if a[i]>max1 then
   begin
    max1:=a[i];
    imax1:=i;
   end;
  if a[i]<min1 then
   begin
    min1:=a[i];
    imin1:=i;
   end;
 end;
end;
 
function MinMaxMassiveB(b:arr; m:byte; var imin2,imax2:integer):integer;
var i,j:byte;
    max2,min2:integer;
begin
max2:=b[1];
imax2:=1;
min2:=b[1];
imin2:=1;
for i:=1 to m do
 begin
  if b[i]>max2 then
   begin
    max2:=b[i];
    imax2:=i;
   end;
  if b[i]<min2 then
   begin
    min2:=b[i];
    imin2:=i;
   end;
end;
end;
 
procedure SortMassiveA(a:arr; n:byte);
var i,j:byte;
    x,imin,imax:integer;
begin
MinMaxMassiveA(a,n,imin,imax);
for i:=1 to imin-1 do
for j:=i to imin-1 do
if a[i]<a[j] then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
for i:=imin+1 to imax-1 do
for j:=i to imax-1 do
if a[i]<a[j] then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
for i:=imax+1 to n do
for j:=i to n do
if a[i]<a[j] then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
 
 
end;
 
procedure OutputMassiveAandB(var ar,br:arr; n,m:byte);
var i,j:byte;
begin
for i:=1 to n do
 Write(ar[i]:4);
Writeln;
for i:=1 to m do
 Write(br[i]:4);
end;
 
var a,b:arr;
    k,l:byte;
begin
ClrScr;
InputMassiveAandB(a,b,k,l);
Writeln;
OutputMassiveAandB(a,b,k,l);
SortMassiveA(a,k);
Readln;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.01.2010, 21:52
Помогаю со студенческими работами здесь

Нахождение значения функции с использованием процедуры или функции
Найти значение функции у, использовать не менее 1й подпрограммы функции или подпрограммы процедуры....

Найти значение функции, используя процедуры и функции
Помогите плз написать программу с помощью процедур и функций. Найти значение функции ...

Функции и процедуры.
Дан вектор A. Получить сумму и количество элементов, кратных 2, находящихся в диапазоне и...

процедуры и функции
дано натуральное число.найти все его делители. подсчитать их число.

функции и процедуры
помогите решить задачку используя процедуры или функции: футболист ударом ноги посылает мяч...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки на предмет заполнения реквизитов реализован с целью установки значения по умолчанию,. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru