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

Написать программу с использованием подпрограмм – не менее двух процедур и одной функции

12.03.2009, 10:37. Показов 1812. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
здраствуйте помогите пожалуйста решить задачу
на паскале:

Написать программу с использованием подпрограмм – не менее двух процедур и одной функции. В программе должен быть предусмотрен ввод пользователем количества строк и столбцов матрицы при исполнении программы.

Вот задание:
Вложения
Тип файла: doc задание №3.doc (25.0 Кб, 17 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2009, 10:37
Ответы с готовыми решениями:

Составить любую программу с использованием не менее 5 процедур и функций модуля DOS
Составить программу на языке Pascal с использованием не менее 5 процедур и функций модуля DOS

Составить любую программу с использованием не менее 5 процедур и функций модуля DOS
Составить программу на языке Pascal с использованием не менее 5 процедур и функций модуля DOS.

Составить любую программу с использованием не менее 5 процедур и функций модуля DOS
Составить программу на языке Pascal с использованием не менее 5 процедур и функций модуля DOS....

Составить любую программу с использованием не менее 5 процедур и функций модуля DOS
Составить программу с использованием не менее 5 процедур и функций модуля DOS.

6
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
12.03.2009, 18:24 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
uses crt;
type Tmas=array[1..20] of real; {тип массив}
     Tmatr=array[1..20] of Tmas;{тип матрица}
procedure MinMax(x:byte;mt:Tmatr;var min,max:real; var imin,jmin,imax,jmax:byte);
{поиск мин макс и их координат, входные параметры размер матрицы и сама матрица, выходные параметры-значения мин, макс, и их координат}
var i,j:byte;
begin
max:=mt[1,1];min:=mt[1,1];imin:=1;jmin:=1;imax:=1;jmax:=1;
for i:=1 to x do
for j:=1 to x do
if mt[i,j]<min then
  begin
    min:=mt[i,j];
    imin:=i;
    jmin:=j;
  end
else if mt[i,j]>max then
  begin
    max:=mt[i,j];
    imax:=i;
    jmax:=j;
  end;
end;
procedure Obmen(x:byte;var mt:Tmatr;imin,jmax:byte);
{обмен элементов строки и столбца, работает корректно. Только если номера их совпадают, как в примере из методички. Там первая строка и первый столбец и все красиво, потому что элемент [1,1] меняется сам с собой. А если номера не совпадают, то либо один элемент из строки, либо из столбца должен исчезнуть, потому что на одном месте два элемента стоять не могут }
var i:byte;
    b:real;
begin
for i:=1 to x do
  begin
    b:=mt[imin,i];{запоминаем элемент строки}
    mt[imin,i]:=mt[i,jmax];{ставим на его мемто элемент столбца}
    mt[i,jmax]:=b;{на его место элемент строки}
  end;
end;
procedure Vector(x:byte;mt:Tmatr;var ms:Tmas);{создание вектора}
var i:byte;
begin
for i:=1 to x do
ms[i]:=mt[i,i];{записываем в него элементы главной диагонали}
end;
function SumVec(x:byte;ms:Tmas):real;{сумма элементов вектора}
var i:byte;
    sm:real;
begin
sm:=0;
for i:=1 to x do
sm:=sm+ms[i];{суммируем}
SumVec:=sm;
end;
 
var m:Tmatr;
    v:Tmas;
    mn,mx:real;
    n,i,j,imn,jmn,imx,jmx:byte;
begin
clrscr;
randomize;
write('Razmer matricy n=');
readln(n);
writeln('Ishodnaya matrica:');
for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        m[i,j]:=10*random;
        write(m[i,j]:5:2);
      end;
    writeln;
  end;
writeln;
MinMax(n,m,mn,mx,imn,jmn,imx,jmx);
writeln('Min element [',imn,',',jmn,']=',mn:0:2);
writeln('Max element [',imx,',',jmx,']=',mx:0:2);
writeln;
writeln('Izmenennaya matrica:');
Obmen(n,m,imn,jmx);
for i:=1 to n do
  begin
    for j:=1 to n do
    write(m[i,j]:5:2);
    writeln;
  end;
writeln;
writeln('Massiv:');
Vector(n,m,v);
for i:=1 to n do
write(v[i]:5:2);
writeln;
writeln('Summa=',SumVec(n,v):0:2);
readln
end.
0
0 / 0 / 0
Регистрация: 09.03.2009
Сообщений: 8
13.03.2009, 10:16  [ТС] 3
Спасибо Вам за задачу, но в 8-ой строке просле max:=mt[1,1] выдает ошибку: массив имеет другое количество размерностей :'(
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
13.03.2009, 10:22 4
Не знаю что Вы там напартачили, но у меня все работает, в том числе код скопированный отсюда. Посмотрите, у вас точно в скобках стоят две единицы, а не буквы, скажем i или l.
0
0 / 0 / 0
Регистрация: 09.03.2009
Сообщений: 8
13.03.2009, 11:59  [ТС] 5
А теперь в 77-ой строке (Obmen(n,m,imn,jmx)) выводит ошибку: Unknown identifier.?
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
13.03.2009, 12:04 6
Ищите что еще не так написали, код полностью рабочий, я же писал, что проверял его еще раз. Может не ту букву написали в слове Obmen, или при объявлении процедуры в строке 24, либо при вызове в стр. 77.
Может какую-то переменную n,m,imn,jmx забыли в разделе var написать, или написали в двух местах по разному. Ищите свои ошибки и отвяжитесь от меня.
0
0 / 0 / 0
Регистрация: 09.03.2009
Сообщений: 8
13.03.2009, 12:21  [ТС] 7
Извени, все получилось. Программа супер!! Большое человеческое спасибо!
0
13.03.2009, 12:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2009, 12:21
Помогаю со студенческими работами здесь

Написать программу с использованием подпрограмм по готовому коду
Напишите пожалуйста ту же самую программу, только с использованием подпрограмм: Задача: Найти...

Написать программу с использованием процедур
помогите пожалуйста написать программу с использованием процедур. Для каждого столбца заданной...

Написать программу вычисления вектора Z = X + Y с использованием процедур
условия задание : Написать программу, осуществляющую заданные вычисления с использованием...

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

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

Написать программу, осуществляющую заданные вычисления с использованием процедур
Заданы координаты вершин трех треугольников. Определить треугольник с максимальным периметром.


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

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