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

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

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

 
 Ответить  Открыть новую тему 
> Максимальный элемент в двумерном массиве. Проверка., Проверьте текст программы
sergant71
сообщение 18.12.2010 22:01
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

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


Должно выводить максимальный элемент конечного массива, но выводит элемент стоящий на месте [4,4]

program matrica;
uses crt;
Const n=4;
var
Mat1, Mat2,
ResMat1 : array[1..n,1..n] of integer;
i, x, y, R, max: integer;
flag : boolean;
begin
clrscr;
Writeln('vvod mat1');
for y := 1 to n do
for x := 1 to n do
begin
Write('Mat1[',x,',',y,']:');
Readln(Mat1[x,y]);
end;
Writeln('vvod mat2');
for y := 1 to n do
for x := 1 to n do
begin
Write('Mat2[',x,',',y,']:');
Readln(Mat2[x,y]);
end;
for y := 1 to n do
for x := 1 to n do
begin
R := 0;
for i := 1 to n do
r:=R+mat1[y,i]*Mat2[i,x];
ResMat1[x,y]:=R;
end;
Writeln('AxB=');
for y:=1 to n do
begin
for x:=1 to n do
Write(ResMat1[x,y]:4);
Writeln;
end;
max:=resmat1[1,1];
For x:=1 To n Do
For y:=1 To n Do
If max<resmat1[x,y] Then
max:=resmat1[x,y];
writeln('max:=',resmat1[x,y]:3);
readln;
repeat until keypressed;
END.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.12.2010 22:43
Сообщение #2


Гость






Цитата
Должно выводить максимальный элемент конечного массива
Это тебе хочется, чтоб выводило макс. элемент конечного массива. На самом деле тебе еще повезло, что программа не вылетает с ошибкой, ведь после окончания циклов по X, Y их значения не определены. Чтоб вывести действительно макс. элемент -

writeln('max = ',max:3);
 К началу страницы 
+ Ответить 
sergant71
сообщение 18.12.2010 22:48
Сообщение #3





Группа: Пользователи
Сообщений: 5
Пол: Мужской

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


Цитата(volvo @ 18.12.2010 22:43) *

Это тебе хочется, чтоб выводило макс. элемент конечного массива. На самом деле тебе еще повезло, что программа не вылетает с ошибкой, ведь после окончания циклов по X, Y их значения не определены. Чтоб вывести действительно макс. элемент -

writeln('max = ',max:3);



Спасибо
Исходник брал отсюда Массивы. Матрицы. Типичные задачи.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.12.2010 23:01
Сообщение #4


Гость






Цитата
Исходник брал отсюда
Не исходник, а идею решения. Если б ты взял программу без изменений, и она у тебя не сработала - вот тогда ты бы "брал исходник". А так ты взял код, и добавил в него отсебятину. Перемножение матриц у тебя работает правильно, как и работало в исходнике по ссылке. А то, что было добавлено - ошибочно...
 К началу страницы 
+ Ответить 

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

 



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