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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2009, 15:52   #1
Бармалей
Пользователь
 
Регистрация: 18.11.2009
Сообщений: 17
Стрелка Сумма максимальных элементов матриц в Pascal

Даны три матрицы – А, В, С. Вычислить сумму максимальных по модулю элементов матриц. Ввод исходных данных и их контрольный вывод оформить как процедуры, а обработку – в виде функции или процедуры.
Код:
program lab1;
uses crt;
type matr = array[1..10, 1..10] of integer;
var A, B, C : matr;
	 sum: real;
procedure InMatr (var M:matr; n:integer; matr_name:char);
	var i, j: integer;
	begin
	writeln('Vvedite',n,'-mernuyu matricu',matr_name);
	for i:=1 to n do
		begin
		for j:=1 to n do
		read(M[i, j]);
		end;
	end;
procedure OutMatr (M:matr; n:integer; matr_name:char);
	var i, j: integer;
	begin
	writeln('Matrica',matr_name,': ');
	for i:=1 to n do
		begin
		for j:=1 to n do
		write(M[i, j]);
		writeln ('');
		end;
	end;
function MaxMod (M:matr; n:integer):real;
	var i, j: integer;
		 mm: real;
	begin
	mm:=0;
	for i:=1 to n do
		begin
		for j:=1 to n do
		if abs(M[i, j]) > abs(mm)
		then mm:=M[i, j];
		end;
	end;
Begin
clrscr;
InMatr(A, 2, 'A'); InMatr(B, 4, 'B'); InMatr(C, 3, 'C');
OutMatr(A, 2, 'A'); OutMatr(B, 4, 'B'); OutMatr(C, 3, 'C');
sum:= MaxMod(A, 2) + MaxMod(B, 4) + MaxMod(C, 3);
writeln('Summa maximalnih po modulyu elementov matric A,B,C =',sum);
End.
При попытке выполнить пишет - Error 200: Division by zero
Помогите пожалуйста разобраться что не так.
Источник нашей мудрости - наш опыт. Источник нашего опыта - наша глупость (Саша Гитри)

Последний раз редактировалось Stilet; 18.11.2009 в 16:18.
Бармалей вне форума Ответить с цитированием
Старый 18.11.2009, 15:52   #2
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Деление на ноль
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Старый 18.11.2009, 15:54   #3
Бармалей
Пользователь
 
Регистрация: 18.11.2009
Сообщений: 17
По умолчанию

Это я понял. Я не понял откуда оно взялось.
Источник нашей мудрости - наш опыт. Источник нашего опыта - наша глупость (Саша Гитри)
Бармалей вне форума Ответить с цитированием
Старый 18.11.2009, 16:19   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Бармалей
Паскаля под рукой сейчас нет, но на твоем месте я бы пошагово по программе прошелся клавишами F7 F8 и посмотрел где деление
Но может быть сам паскаль глючит. Попробуй достать другой дистрибутив или запустить его под DosBox
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.11.2009, 16:36   #5
Бармалей
Пользователь
 
Регистрация: 18.11.2009
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Паскаля под рукой сейчас нет, но на твоем месте я бы пошагово по программе прошелся клавишами F7 F8 и посмотрел где деление
Попробовал - выделяется слово Begin в самом конце программы, где я вызываю процедуры.
Источник нашей мудрости - наш опыт. Источник нашего опыта - наша глупость (Саша Гитри)
Бармалей вне форума Ответить с цитированием
Старый 18.11.2009, 16:38   #6
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

все работает- меняйте компилятор! и добавьте
Код:
function MaxMod (M:matr; n:integer):real;
	var i, j: integer;
		 mm: real;
	begin
	mm:=0;
	for i:=1 to n do
		begin
		for j:=1 to n do
		if abs(M[i, j]) > abs(mm)
		then mm:=M[i, j];
		end;
maxmod:=mm;
	end;
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 18.11.2009, 17:02   #7
Бармалей
Пользователь
 
Регистрация: 18.11.2009
Сообщений: 17
По умолчанию

Скачал себе другой Pascal работает, но результат почему то не выводится.
А зачем нужна строка maxmod:=mm;? Ведь MaxMod - функция и она должна выводить результат в главную программу, или я что-то путаю?
Источник нашей мудрости - наш опыт. Источник нашего опыта - наша глупость (Саша Гитри)
Бармалей вне форума Ответить с цитированием
Старый 18.11.2009, 17:04   #8
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
Ведь MaxMod - функция и она должна выводить результат в главную программу, или я что-то путаю?
а где в вашей функции идет присвоение ей результата?
и чего она должна передавать?
Цитата:
но результат почему то не выводится.
поставь
Код:
 readln;
перед последним end.
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 18.11.2009, 17:22   #9
Бармалей
Пользователь
 
Регистрация: 18.11.2009
Сообщений: 17
По умолчанию

А разве результат не должен выводиться строкой
writeln('Summa maximalnih po modulyu elementov matric A,B,C =',sum);
readln используется для ввода значений а не вывода на экран.
Источник нашей мудрости - наш опыт. Источник нашего опыта - наша глупость (Саша Гитри)
Бармалей вне форума Ответить с цитированием
Старый 18.11.2009, 17:26   #10
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
readln используется для ввода значений а не вывода на экран.
если ты такой умный то чего ты тут делаешь?
слушай тётю!
сказали ставь
Код:
readln;
значит ставь!
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка Матриц(Упорядочивание Элементов,Вывод На Экран Матриц При Условии...) timepoka Помощь студентам 8 01.07.2011 13:20
Вычислить и запомнить суммы положительных элементов каждой строки матриц Babur4iK Помощь студентам 8 18.11.2009 13:56
Сумма четных элементов матрицы. Произведение элементов 3-го столбца. Минимальный элемент матрицы. renovare Помощь студентам 2 03.07.2009 21:13
3 максимальных элемента массива (pascal) deceiver Помощь студентам 14 22.03.2009 08:09
Сумма элементов от А до Амин Ivan357 Паскаль, Turbo Pascal, PascalABC.NET 2 08.12.2008 19:52