С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 15

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

24.03.2012, 17:28. Показов 1260. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
у меня есть код программы в которой нужно упорядочить строки матрицы построчно по возрастанию.я сделала из нее программу с процедурами и функциями.с помощью функции я ввожу размер матрицы и не знаю как правильно передать значение функции в последующие процедуры во входных параметрах.

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
Program fgh;
Const
  N=5;
  M=10;
type
  mas=array[1..N,1..M] of integer;
var
  matr:mas;
  razm1,razm2:integer;
{----------------------------------------------------------------}
 
Function Vvod(B:integer):integer;
var
max:integer;
s:string;
er:integer;
 
begin
repeat
  readln(s);
  val (s,max,er);
  if er<>0 then
     writeln('Вы ошиблись.Введите число')
  else
    if max>B then
       writeln('Ошибка. Значение должно быть < = B');
until(er=0) and (max<=B);
Vvod:=max;
end;
 
 
{----------------------------------------------------------------}
 
Procedure Inp(nmax,mmax:integer; var a:mas);
var
  i:integer;
  j:integer;
begin
   for i:=1 to nmax do
     for j:=1 to mmax do
     begin
       write('Ввод матрицы *[', i,',', j,']:');
       readln(a[i,j]);
     end;
end;
{-----------------------------------------------------------------}
 
Procedure Out(nmax,mmax:integer; a:mas);
var
  i:integer;
  j:integer;
begin
writeln('Вывод матрицы**');
   begin
   for i:=1 to nmax do
     begin
       for j:=1 to mmax do
         write (a[i,j]:4,'  ');
         writeln;
     end;
   end;
end;
{-----------------------------------------------------------------}
 
Procedure Ypor(nmax,mmax:integer; a:mas);
var
  k:integer;
  temp:integer;
  i:integer;
  j:integer;
begin
   writeln('Упорядоченная матрица*: ');
   for i:= 1 to nmax do
     for j:=mmax-1 downto 1 do
       for k:=1 to j do
         if a[i,k]>a[i,k+1] then
         begin
           temp:= a[i,k];
            a[i,k] := a[i,k+1];
            a[i,k+1] :=temp;
         end;
   for i := 1 to nmax  do
     begin
       for j := 1 to mmax do
       write(a[i,j]:4, ' ');
       writeln;
     end;
end;
 
{-----------------------------------------------------------------}
{Главная программа}
begin
write('‚ўҐ¤ЁвҐ  n=');
razm1:=Vvod(N);
write('‚ўҐ¤ЁвҐ  m=');
razm2:=Vvod(M);
Inp(razm1,razm2,matr);
Out(razm1,razm2,matr);
Ypor(razm1,razm2,matr);
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2012, 17:28
Ответы с готовыми решениями:

Можно ли обратиться из процедуры или функции к переменной, значение которой было передано в параметрах?
Здравствуйте. Можно ли в FreePascal обратиться из процедуры или функции к переменной, значение которой было передано в параметрах, или к...

Ошибка компиляции при неправильных входных параметрах функции
Доброго времени суток, уважаемые форумчане! Возник следующий вопрос. Пусть имеется некоторый класс class MyClass { public: ...

Как передать вектор в параметрах функции класса?
есть функция bool ReadDir(const std::wstring &amp;, const std::wstring&amp; , int, bool,bool , std::vector&lt;std::wstring&gt;&amp;, bool&amp; ); кода...

1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
24.03.2012, 18:09
Непонятно зачем это нужно, вводили бы размеры в процедуре Inp.
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
Program fgh;
Const
  N=5;
  M=10;
type
  mas=array[1..N,1..M] of integer;
var
  matr:mas;
  razm1,razm2:integer;
{----------------------------------------------------------------}
 
Function Vvod(B,k:integer):integer;
var
max:integer;
s:string;
er:integer;
 
begin
repeat
  write('Введите размер ',k,' ');
  readln(s);
  val (s,max,er);
  if er<>0 then
     writeln('Вы ошиблись.Введите число')
  else
    if max>B then
       writeln('Ошибка. Значение должно быть < = B');
until(er=0) and (max<=B);
Vvod:=max;
end;
 
 
{----------------------------------------------------------------}
 
Procedure Inp(nmax,mmax:integer; var a:mas);
var
  i:integer;
  j:integer;
begin
   for i:=1 to nmax do
     for j:=1 to mmax do
     begin
       write('Ввод матрицы *[', i,',', j,']:');
       readln(a[i,j]);
     end;
end;
{-----------------------------------------------------------------}
 
Procedure Out(nmax,mmax:integer; a:mas);
var
  i:integer;
  j:integer;
begin
writeln('Вывод матрицы**');
   begin
   for i:=1 to nmax do
     begin
       for j:=1 to mmax do
         write (a[i,j]:4,'  ');
         writeln;
     end;
   end;
end;
{-----------------------------------------------------------------}
 
Procedure Ypor(nmax,mmax:integer; a:mas);
var
  k:integer;
  temp:integer;
  i:integer;
  j:integer;
begin
   writeln('Упорядоченная матрица*: ');
   for i:= 1 to nmax do
     for j:=mmax-1 downto 1 do
       for k:=1 to j do
         if a[i,k]>a[i,k+1] then
         begin
           temp:= a[i,k];
            a[i,k] := a[i,k+1];
            a[i,k+1] :=temp;
         end;
   for i := 1 to nmax  do
     begin
       for j := 1 to mmax do
       write(a[i,j]:4, ' ');
       writeln;
     end;
end;
 
{-----------------------------------------------------------------}
{Главная программа}
begin
razm1:=Vvod(N,1);
razm2:=Vvod(M,2);
Inp(razm1,razm2,matr);
Out(razm1,razm2,matr);
Ypor(razm1,razm2,matr);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.03.2012, 18:09
Помогаю со студенческими работами здесь

Обработать пробелы во входных параметрах
Программа вызывается из контекстного меню. Если файл содержит пробелы в названии - программа выдает ошибку. Например: на рабочем столе файл...

Передать целый массив в качестве входных параметров для функции main()?
Было рабочее оконное приложение Qt, теперь всю реализацию &quot;впихнуть&quot; в консольное приложение C++(( Смысл: пользователь вводит строки,...

Универсальный метод для разных входных параметрах
Здравствуйте! Есть такой код, я уже частично его приводил using System; using System.Collections.Generic; using System.IO; ...

Как правильно передать значение ' 123' ?
как правильно передать значение ' 123' str=' 123' //строка из 6 символов передаем default.asp?ID=str получаем str =...

Значение по умолчанию в параметрах функции
В общем, изучаю односвязные списки и дело в том, что имеется небольшая проблема, при самом вызове метода push_back(intовое_значение), в...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru