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

соединить эти две программы в одну Pascal ABC

15.12.2017, 14:32. Показов 958. Ответов 1
Метки нет (Все метки)

соедините эти две программы в одну
вот условие самой задачи:Используя процедуры ввода данных в матрицу и вывода одномерного массива, продемонстрировать работу процедуры из задачи 1 для матриц размером 10х10, состоящих
А) из подряд идущих натуральных чисел от 0 до 100
Б) из случайных вещественных чисел в диапазоне от 0 до 1
В) из случайных целых чисел в диапазоне от -10 до +10


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
Program qq;
Uses crt;
Const N=10;M=10;
type massiv=array[1..N,1..M] of integer;type massivD=array[1..N] of integer;
var i,j:integer;A:massiv;Ag,Ap:massivD;
Procedure soz(N,M:integer;var A:massiv);
var i,j:integer;
begin
for i:=1 to N do
for j:=1 to M do
A[i,j]:=random(2);
end;
Procedure D(A:massiv;N,M:integer;var A1,A2:massivD);
var i,j,k,k1:integer;
begin
k:=1;k1:=1;
for i:=1 to N do
for j:=1 to N do
begin
if i=j then begin A1[k]:=A[i,j]; inc(k) end; if j=N-i+1 then begin A2[k1]:=A[i,j]; inc(k1) end;end;end;
begin
soz(N,M,A);
for i:=1 to N do
begin
for j:=1 to M do
write(A[i,j],' ');writeln;
end;
writeln;D(A,N,M,Ag,Ap);
for i:=1 to N do
write(Ag[i],' ');writeln;for j:=1 to N do
write(Ap[j],' ')
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
Program qq;
Uses crt;
Const N=10;M=10;
Type massiv=array[1..N,1..M] of integer;
Type massivD=array[1..N] of integer;
var i,j:integer;
    A:massiv;
    Ag,Ap:massivD;
Procedure soz(N,M:integer;var A:massiv);
var i,j,H:integer;
Begin
for i:=1 to N do
for j:=1 to M do
begin
A[i,j]:=H;
inc(H);
end;
End;    
Procedure D(A:massiv;N,M:integer;var A1,A2:massivD);
var i,j,k,k1:integer;
Begin
k:=1;k1:=1;
for i:=1 to N do
for j:=1 to N do
begin
if i=j then begin A1[k]:=A[i,j]; inc(k) end;
if j=N-i+1 then begin A2[k1]:=A[i,j]; inc(k1) end;
end;
End;
BEGIN
soz(N,M,A);
for i:=1 to N do
begin
for j:=1 to M do
write(A[i,j]:3,' ');
writeln;
end;
writeln;
D(A,N,M,Ag,Ap);
for i:=1 to N do
write(Ag[i]:3,' ');
writeln;
for j:=1 to N do
write(Ap[j]:3,' ') 
END.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2017, 14:32
Ответы с готовыми решениями:

Соединить две программы
помогите пожалуйста срочно... нужна задача прямо сейчас я не могу объединить две программы по...

Соединить воедино две программы
Есть программа отделяющая корни уравнений: uses crt; var a,b,x1,x2,y1,y2,h,w,y,e:real;...

Обновление программы в Pascal ABC
Как сделать так, чтобы каждую секунду(или каждую миллисекунду) программа самообновлялась с...

Составьте две программы в Pascale ABC с циклами For или While
№1 Составте программу для вычисления суммы чисел кратных 5 в диапазоне от 1 до 100!?? № 2...

1
Почетный модератор
64256 / 47556 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
15.12.2017, 15:49 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
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
Uses crt;
Const N=10;
type mas_100=array[1..N,1..N] of byte;
     mass_100=array[1..N] of byte;
     mas_1=array[1..N,1..N] of real;
     mass_1=array[1..N] of real;
     mas_10=array[1..N,1..N] of integer;
     mass_10=array[1..N] of integer;
