Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
Заблокирован

Unit Matrix

25.11.2009, 11:39. Показов 4765. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо сделать модуль выполняюший 5 операций над матрицами(сложение,умножение на скаляр, транспонирование и т.д. любые пять). Зарание спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.11.2009, 11:39
Ответы с готовыми решениями:

Какова суть процедур create matrix, output matrix, change row?
Что за процедуры create matrix, output matrix, change row?

Matrix 67 - объясните решение
Столкнулся вот с таким решением matrix 67 Немного не понимаю его Можете по порядку все объяснить Так же можете показать свои...

Вопрос по Unit
К сожалению тему юнитов нам рассказали только поверхностно и как следсвие я нифига не въехал как это делать... Вот я создаю в паскале...

26
Заблокирован
25.11.2009, 21:34  [ТС]
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
unit matrix;{имя модуля, должно совпадать с именем файла *.pas}
interface
const max=20;
type matr=array[1..max,1..max] of integer;
procedure VvMtr(var mt:matr;var x:byte);
procedure VyvMtr(var mt:matr;x:byte;c:string);
procedure UmChMtr(var mt:matr;x:byte;k:integer);
procedure Sum(var m1:matr;m2:matr;x:byte);
procedure Razn(var m1:matr;m2:matr;x:byte);
implementation
procedure VvMtr;{создание матрицы}
var i,j:byte;
begin
for i:=1 to x do
for j:=1 to x do
mt[i,j]:=random(10)+1;
end;
procedure VyvMtr;{вывод матрицы на экран}
var i,j:byte;
begin
writeln('Матрица ',c);
for i:=1 to x do
 begin
  for j:=1 to x do
  write(mt[i,j]:4);
  writeln;
 end;
writeln;
end;
procedure UmChMtr;
var i,j:byte;
begin
for i:=1 to x do
for j:=1 to x do
mt[i,j]:=mt[i,j]*k;
end;
procedure Sum;
var i,j:byte;
begin
for i:=1 to x do
for j:=1 to x do
m1[i,j]:=m1[i,j]+m2[i,j];
end;
procedure Razn;
var i,j:byte;
begin
for i:=1 to x do
for j:=1 to x do
m1[i,j]:=m1[i,j]-m2[i,j];
end;
end.
вот нашел код на вашем форуме но он почемуто не работает пишет неизвестная переменная X поправьте плз

Добавлено через 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
program matricy;
uses crt,matrix;{подключаем модуль}
var a,b,c:matr;
    n:byte;
    k,m:integer;
begin
clrscr;
randomize;
repeat
write('Размер матрицы от 2 до ',max,' =');
readln(n);
until n in [2..max];
VvMtr(a,n);
VvMtr(b,n);
VvMtr(c,n);
VyvMtr(a,n,'A:');
VyvMtr(b,n,'B:');
VyvMtr(c,n,'C:');
readkey;
write('Введите первое число для умножения k=');
readln(k);
write('Введите второе число для умножения m=');
readln(m);
UmChMtr(a,n,k);
VyvMtr(a,n,'k*A:');
UmChMtr(b,n,m);
VyvMtr(b,n,'m*B:');
readkey;
Razn(a,b,n);
VyvMtr(a,n,'(A*k-B*m):');
readkey;
Sum(a,c,n);
VyvMtr(a,n,'k*A-m*B+C:');
readkey
end.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
25.11.2009, 21:43
fmf-27, А что ты только модуль содрал, а где программа? Или Вы считаете, что модуль и сам работать будет?
0
Заблокирован
26.11.2009, 11:45  [ТС]
вот программа
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
program matricy;
uses crt,matrix;{подключаем модуль}
var a,b,c:matr;
    n:byte;
    k,m:integer;
