|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
20.03.2011, 15:21 | #1 (permalink) |
Новичок
Регистрация: 24.12.2010
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Написание программы с помощью процедур
Получить матрицу [Cij] i,j=от 1 до M из матриц [Aij] i,j=от 1 до M и [Bij] i,j=от 1 до M путем умножения элементов каждой строки матрицы [Aij] на максимальный элемент соответствующей строки матрицы [Bij]. Вот прога,ее нужно переписать,с помощью процедур. program labo4; CONST M=4; VAR A,B:Array[1..M,1..M] of Real; Max:Array[1..M] of Real; i,j:Byte; BEGIN For i:=1 to M do For j:=1 to M do begin Write('A[',i,',',j,']= '); ReadLn(A[i,j]); end; For i:=1 to M do For j:=1 to M do begin Write('B[',i,',',j,']= '); ReadLn(B[i,j]); end; WriteLn('Initial matrices:'); For i:=1 to M do begin For j:=1 to M do Write(A[i,j]:6:1); Write(' '); For j:=1 to M do Write(B[i,j]:6:1); WriteLn; end; For i:=1 to M do begin Max[i]:=B[i,1]; for j:=2 to M do if B[i,j]>Max[i] then Max[i]:=B[i,j]; end; WriteLn; Write('Maximum values: '); For i:=1 to M do Write(Max[i]:6:1); WriteLn; WriteLn; WriteLn('Modified matrix:'); For i:=1 to M do begin For j:=1 to M do Write(A[i,j]*Max[i]:12:1); WriteLn; end; ReadLn; END. Помогите у кого время есть,заранее бесконечное спасибо))) |
20.03.2011, 15:21 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Полезную информацию так же можно поискать в аналогичных обсуждениях Написание робота для торговли на Форексе Паскаль. Программы с использованием процедур. Написание гаджетов |
20.03.2011, 17:56 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну вот, раз уж обещал:
Код:
program labo4a; CONST M=4; TYPE Mtr=Array[1..M,1..M] of Real; Vct=Array[1..M] of Real; VAR A,B,C:Mtr; Max:Vct; Procedure Enter_Matrix(Nm:Char; var Em:Mtr); var i,j:Byte; begin For i:=1 to M do For j:=1 to M do begin Write(Nm,'[',i,',',j,']= '); ReadLn(Em[i,j]); end; WriteLn; end; Procedure Show_Matrix(Nm:Char;Sm:Mtr); var i,j:Byte; begin WriteLn('Matrix '+Nm+':'); For i:=1 to M do begin For j:=1 to M do Write(Sm[i,j]:8:3); WriteLn; end; WriteLn; end; Procedure Form_Vector(Fm:Mtr; var Fv:Vct); var i,j:Byte; begin For i:=1 to M do begin Fv[i]:=Fm[i,1]; for j:=2 to M do if Fm[i,j]>Fv[i] then Fv[i]:=Fm[i,j]; end; WriteLn('Maxima: '); For i:=1 to M do Write(Fv[i]:8:3); WriteLn; WriteLn; end; Procedure New_Matrix(Mm:Mtr;Vm:Vct; var Nt:Mtr); var i,j:Byte; begin For i:=1 to M do For j:=1 to M do Nt[i,j]:=Mm[i,j]*Vm[i]; end; BEGIN Enter_Matrix('A',A); Enter_Matrix('B',B); Show_Matrix('A',A); Show_Matrix('B',B); Form_Vector(B,Max); New_Matrix(A,Max,C); Show_Matrix('C',C); ReadLn; END. |
20.03.2011, 20:18 | #4 (permalink) |
Новичок
Регистрация: 24.12.2010
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Примного благодарен))
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|