Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2010, 00:24   #1
momentow
 
Регистрация: 23.12.2010
Сообщений: 7
По умолчанию Матрица 5х5, нахождение максимального элемента главной диагонали

Программа должна находить максимальные элементы главной диагонали двух матриц, затем их складывать. Вот исходник. Как я понимаю глючит функция нахождения макс. элемента.Вот исходник.

program SummaMaxElementov;
uses crt;
const m=5;
type mat=array[1..m,1..m] of real;
var a,b:mat;
i,j,n:integer;
z:real;
procedure vvod(a:mat);
var c:mat; i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
readln(c[i,j]);
end;
Function maxdiagonal(c:mat):real;
var j,i:integer; max:real;
begin
max:=c[1,1];
for i:=2 to n do
for j:=2 to n do
if (i=j) and (c[i,j]>max) then max:=c[i,j];
maxdiagonal:=max;
end;
begin
clrscr;
writeln('Vvedite razmernost matricy');
readln(n);
clrscr;
writeln('Vvedite elementy matricy a');
vvod(a);
writeln('Vvedite elementy matricy b');
vvod(b);
z:=maxdiagonal(a) + maxdiagonal(b);
writeln('Summa maximalnyh elementov glavnoy diagonali =','',z:4:2);
readln;
end.
momentow вне форума Ответить с цитированием
Старый 23.12.2010, 00:39   #2
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Что первое бросилось в глаза
Цитата:
for i:=2 to n do
for j:=2 to n do
замените на
Код:
for i:=1 to n do
for j:=2 to n do
можите даже написать j:=1, вреда не будет, просто выполнится еще одна операция сравнения
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.

Последний раз редактировалось Niro; 23.12.2010 в 00:42.
Niro вне форума Ответить с цитированием
Старый 23.12.2010, 00:43   #3
momentow
 
Регистрация: 23.12.2010
Сообщений: 7
По умолчанию

поменял, как вы сказали. все равно выводит, что сумма максимальных элементов равна нулю.
momentow вне форума Ответить с цитированием
Старый 23.12.2010, 01:33   #4
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Код:
a:=0;
for i:= 1 to n1 do
 if a<mas1[i,i] then a:=mas1[i,i]
b:=0;
for j:= 1 to n2 do
 if b<mas2[j,j] then b:=mas2[j,j];
c:=a+b;
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 23.12.2010, 02:18   #5
momentow
 
Регистрация: 23.12.2010
Сообщений: 7
По умолчанию

В общем то доделал сам, может кому-нибудь полезно будет.

Цитата:
program SummaMaxElementov;
uses crt;
const m=5;
type matr=array[1..m,1..m] of real;
var a,b:matr; d:array[1..m] of real;
i,j,n:integer;
z,max,max1:real;
procedure vvod(var c:matr);
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do begin
write('matr[',i,',',j,']=');
readln(c[i,j]);
end;
end;
function maxdiagonal(a,b:matr):real;
var j,i:integer; max,max1:real; z:real;
begin
max:=-5000;
for i:=1 to n do
for j:=1 to n do begin
if (i=j) and (max<a[i,j]) then max:=a[i,j];
end;
max1:=-5000;
for i:=1 to n do
for j:=1 to n do begin
if (i=j) and (max1<b[i,j]) then max1:=b[i,j];
end;
z:=max+max1;
writeln('Summa maksimalnyh elementov glavnoy diagonali =','',z:4:0);
end;
begin
clrscr;
writeln('Vvedite razmernost matricy');
readln(n);
clrscr;
writeln('Vvedite elementy matricy a');
vvod(a);
writeln('Vvedite elementy matricy b');
vvod(b);
maxdiagonal(a,b);
readln;
end.
momentow вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица. Сумма элементов главной диагонали RECREATOR Помощь студентам 13 11.05.2011 22:12
Нахождение максимального элемента в стрингриде.. либо в подпрограммах что то дописать.. не наю..( Cheshire Cat Помощь студентам 1 09.11.2010 17:52
Массив, нахождение макс элемента ниже главной диагонали L3zh1Y Помощь студентам 2 15.05.2010 13:36
нахождение максимального элемента в дереве. Haskell densan Помощь студентам 4 01.06.2009 13:23
Дана матрица 9х9. В строках с отрицательными элементами на главной диагонали найти сумму, макс и мин DeVcheNka Помощь студентам 5 21.11.2008 07:46