КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Приклад 15.2
Приклад 15.2. Задано дві матриці розмірності (3х3). Визначити максимальні елементи в кожній з матриць та поміняти їх місцями. Для визначення максимальних елементів та їх перестановки використати процедури. Вважати, що в кожній матриці тільки один максимальний елемент.
Розділ об’яв програми program perestanovka_max; uses crt; const n=3; m=3; type MATR=array[1..n,1..m] of real; var x,y,k,l,i,j:integer; A,B:MATR; f,s:text; maxA,maxB:real;
procedure swap(x,y,m,n:integer;var A,B:MATR); var T:real; begin T:=A[x,y]; A[x,y]:=B[m,n]; B[m,n]:=T; end;
procedure maxm(M1:MATR; var c,d:integer; var max:real); var i,j:integer; begin max:=M1[1,1]; for i:=1 to n do for j:=1 to m do if max <= M1[i,j] then begin max:=M1[i,j]; c:=i;d:=j; end; end; Розділ інструкцій begin assign(f,'matr10.pas');reset(f); assign(s,'matr01.pas'); rewrite(s); writeln(s,'Матрица А: '); writeln(s); for i:=1 to n do begin for j:=1 to m do begin read(f,A[i,j]);write(s,A[i,j]:6:1);end; writeln(s);end;
writeln(s,'Матрица В:'); writeln(s); for i:=1 to n do begin for j:=1 to m do begin read(f,B[i,j]);write(s,B[i,j]:6:1);end; writeln(s);end; writeln(s); maxm(A,x,y,maxA); maxm(B,k,l,maxB); swap(x,y,k,l,A,B);
writeln(s,'Матриця transform А: '); writeln(s); for i:=1 to n do begin for j:=1 to m do begin write(s,A[i,j]:6:1);end; writeln(s);end; writeln(s,'Матриця transform В:'); for i:=1 to n do begin for j:=1 to m do begin write(s,B[i,j]:6:1);end; writeln(s);end; close(s); end. Файл з даними матриці А 12 33 45 19 3 107 48 65 11
Файл з даними матриці А 124 56 78 45 5 99 76 65 88
Файл результатів Матрица А: 12.0 33.0 45.0 19.0 3.0 107.0 48.0 65.0 11.0
Матрица А: transform А: 12.0 33.0 45.0 19.0 3.0 124.0 48.0 65.0 11.0 Матрица В: 124.0 56.0 78.0 45.0 5.0 99.0 76.0 65.0 88.0 1.0700000000E+02 2 3 1.2400000000E+02 1 1 Матрица В: transform В 107.0 56.0 78.0 45.0 5.0 99.0 76.0 65.0 88.0 Задано дві матриці розмірності (5х5). Обчислити суму елементів двох матриць та добуток матриці на число.
Розділ об’яв програми Глобальні змінні і об’ява типу program Matrixes; const Size=5; type TMatrix=array[1..Size,1..Size] of integer; Var Matrix1, Matrix2, Result: TMatrix;
Процедура введення елементів двовимірного масиву procedure InputMatrix(var M:TMatrix); var I, J: integer; N: integer; begin for I:=1 to Size do for J:=1 to Size do begin Write('[',I,',',J,']='); Readln(M [I,J]); end; end;
Процедура виведення елементів двовимірного масиву procedure OutputMatrix(M: TMatrix); var I,J: integer; begin for I:=1 to Size do begin for J:=1 to Size do Write(M[I,J]:5); Writeln; end; end;
Процедура обчислення суми елементів двовимірного масиву procedure SumMatrix(M1,M2: TMatrix; var Result: TMatrix); var I,J: integer; begin for I:=1 to Size do for J:=1 to Size do Result[I,J]:=M1[I,J]+M2[I,J]; end; Процедура обчислення добутку елементів двовимірного масиву та змінної procedure MultMatrix(M: TMatrix; N: integer; var Result: TMatrix); var I,J: integer; begin for I:=1 to Size do for J:=1 to Size do Result[I,J]:=M[I,J]*N; end;
Розділ інструкцій програми begin Writeln('Введіть першу матрицю:'); InputMatrix(Matrix1); Writeln('Введіть другу матрицю:'); InputMatrix(Matrix2); SumMatrix(Matrix1, Matrix2, Result); Writeln('Сума матриць дорівнює'); OutputMatrix(Result);
Write('Введіть число:'); Readln(N); MultMatrix(Matrix1,N,Result); Writeln(' Добуток першої матриці на число: '); OutputMatrix(Result); end.
Дата добавления: 2014-01-07; Просмотров: 252; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |