Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Хурма
0 / 0 / 8
Регистрация: 26.10.2013
Сообщений: 40
#1

Разделить программу на процедуры и функции - Pascal ABC

24.12.2013, 21:47. Просмотров 329. Ответов 2
Метки нет (Все метки)

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
const
  n=12;
var
  a: array[1..n,1..n] of integer;
  b: array[1..n,1..n] of integer;
  i,j,jmin,jmax,j1,j2,k: integer;
begin
  writeln('ÈñõîäГ*ûé Г¬Г*Г±Г±ГЁГў:');
  for i:=1 to n do
  begin
    jmin:=1; jmax:=1; k:=0;
    for j:=1 to n do
    begin
 
a[i,j]:=random(100);
while (a[i,j] mod 4 = 0)=false do begin
      a[i,j]:=random(99)+1;
      end;
      write(a[i,j]:4);
      if a[i,j]<a[i,jmin] then jmin:=j;
      if a[i,j]>a[i,jmax] then jmax:=j;
    end;
    if jmin<jmax then begin
      j1:=jmin; j2:=jmax;
    end else begin
      j1:=jmax; j2:=jmin;
    end;
    for j:=j1+1 to j2-1 do
    begin
      inc(k);
      b[i,k]:=a[i,j];
    end;
    if k<n then for j:=k+1 to n do b[i,j]:=0;
    writeln;
  end;
  writeln('Ïîëó÷åГ*Г*ûé Г¬Г*Г±Г±ГЁГў:');
  for i:=1 to n do
  begin
    for j:=1 to n do
      write(b[i,j]:4);
    writeln;
  end;
  writeln;
end.

я попыталась сделать, но выдаёт ошибку "ожидался оператор" где процедура vyvod

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
const n=12;
type mas=array [1..n,1..n] of integer;
var a,b:mas;i,j,jmin,jmax,j1,j2,k: integer;
 
 
procedure vvod (var a:mas);
var i,j,k:integer;
begin
writeln('ÈñõîäГ*ûé Г¬Г*Г±Г±ГЁГў:');
  for i:=1 to n do
  begin
    jmin:=1; jmax:=1; k:=0;
    for j:=1 to n do
    begin
 
a[i,j]:=random(100);
while (a[i,j] mod 4 = 0)=false do begin
a[i,j]:=random(99)+1;
end;
end;
end;
 
procedure vyvod (a:mas);
var i,j:integer;
begin
for i:=1 to 12 do
begin
for j:=1 to 12 do
write(a[i,j]:4);
writeln;
end;
end;
 
procedure min_and_max (var a:mas; jmax, jmin:integer);
var   i,j,j1,j2, k : integer;
begin
for i:=1 to 12 do begin
for j:=1 to 12 do begin
if a[i,j]<a[i,jmin] then jmin:=j;
      if a[i,j]>a[i,jmax] then jmax:=j;
    end;
    if jmin<jmax then begin
      j1:=jmin; j2:=jmax;
    end else begin
      j1:=jmax; j2:=jmin;
    end;
    for j:=j1+1 to j2-1 do
    begin
      inc(k);
      b[i,k]:=a[i,j];
    end;
    if k<n then for j:=k+1 to n do b[i,j]:=0;
    writeln;
  end;
  
 
procedure vyvod2  (b,a:mas);
var  i,j: integer;
begin
writeln('Ïîëó÷åГ*Г*ûé Г¬Г*Г±Г±ГЁГў:');
 
  for i:=1 to n do
  begin
    for j:=1 to n do
      write(b[i,j]:4);
    writeln;
  end;
  writeln;
end.
  
  
begin
n:=12;
vvod(a);
vyvod(a);
min_and_max(a, jmax, jmin);
vyvod2(b,a);
end.

http://www.cyberforum.ru/pascal/thread137481.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2013, 21:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Разделить программу на процедуры и функции (Pascal ABC):

Процедуры и функции пользователя. Составить программу
Вычислить : а) Z=(s1+s2)/2 где s1 сумма положительных элементов массива...

Составить программу с использованием процедуры и функции
Задана целочисленная матрица размером n*m. Написать программу, позволяющую...

Составить программу используя процедуры и функции.
Буду очень благодарен, тем кто поможет. Найти нормы матрицы A размера 4x3...

Упростить программу через Процедуры и функции
uses crt; cоnst n=5; var i,j:integer; otv:real; sl:array of integer; ...

Разработать программу с использованием процедуры и функции модуля
1. Открыть окно с координатами x1=13, y1=3, x2=68, y2=20 2. Окрасить его вы...

2
centrum
14 / 14 / 14
Регистрация: 09.12.2012
Сообщений: 56
25.12.2013, 00:03 #2
У вас в каждой процедуре END'а не хватало. И константе вы зачем-то присваиваете в программе значение) Вроде исправил то, что просили:
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
const n=12;
type mas=array [1..n,1..n] of integer;
var a,b:mas;i,j,jmin,jmax,j1,j2,k: integer;
 
 
procedure vvod (var a:mas);
var i,j,k:integer;
begin
writeln('ÈñõîäГ*ûé Г¬Г*Г±Г±ГЁГў:');
  for i:=1 to n do
  begin
    jmin:=1; jmax:=1; k:=0;
    for j:=1 to n do
    begin
 
a[i,j]:=random(100);
while (a[i,j] mod 4 = 0)=false do begin
a[i,j]:=random(99)+1;
end;
end;
end;
end;
 
procedure vyvod (a:mas);
var i,j:integer;
begin
for i:=1 to 12 do
begin
for j:=1 to 12 do
write(a[i,j]:4);
writeln;
end;
end;
 
procedure min_and_max (var a:mas; jmax, jmin:integer);
var   i,j,j1,j2, k : integer;
begin
for i:=1 to 12 do begin
for j:=1 to 12 do begin
if a[i,j]<a[i,jmin] then jmin:=j;
      if a[i,j]>a[i,jmax] then jmax:=j;
    end;
    if jmin<jmax then begin
      j1:=jmin; j2:=jmax;
    end else begin
      j1:=jmax; j2:=jmin;
    end;
    for j:=j1+1 to j2-1 do
    begin
      inc(k);
      b[i,k]:=a[i,j];
    end;
    if k<n then for j:=k+1 to n do b[i,j]:=0;
    writeln;
  end;
  end;
 
 
procedure vyvod2  (b,a:mas);
var  i,j: integer;
begin
writeln('Ïîëó÷åГ*Г*ûé Г¬Г*Г±Г±ГЁГў:');
 
  for i:=1 to n do
  begin
    for j:=1 to n do
      write(b[i,j]:4);
    writeln;
  end;
  writeln;
end;
 
 
begin
vvod(a);
vyvod(a);
min_and_max(a, jmax, jmin);
vyvod2(b,a);
end.
1
Хурма
0 / 0 / 8
Регистрация: 26.10.2013
Сообщений: 40
25.12.2013, 12:20  [ТС] #3
пишет ошибку: выход за границы диапазона изменения индекса 1..12
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 12:20
Привет! Вот еще темы с решениями:

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

Составить программу, используя процедуры и функции модуля CRT
Выполнить задание, используя процедуры и функции модуля CRT.

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru