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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2009, 13:32   #1
mono
 
Регистрация: 06.04.2009
Сообщений: 6
По умолчанию процедуры паскаль

Для матрицы А (4 строки, 5 столбцов) вычислить выражение Y=M(1)M(5)+M(2)M(4)+M(5)M(1), где M(k) – значение наибольшего элемента в K-ом столбце этой матрицы. Для поиска наибольшего элемента в произвольном столбце матрицы использовать процедуру.
mono вне форума Ответить с цитированием
Старый 06.04.2009, 14:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну и с чем проблемы, со знанием языка или со стратегией?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.04.2009, 16:32   #3
mono
 
Регистрация: 06.04.2009
Сообщений: 6
По умолчанию

Не знаю как создать процедуру, чтобы туда записывались максимальные элементы
mono вне форума Ответить с цитированием
Старый 06.04.2009, 16:33   #4
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

Код:
// Для поиска наибольшего элемента в произвольном столбце матрицы
// использовать процедуру.
type
 matr= array[1..4,1..5] of integer
//..............................................................
procedure max_v_st(var k:integer;var a:matr;var maxs:integer;);
 begin
 maxs:=a[1,k];
 for i:=2 to 4 do
 if a[i,k]> maxs then maxs:=a[i,k]
 end;
 // функция для поиска того же самого
 // лучше использовать ее имхо!
 function maxvst(var k:integer;var a:matr;):integer;
 var m:integer
 begin
 m:=a[1,k];
 for i:=2 to 4 do
 if a[i,k]> m then m:=a[i,k];
maxvst:=m;
 end;
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 06.04.2009, 22:55   #5
mono
 
Регистрация: 06.04.2009
Сообщений: 6
По умолчанию

спасибо огромное.

Код:
program matr;
uses crt;
type matr=array[1..4,1..5] of integer;
procedure EnterMatr(x,y:integer; var M:matr);
var i,j:integer;
begin
     writeln ('vvedite elementi matrici');
     for i:=1 to x do
     for j:=1 to y do begin
     write ('M[',i,',',j,']=');
     readln (M[i,j]);
     end;
end;
procedure MaxVSt(var j:integer; var A:matr; var maxs:integer);
var i:integer;
begin
     maxs:=a[1,j];
     for i:=2 to 4 do
     if a[i,j]>maxs then maxs:=a[i,j];
end;
var
  A:matr; Y:integer;
begin
  EnterMatr(4,5,A);
  Y:=MaxVSt(1)*MaxVSt(5)+MaxVSt(2)*MaxVSt(4)+MaxVSt(5)*MaxVSt(1);
  Writeln('Y=',Y);
  Readln;
end.
Цитата:
Y:=MaxVSt(1)*MaxVSt(5)+MaxVSt(2)*Ma xVSt(4)+MaxVSt(5)*MaxVSt(1);
вот тут ошибка какая-то. посмотрите, пожалуйста
mono вне форума Ответить с цитированием
Старый 06.04.2009, 23:27   #6
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

странно ты процедуру вызваешь... аргументов не хватает
Код:
procedure MaxVSt(var j:integer; var A:matr; var maxs:integer); //три аргумента
...
...:=MaxVSt(1)*...//один аргумент
аналогично во всех остальных вызовах
Uguu~

Последний раз редактировалось __STDC__; 06.04.2009 в 23:29.
__STDC__ вне форума Ответить с цитированием
Старый 06.04.2009, 23:55   #7
mono
 
Регистрация: 06.04.2009
Сообщений: 6
По умолчанию

Код:
var
  A:matr; i:integer:
  m:array[1..5] of integer;
begin
  EnterMatr(4,5,A);
  for i:=1 to 5 do MaxVSt(i,A,m[i]);
  Writeln('Y=',M[1]*[5]+M[2]*M[4]+M[5]*M[1]);
end.
вот так
спасибо ещё раз
mono вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль...Процедуры и функции Miledi Помощь студентам 3 14.05.2012 18:22
Паскаль. Процедуры и функции. Арифметика infff Помощь студентам 5 12.02.2012 09:17