|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.12.2010, 21:35 | #1 |
Новичок
Джуниор
Регистрация: 11.12.2010
Сообщений: 2
|
умножение матриц
Здравствуйте.
Прошу помощи. Написала (вернее, пыталась написать программу), которая перемножит 2 матрицы, считанных из одного файла и выведет результат на экран. В итоге не смогла даже скомпилировать. Что получилось: program soucin_matic; const X=1000; var mx1: array[1..X,1..X] of longint; mx2: array[1..X,1..X] of longint; mx3: array[1..X,1..X] of longint; n1,m1,n2,m2: integer; i,j,k,s: integer; procedure OpenFile(Fil1:string); var F: text; il, jl: integer; s: string; begin Assign(F,Fil1); Reset(F); Read(F,n1); Readln(F,m1); for jl:=1 to m1 do for il:=1 to n1 do begin Read(F,mx1[il,jl]); end; Close(F); Assign(F,Fil1); Reset(F); end; Read(F,n2); Readln(F,m2); for jl:=1 to m2 do for il:=1 to n2 do begin Read(F,mx2[il,jl]); end; Close(F); end; begin OpenFile(matice.in); if n1<>m2 then begin Writeln('Ошибка!'); for k:=1 to m1 do begin for i:=1 to n2 do begin s:=0; for j:= 1 to m2 do begin s:=s+mx1[j,k]*mx2[i,j]; end; mx3[i,k]:=s; end; end; write(i,k); writeln(s); end. В паскале программирую 2 месяц, поэтому просьба не критиковать меня лично, сама знаю, что ума не палата. Но если будут комментарии по делу, буду благодарна. |
24.12.2010, 22:18 | #2 |
Форумчанин
Регистрация: 04.05.2010
Сообщений: 495
|
Так получше. По крайней мере компилируется.
Ты обе исходные матрицы из одного файла читаешь ? Код:
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948 |
24.12.2010, 22:39 | #3 |
Новичок
Джуниор
Регистрация: 11.12.2010
Сообщений: 2
|
Спасибо.
Да, нужно, чтобы из одного. Мда, скомпилировать получается, но тут же ошибка выдаётся. Буду думать дальше. Мне почему-то кажется, что на выводе ошибка. |
25.12.2010, 14:17 | #4 |
Форумчанин
Регистрация: 04.05.2010
Сообщений: 495
|
Если из одного, зачем ты его два раза открываешь?
И , хотя это не принципиально, обычно просмотр матрицы с помощью двух циклов делают сначала по строкам, потом по столбцам. В самой первой теме раздела "Помощь студентам" есть миллион исходников посвященных работе с матрицами. Код:
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Умножение матриц Си | Slame | Помощь студентам | 4 | 16.12.2010 14:34 |
Умножение матриц) | Guzal | Общие вопросы C/C++ | 1 | 26.10.2010 21:56 |
Умножение матриц | Alyonka_v | Помощь студентам | 2 | 18.08.2009 21:51 |