Procedure soz1(var A:mas_100);
var i,j:byte;
begin
writeln('Матрица случайных натуральных чисел от 0 до 100');
for i:=1 to N do
 begin
  for j:=1 to N do
   begin
    A[i,j]:=random(101);
    write(A[i,j]:4);
   end;
  writeln;
 end;
writeln;
end;
Procedure D1(A:mas_100;var A1,A2:mass_100);
var i:byte;
begin
for i:=1 to N do
 begin
  A1[i]:=A[i,i];
  A2[i]:=A[i,N-i+1];
 end;
writeln('Массив элементов главной диагонали');
for i:=1 to N do
write(A1[i]:4);
writeln;
writeln;
writeln('Массив элементов побочной диагонали');
for i:=1 to N do
write(A2[i]:4);
writeln;
end;
Procedure soz2(var A:mas_1);
var i,j:byte;
begin
writeln('Матрица случайных вещественных чисел от 0 до 1');
for i:=1 to N do
 begin
  for j:=1 to N do
   begin
    A[i,j]:=random;
    write(A[i,j]:5:2);
   end;
  writeln;
 end;
writeln;
end;
Procedure D2(A:mas_1;var A1,A2:mass_1);
var i:byte;
begin
for i:=1 to N do
 begin
  A1[i]:=A[i,i];
  A2[i]:=A[i,N-i+1];
 end;
writeln('Массив элементов главной диагонали');
for i:=1 to N do
write(A1[i]:5:2);
writeln;
writeln;
writeln('Массив элементов побочной диагонали');
for i:=1 to N do
write(A2[i]:5:2);
writeln;
end;
Procedure soz3(var A:mas_10);
var i,j:byte;
begin
writeln('Матрица случайных целых чисел от -10 до 10');
for i:=1 to N do
 begin
  for j:=1 to N do
   begin
    A[i,j]:=-10+random(21);
    write(A[i,j]:4);
   end;
  writeln;
 end;
writeln;
end;
Procedure D3(A:mas_10;var A1,A2:mass_10);
var i:byte;
begin
for i:=1 to N do
 begin
  A1[i]:=A[i,i];
  A2[i]:=A[i,N-i+1];
 end;
writeln('Массив элементов главной диагонали');
for i:=1 to N do
write(A1[i]:4);
writeln;
writeln('Массив элементов побочной диагонали');
for i:=1 to N do
write(A2[i]:4);
writeln;
end;
var A1:mas_100;
    A11,A12:mass_100;
    A2:mas_1;
    A21,A22:mass_1;
    A3:mas_10;
    A31,A32:mass_10;
    c:char;
begin
repeat
clrscr;
writeln('Выберите вид матрицы');
writeln('1-натуральные числа от 0 до 100');
writeln('2-вещественные числа от 0 до 1');
writeln('3-целые числа от -10 до 10');
writeln('Другое -  выход');
readln(c);
case c of
'1':begin
    clrscr;
    soz1(A1);
    D1(A1,A11,A12);
    write('Нажмите Enter');
    readln;
    end;
'2':begin
    clrscr;
    soz2(A2);
    D2(A2,A21,A22);
    write('Нажмите Enter');
    readln;
    end;
'3':begin
    clrscr;
    soz3(A3);
    D3(A3,A31,A32);
    write('Нажмите Enter');
    readln;
    end;
else exit;
end;
until not(c in ['1'..'3']);
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2017, 15:49
Помогаю со студенческими работами здесь

Перевести код Pascal ABC NET в Pascal ABC
Помогите, плиз Сделал на Pascal ABC NET, но нужно его открыть в обычном Pascal ABC. Не компилит...

Перевод из Pascal ABC.net в Pascal ABC
Помогите, пожалуйста, перевести программу в Pascal ABC с Pascal ABC.net; если не трудно, объясните,...

Почему Pascal ABC не читает файлы (программы паскаля ) IDE глючит? Есть альтернатива?
ну например: var f : text; s : string; begin assign(f, 'start'); reset(f); while eof(f)...

Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET - в чем разница?
Всем привет, решил изучать Паскаль, но на форуме увидел 4 его версии - Turbo Pascal, Pascal ABC,...


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

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

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