begin
clrscr;
randomize;
repeat
write('Размер матрицы от 2 до ',max,' =');
readln(n);
until n in [2..max];
VvMtr(a,n);
VvMtr(b,n);
VvMtr(c,n);
VyvMtr(a,n,'A:');
VyvMtr(b,n,'B:');
VyvMtr(c,n,'C:');
readkey;
write('Введите первое число для умножения k=');
readln(k);
write('Введите второе число для умножения m=');
readln(m);
UmChMtr(a,n,k);
VyvMtr(a,n,'k*A:');
UmChMtr(b,n,m);
VyvMtr(b,n,'m*B:');
readkey;
Razn(a,b,n);
VyvMtr(a,n,'(A*k-B*m):');
readkey;
Sum(a,c,n);
VyvMtr(a,n,'k*A-m*B+C:');
readkey
end.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
26.11.2009, 11:52
fmf-27, Ну и что у Вас не работает? Это вроде моя программа и у меня, а также человека ее заказавшего, все работало нормально.
0
Заблокирован
26.11.2009, 12:24  [ТС]
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
unit matrix;{имя модуля, должно совпадать с именем файла *.pas}
interface
const max=20;
type matr=array[1..max,1..max] of integer;
procedure VvMtr(var mt:matr;var x:byte);
procedure VyvMtr(var mt:matr;x:byte;c:string);
procedure UmChMtr(var mt:matr;x:byte;k:integer);
procedure Sum(var m1:matr;m2:matr;x:byte);
procedure Razn(var m1:matr;m2:matr;x:byte);
implementation
procedure VvMtr;{создание матрицы}
var i,j:byte;
begin
for i:=1 to x do 
for j:=1 to x do
mt[i,j]:=random(10)+1;
end;
procedure VyvMtr;{вывод матрицы на экран}
var i,j:byte;
begin
writeln('Матрица ',c);
for i:=1 to x do
 begin
  for j:=1 to x do
  write(mt[i,j]:4);
  writeln;
 end;
writeln;
end;
procedure UmChMtr;
var i,j:byte;
begin
for i:=1 to x do [B][COLOR="Red"]ВОТ ЗДЕСЬ[/COLOR][/B]
for j:=1 to x do
mt[i,j]:=mt[i,j]*k;
end;
procedure Sum;
var i,j:byte;
begin
for i:=1 to x do
for j:=1 to x do
m1[i,j]:=m1[i,j]+m2[i,j];
end;
procedure Razn;
var i,j:byte;
begin
for i:=1 to x do
for j:=1 to x do
m1[i,j]:=m1[i,j]-m2[i,j];
end;
end.
Запускаю программу пишет "Ошибка неизвестеный индефикатор X" и выводит модуль если обьявить в var переменную x то потом пишет что mt и с неизвестные
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
26.11.2009, 14:46
fmf-27, Если Вы что-то споганили в коде, то зря. Вот я скопировал отсюда модуль и программу, никаких ошибок нет.
Вложения
Тип файла: rar Модуль matrix.rar (6.2 Кб, 43 просмотров)
2
Заблокирован
26.11.2009, 20:03  [ТС]
Спасибо а можно сделать так чтобы в паскале делались все операции а не в .exe? а то мне врятли поверят что я сам это сделал =)
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
26.11.2009, 20:46
А как это в Паскале? Все и так в Паскале делается. Вы вообще о чем?
0
Заблокирован
27.11.2009, 07:17  [ТС]
ну чтобы не exe файл запускать а в самом паскале нажать F9(выполнить программу) и результаты чтбы были во встроеном окне.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
27.11.2009, 07:41
fmf-27, Так ты так и делай, выкинь вообще .exe, он каждый раз заново создается. А нажимать нужно Ctrl+F9. Если даже этого не знаешь, то никто тебе не поверит, что ты модуль написал. Ты вообще еще ни разу не запускал программы, а значит еще ни одну и не написал.
0
Заблокирован
27.11.2009, 10:17  [ТС]
так вот и с этого моя тема начиналась, что без exe файла модуль не работает т.к. не указаны переменные. Если их указать в в вар то выдает ошибку в программе.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
27.11.2009, 10:21
fmf-27, Модуль отдельно от программы работать не может, а программа без модуля.
Нужно создать .pas файл с текстом модуля, затем его сохранить точно с тем же именем, что и название модуля. После этого нажать Ctrl+F9, выйдет окно, откомпилировать?, жмете ОК. У Вас появился файл модуля с расширением .tpu. Сейчас в разделе Uses программы пишете имя модуля. Все, можете по Ctrl+F9 запускать программу, на экране будет результат.
1
Заблокирован
27.11.2009, 10:53  [ТС]
сделал всё так как вы сказали и всё равно не получается. Нажимаю F9 паскаль пишет невозмоно запустить модуль и не про какую компиляцию не говарит.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
27.11.2009, 10:57
fmf-27, Сдавайтесь в армию добровольно, ибо Вы необучаемы в принципе.
1
Заблокирован
27.11.2009, 11:11  [ТС]
может потому что у меня pascal abc?
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
27.11.2009, 11:37
Цитата Сообщение от fmf-27 Посмотреть сообщение
может потому что у меня pascal abc?
А сразу это нельзя было написать? Конечно в АВС совсем по другому пишутся модули, и этот не пойдет. Я в АВС не пишу.
1
Заблокирован
27.11.2009, 11:38  [ТС]
всё ясно
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
27.11.2009, 11:39
fmf-27, Я и так проверил. Я же говорю, что в АВС совсем другая структура модулей, отличная от Турбо Паскаля и Делфи. Я ее не знаю.
1
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
27.11.2009, 11:41
Puporev, а вот это то о чем я вчера говорил надо оставить один turbo...
fmf-27, для Вас никто специально скачивать ничего и устанавливать не будет... Вот Ваш модуль, но о рядах РА всё таки подумайте, далеко с такими знаниями Вы не уедете...
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
unit
  matrix;
const
  max=20;
type
  matr=array[1..max,1..max] of integer;
{процедура ввода матрицы}
procedure VvMtr(var mt:matr;var x:byte);
var
  i,j:byte;
begin
  for i:=1 to x do
    for j:=1 to x do
      mt[i,j]:=random(10)+1;
end;
{процедура вывода матрицы}
procedure VyvMtr(var mt:matr;x:byte;c:string);
var
  i,j:byte;
begin
  writeln('Њ*ваЁж* ',c);
  for i:=1 to x do
  begin
    for j:=1 to x do
      write(mt[i,j]:4);
    writeln;
  end;
  writeln;
end;
{процедура умножения}
procedure UmChMtr(var mt:matr;x:byte;k:integer);
var
  i,j:byte;
begin
  for i:=1 to x do
    for j:=1 to x do
      mt[i,j]:=mt[i,j]*k;
end;
{процедура суммы}
procedure Sum(var m1:matr;m2:matr;x:byte);
var
  i,j:byte;
begin
  for i:=1 to x do
    for j:=1 to x do
      m1[i,j]:=m1[i,j]+m2[i,j];
end;
{процедура разности}
procedure Razn(var m1:matr;m2:matr;x:byte);
var
  i,j:byte;
begin
  for i:=1 to x do
    for j:=1 to x do
      m1[i,j]:=m1[i,j]-m2[i,j];
end;
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.11.2009, 11:41
Помогаю со студенческими работами здесь

открыть unit 123
всем привет,надо выбрать IF N=2 THEN begin goto unit 123; как сделать? ето в label Добавлено через 4 минуты а вот так...

Программа-обращение к модулю Unit
Создать модуль с процедурой перемножения матриц. Размерность матриц задается по желанию пользователя. Написать программу с ...

Unit тесты pascal abc
Добрый вечер, ребят! Такой вопрос, есть ли на pascal abc юнит тесты и как их реализовать? Спасибо

if, for and matrix
Здрасьте! Помогите пожалуйста мне решить задачки: 1. Даны четыре целых числа, одно из которых отлично от трех других, равных между...

Matrix
Задан массив nxn по образцу при n=5 должно получиться 0 3 0 8 0 1 0 6 0 11 0 4 0 9 0 2 0 7 0 12 0 5 0 10 0 заранее спасибо)))


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru