Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 20.02.2020
Сообщений: 6
1

Оформление процедуры в паскале

24.02.2020, 07:16. Показов 1731. Ответов 4

Author24 — интернет-сервис помощи студентам
Изучаю работу процедур и функций в паскале но не совсем понимаю что именно нужно писать в входящих данных (то, что в скобках после названия функции). Поможете?
Вот задание: Накидать рандомную матрицу, с возможностью выбрать количество строк и столбцов, затем найти в ней числа больше пяти и меньше пятнадцати. И в-третьих произвести транспонирование исходной матрицы (поменять местами столбцы и строки)

И то, что получилось у меня:
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
Const nmax=20;
Var A:array[1..nmax,1..nmax] of integer;
i,j,n:byte;
Procedure P1; //Тут создаём рандомайз матрицу
Begin
writeln('Исходная матрица:');
For i:=1 to n do
Begin
For j:=1 to n do
Begin
A[i,j]:=random(10);
write(A[i,j]:4);
End; End; End;
Procedure P2; //Ищем числа из нужного диопазона
Begin
writeln('Числа больше пяти и меньше пятнадцати:');
for i:=1 to n do
for j:=1 to n do
if(a[i,j]>1)and(a[i,j]<5) then
write (a[i,j],', ');
writeln;
End;
Procedure P3; //Транспонируем
Begin
writeln('Транспонированная матрица:');
For i:=1 to n do
Begin
For j:=1 to n do
write(A[j,i]:4);
writeln;
end;
Begin
write('Введите требуемое количество столбцов и строк в матрице (1<=n<',nmax,'): ');readln(n);
writeln;
P1; //Тут жахаем первую процедуру
writeln;
p2; //Тут вторую
writeln;
writeln;
p3; //Ну и третью естественно
End
End.
Подскажите пожалуйста, как оформить процедуры, чтобы всё работало?
Заранее благодарю
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2020, 07:16
Ответы с готовыми решениями:

Оформление процедуры для сложения
Даются 2 числа в типе char. Нужно посчитать их сумму. Программа написана и работает исправно. При...

Что такое процедуры и функции в паскале, их построение и использование?
Процедуры и функции в паскале, а точнее построение и использование что это? в инете ничего толком...

[Процедуры и функции]Оформление матрицы в виде крест-накрест
Здравствуйте! Помогите пожалуйста, суть задачи такова: Сформировать матрицу С(5,5), элементы...

Написание процедуры в Паскале
Здравствуйте! Подскажите, пожалуйста, как можно записать выражение из прикрепленного файла в...

4
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
24.02.2020, 07:20 2
А матрица прямоугольная или квадратная?
0
0 / 0 / 0
Регистрация: 20.02.2020
Сообщений: 6
24.02.2020, 07:21  [ТС] 3
Квадратная
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
24.02.2020, 07:53 4
Лучший ответ Сообщение было отмечено Faka Gardeich как решение

Решение

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
const nmax=20;
type Tmatr=array[1..nmax,1..nmax] of integer;
procedure vvod(var a:TMatr;var n:integer);
var i,j:integer;
begin
repeat
write('Введите размер матрицы от 2 до 20 n=');
readln(n);
until n in [2..20];
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(20);
end;
procedure print(a:TMatr;n:integer;s:string);
var i,j:integer;
begin
writeln(s);
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:3);
  writeln;
 end;
end;
procedure chisla(a:TMatr;n:integer);
var i,j,k:integer;
begin
k:=0;
writeln('Числа от 5 до 15 которые есть в матрице');
for i:=1 to n do
for j:=1 to n do
if a[i,j] in [5..15] then
 begin
  inc(k);
  write(a[i,j]:3);
 end;
writeln;
writeln('Их количество=',k);
end;
procedure trans(var a:TMatr;n:integer);
var i,j,x:integer;
begin
for i:=2 to n do
for j:=1 to i-1 do
 begin
  x:=a[i,j];
  a[i,j]:=a[j,i];
  a[j,i]:=x;
 end;
end;
var a:TMatr;
    n:integer;
begin
vvod(a,n);
print(a,n,'Исходная матрица');
chisla(a,n);
trans(a,n);
print(a,n,'Транспонированная матрица');
end.
1
0 / 0 / 0
Регистрация: 20.02.2020
Сообщений: 6
24.02.2020, 08:24  [ТС] 5
Примногоблагодарен
0
24.02.2020, 08:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2020, 08:24
Помогаю со студенческими работами здесь

Помогите!!! Функции и процедуры в паскале
Нехай задана квадратна матриця порядка m та натуральне число n. Треба знайти Аn. Використати...

Применение ООП на паскале.Посмотрите оформление
Написала маленькую программку на паскале,пытаюсь разобраться с ООП.Посмотрите пожалуйста правильно...

Задача в паскале на процедуры. Найти периметр семиугольника
даны действительные числа х1,у1,х2,у2,...х7,у7. Найти периметр семиугольника,вершины которого имеют...

Есть ли функции или процедуры для работы с мышкой в турбо паскале
Всем привет. Как можно вызвать курсор после компиляции в паскале? Есть ли функции или процедуры для...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru