IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Произведение матриц
plafon
сообщение 18.05.2004 19:38
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 17

Репутация: -  0  +


Помогите пожалуста


Произведение матриц.
Требуется написать программу, вычисляющую произведение матриц 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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Altair
сообщение 26.05.2004 6:46
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Значит вот код, он работает. "Перемножение матриц" лабораторная работа.
Цитата
Эта простенькая задача позволяет решить твою задачу. А вывод и чтение текстовых документов - всего лишь цикл. Думай...

Ну здесь тоже нет чтение из файла.

{ ”б«(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)


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 3.08.2025 17:20
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"