0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 40
1

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

24.12.2013, 21:47. Показов 1548. Ответов 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.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2013, 21:47
Ответы с готовыми решениями:

Определить номер строки и столбца имеющих минимальную сумму элементов: разделить код на процедуры и функции
program LR8; uses crt; Const nmax=100; type mas=array of integer; Var A:mas; i,j,n:byte;...

Как разделить программу на функции
Всем привет. Прошу помощи так как я не давно начал изучать C++. Есть программа, но никак не понимаю...

Как разделить программу на функции
Не знаю как разделить программу на функции. Буду рад если поможете :) #include &quot;stdafx.h&quot;...

Как разделить программу на функции
Не могу понять как мне разделить прогу на функции и вообще плохо понимаю что такое функции. Буду...

2
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 / 0
Регистрация: 26.10.2013
Сообщений: 40
25.12.2013, 12:20  [ТС] 3
пишет ошибку: выход за границы диапазона изменения индекса 1..12
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2013, 12:20
Помогаю со студенческими работами здесь

Как правильно разделить программу на функции?
Как правильно разделить программу на функции? Подскажите, пожалуйста #include &quot;pch.h&quot;...

Оформить программу (процедуры и функции)
Дан массив содержащий n элементов. Определить количество положительных элементов массива,...

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

Составить программу с использованием процедуры и функции
Помогите пожалуйста сделать программу. Составить программу с использованием: 1)процедуры vvod...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru