![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
plafon |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
Помогите пожалуста
Произведение матриц. Требуется написать программу, вычисляющую произведение матриц A и B. Как исходные матрицы A и B, так и результат (матрица C=AxB) находятся в текстовых файлах (это могут быть, например, файлы ‘Input.txt’ и ’Output.txt’). Формат файла ‘Input.txt’ следующий: 2 3 1 2 0 4 5 1 3 4 1 0 2 3 3 0 9 2 3 4 3 1 Здесь описаны две матрицы. В первой строке файла записано число строк и столбцов для первой матрицы, затем приводятся ее элементы. Далее (строки 4-7) описана вторая матрица. Аналогичный формат имеет выходной файл (одна матрица). При объявлении типов файлов используйте указатель Text. |
![]() ![]() |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Значит вот код, он работает. "Перемножение матриц" лабораторная работа.
Цитата Эта простенькая задача позволяет решить твою задачу. А вывод и чтение текстовых документов - всего лишь цикл. Думай... Ну здесь тоже нет чтение из файла. { ”б«(r)ўЁҐ:
‚лзЁб«Ёвм Їа(r)Ё§ўҐ¤ҐЁҐ Єў ¤а вле ¬ ваЁж
}
const
Count = 3; {Є(r)«-ў(r) бв(r)«Ўж(r)ў Ё бва(r)Є ¬ ваЁжл}
var
Mat1, Mat2, {ўў(r)¤Ё¬лҐ ¬ ваЁжл}
ResMat1 : array[1..Count, 1..Count] of integer; {१г«мвЁагой п}
i, x, y, R : integer;
flag : boolean;
begin
Writeln('‚ў(r)¤ ЇҐаў(r)(c) ¬ ваЁжл (жҐ«лҐ зЁб« )');
for y := 1 to Count do
for x := 1 to Count do
begin
Write('Mat1[', x, ',', y,'] : ');
Readln(Mat1[x, y]);
end;
Writeln('‚ў(r)¤ ўв(r)а(r)(c) ¬ ваЁжл (жҐ«лҐ зЁб« )');
for y := 1 to Count do
for x := 1 to Count do
begin
Write('Mat2[', x, ',', y,'] : ');
Readln(Mat2[x, y]);
end;
{Ї(r)¤бзҐв ¬ ваЁжл AxB}
for y := 1 to count do {бЇгбЄ Ґ¬бп ўЁ§ Ї(r) бва(r)Є ¬}
for x := 1 to Count do {Ё¤Ґ¬ Ї(r) н«Ґ¬Ґв ¬ бва(r)Є ўЇа ў(r)}
begin
R := 0; {(r)Ўг«пҐ¬ б㬬㠯а(r)Ё§ўҐ¤ҐЁ(c)}
for i := 1 to Count do {Ё¤Ґ¬ Ї(r)¤ Ј(r)аЁ§(r)в «Ё Mat1 Ё Ї(r) ўҐавЁЄ «Ё}
r := R + mat1[i, y]*Mat2[x, i]; {Mat2; г¬(r)¦ Ґ¬ Ё ¤(r)Ў ў«пҐ¬ ў R}
ResMat1[x, y] := R; {Resmat1[x, y] = १г«мв в = R}
end;
Writeln('AxB='); {ўлў(r)¤Ё¬ нЄа }
for y := 1 to Count do
begin
for x := 1 to Count do
Write(ResMat1[x, y]:4);
Writeln;
end;
END. {Є(r)Ґж Їа(r)Ја ¬¬л}
Текст в кодировке DOS (кодовая страница 866) -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 3.08.2025 17:20 |