Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Coban2k

добавить подпрограммы в меню

14.06.2011, 12:40. Показов 457. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна помощь с паскалем.
имеется программа
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
program menu;
uses crt, graph;
            const n=5;
            x1=-6;
            x2=6;
var a:array[1..n,1..n] of integer;
    b:array[1..n,1..n] of integer;
    gd, gm: integer;
    x,y:real;
max,i,j,min,a1,b1:integer;
 m:array [1..n,1..n] of integer;
 mx,my,p,o,dx,w:real;
Driver,Mode:integer;
Color:word;
x0,y0:word;
 s2,s1:string;
 xg,yg:word;
size,d,z:word;
 
type
strmenu=record
z:integer;
s:string[14];
end;
Const
kol=5;
mas:array[1..kol] of strmenu=
((z:6; s:'Vvod Dannyx'),
(z:20; s:'Sortirovka'),
(z:35; s:'Graphik'),
(z:50; s:'Vyvod dannyx'),
(z:63; s:'Exit'));
Var
e:integer;
k:integer;
ch:char;
procedure InputDan;
begin
clrscr;
randomize;
for i:=1 to n do
for j:=1 to n do begin writeln('vvedite element ',i,' stroki ',j,' stolbca ');
readln(a[i,j]);
end;
for i:=1 to n do
for j:=1 to n do
b[j,n+1-i]:=a[i,j];
end;
procedure SortDan;
begin {
clrscr;
write(m[i,j]);
for i:=1 to n-1 do begin
for j:=1 to n-i do
if m[3,j]>=m[3,j+1] then begin min:=m[3,j];m[3,j]:=m[3,j+1];m[3,j+1]:=min;
end;
for j:=1 to n do
write(m[3,j],' ');
readln(m[i,j]);
end;}
end;
procedure GraphFun;
begin
Clrscr;
Writeln('Postroit graphik y=cos2x-sinx');
 
    xg:=0;
    yg:=0;
    DRiver:=VGA;
    Mode:=VGAHi;
    InitGraph(DRiver,Mode,'‘:\');
         if GraphResult<>grok then
            begin
writeln('Oshibka pri vkluchenii');
    writeln('Graphicheskogo regima');
    Halt;
            end;
x0:=140;
y0:=(GetMaxY div 2)+40;
setBkColor(7);
setColor(white);
ClearDevice;
Line(x0,40,x0,GetMaxY-40);
Line(x0-100,y0,GetMaxX-40,Y0);
MoveTo(x0,y0);
Size:=1;
settextstyle(0,0,size);
outtextxy(x0-2,y0+5,'0');
outtextxy((getmaxx div 2)-40,y0-100,'y=cos(x)*cos(x)-sin(x)');
outtextxy(getmaxx-80,y0+5,'x');
outtextxy(x0-10,80,'y');
For d:=1 to 3 do
Line(x0+20*i,y0-3,x0+20*i,y0);
outtextxy(x0+20,y0+5,'1');
outtextxy(x0+63,y0+5,'3');
Line(x0-20,y0-3,x0-20,y0);
outtextxy(x0-25,y0+5,'-1');
Line(x0,y0+20,x0+3,y0+20);
outtextxy(x0-13,y0+20,'-1');
setColor(red);
x:=-6;
y:=cos(x)*cos(x)-sin(x);
xg:=x0+round(x*20);
yg:=y0-round(y*20);
MoveTo(xg,yg);
for d:=1 to 180 do
begin
x:=-6+0.1*d;
y:=cos(x)*cos(x)-sin(x);
xg:=x0+round(x*20);
yg:=y0-round(y*20);
LineTo(xg,yg);
end;
Readln;
CloseGraph;
end;
procedure OutputDan;
begin
clrscr;
for i:=1 to n do
for j:=1 to n do
b[j,n+1-i]:=a[i,j];
writeln;
writeln('ishodniy massiv:');
for i:=1 to n do begin
for j:=1 to n do
write(a[i,j]:5);
writeln; end;
writeln;
writeln('rezultat:');
for i:=1 to n do begin
for j:=1 to n do
write(b[i,j]:5);
writeln;
end;
max:=m[1,1];
for i:=2 to n do
if (max<m[i,i]) and (m[i,i] mod 2 =0) then max:=m[i,i];
writeln('maximalniy element glavnoy diagonali =',max);
readln(m[i,i]);
 
end;
begin
k:=1;
repeat
textattr:=7;
clrscr;
for e:=1 to kol do
begin
gotoxy(mas[e].z,3);
write(mas[e].s);
end;
textattr:=87;
gotoxy(mas[k].z,3);
write(mas[k].s);
ch:=readkey;
case ch of
#13:case k of
1:inputDan;
2:SortDan;
3:Graphfun;
4:OutputDan;
end;
#0:begin
ch:=readkey;
case ch of
#77:
if k<kol then
k:=k+1
else
k:=1;
#75:
if k>1 then
k:=k-1
else
k:=kol;
end;
end;
end;
until(ch=#13)and(k=5)or(ch=#27);
textattr:=7;
begin
clrscr;
end;
end.
Есть несколько заданий, некоторые задания в этой программе не работают, я почему то не могу правильно вставить готовые программы в это меню.

Вот задания:
1. Повернуть матрицу на 90 градусов по часовой стрелке (работает)

2. Найти максимальный четный элемент на главной диагонали матрицы (не работает)
3. Выполнить сортировку элементов 3-ей строки матрицы М по возрастанию ( не работает)
4. график (работает)
Вот программы без меню.
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
const n:=5;
  var a:array[1..n,1..n] of integer;
  var b:array[1..n,1..n] of integer;
  max,i,j,min,a1,b1:integer;
  begin
  {часть 1}
  for i:=1 to n do
  for j:=1 to n do begin writeln('Введите элемент ',i', строки ',j,' столбца ');
  readln(a[i,j]);
  end;
  for i:=1 to n do
  for j:=1 to n do
  b[j,n+1-i]:=a[i,j];
  writeln;
  writeln('исходный массив:');
  for i:=1 to n do begin
  for j:=1 to n do
  write(a[i,j]:5);
  writeln; end;
  writeln;
  writeln('результат:');
  for i:=1 to n do begin
  for j:=1 to n do
  write(b[i,j]:5);
  writeln;
  end;
  {часть 2}
  for i:=1 to n do
  for j:=1 to n do begin write('Введите элемент ',i,' строки ',j,' столбца: ');
  readln(m[i,j];
  end;
  writeln;
  writeln('исходный массив:');
  for i:=1 to n do begin
  for j:=1 to n do
  write(m[i,j]:5);
  writeln; end;
  max:m[1,1];
  for i:=2 to n do
  if (max<m[i,i]) and (m[i,i] mod 2 =0) then max:=[i,i];
  writeln('Максимальный элемент главной диагонали=',max);
  {часть 3}
  for i:=1 to n-1 do begin
  for j:=1 to n-i do
  if m[3,j>=m[3,j+1] then begin min:=m[3,j];m[3,j]:m[3,j]:m[3,j+1];m[3,j+1]:min;end
 ;
 end;
 for j:=1 to n do
 write(m[3,j],' ');
 readln;
 end.
Помогите, чтобы в меню они работали. Буду очень признателен!

и еще хотелось бы видеть
в процедуре ввода:
был дан выбор
1. ввод ручной (после чего начнется ввод чисел)
2. ввод автоматический (после чего выведет сообщение "данные успешно введены")
В выводе, если данные не были введены, т.е раннее не открывался пункт ввод, должна будет появится ошибка "Данные не введены"

Добавлено через 15 часов 31 минуту
Неужели все так сложно? помогите хотябы, чтобы программы работали.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.06.2011, 12:40
Ответы с готовыми решениями:

Добавить в программу подпрограммы
Дан вектор B а) найти произведение элементов в диапазоне и сумму положительных элементов. б) удалить минимальный элемент вектора в)...

Как вставить подпрограммы в меню?
Народ, нужна небольшая пoмощь, а точнее разъяснение. Есть программа меню. Нужно, чтобы при выборе пунктов меню выполнялись некоторые...

Добавить в прогу подпрограммы
program m10; {$APPTYPE CONSOLE} uses SysUtils; type mass=array of integer; var a:mass; i,k:integer; begin

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.06.2011, 12:40
Помогаю со студенческими работами здесь

Добавить в программу подпрограммы
Задание состоит в том, что нужно переписать вашу программу с использованием процедур или функций ЯП Pascal. Т.е. нужно написать процедуру...

Как добавить выплывающее меню к уже готовому горизонтальному меню (не меняя дизайн горизонтального меню)?
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt; &lt;html...

Добавить меню к итему меню, который уже находится в главном меню
Как можно программно добавить подменю к итему меню, который находится в главном меню? Чтобы выглядело это как-то наподобие того, что на...

Добавить подпрограммы в программе
Доброго времени суток! Помогите с заданием. Выполнить задания в среде Delphi. Выбор выполняемого задания должен осуществляется через...

Как выходить из подпрограммы в меню
Подскажите, как выходить из подпрограммы в меню? int menu() { string Menu = { &quot;1) &quot;, &quot; 2)&quot;, &quot;3)&quot;,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru