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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2009, 11:09   #1
aslanbek999
Пользователь
 
Регистрация: 02.06.2009
Сообщений: 37
По умолчанию Прошу поправьте мне программу!!!

Если максимальный элемент квадратной матрицы находится выше главной диагонали, транспонировать матрицу, иначе определить сумму элементов строки и столбца с номерами, равными индексам максимального элемента.

Я знаю что это очень приблизительная версия того что должно быть. Буду благодарен за любую помощь. А если еще и подскажете как должна выглядеть эта же программа модульной структуры, буду вечно благодарен.


1.1.5/6 Метод решения задачи:

1. Нахождение максимального элемента.
2. Если максимальный элемент выше главной диагонали, транспонировать матрицу М.
3. Если максимальный элемент ниже главной диагонали, определить сумму элементов строки и столбца с номерами, равными индексам максимального элемента

Код:
Program Tipovik_v_12;
const nn=50;

Type Matrix = array [1..nn, 1..nn] of real;
Var  matr: Matrix;
        i,j,n,m,im,jm : integer;
        F1,F2:text;

function MaxMatrix(M: Matrix): real;
var
  max: real;
  i, j: integer;
begin
  max:=M[1,1];
  for i:=1 to n do
    for j:=1 to n do
      if Max<M[i,j] then
       begin
        max := M[i,j];
        im:=i;
        jm:=j;
       end;
  MaxMatrix:=jm;
end;


function sum(M: Matrix): real;
var
  S,L,F: real;
  i, j,im,jm: integer;
begin
  L:=0;
  F:=0;
  for j:=1 to n do
   L:=L+M[im,j];
  for i:=1 to n do;
   F:=F+M[i,jm];
  S:=F+L-M[2,2];
  sum:=S;
end;

procedure transmatrix(var M,N: Matrix);
var
  i,j: integer;
begin
  for i:=1 to n do begin
    for j:=1 to n do
      N[j,i]:=M[i,j];
  end;
end;

begin
 assign(F1,'isdan.pas');
 assign(F2,'vdan.pas');
 reset(f1);
 rewrite(f2);
  for i:=1 to n do
   begin
    for j:=1 to n do
     read(f1,Matr[i,j]);
    readln(f1);
   end;
 writeln(f2,maxmatrix(matr));
 if im>jm then writeln(f2,'summa ravna',sum(matr)) Else transmatrix(matr);
 close(f1);
 close(f2);
end.
Windows квантумом шурша пишет свопы неспеша...

Последний раз редактировалось Stilet; 02.06.2009 в 11:54.
aslanbek999 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребят помогите мне написать программу Lena1990 Помощь студентам 1 22.11.2008 19:36
Прошу помоч мне с компиляцией dolphin705 Общие вопросы Delphi 2 02.08.2008 15:43
нужно сделать программу? - пиши мне! ZMeJ Фриланс 4 10.09.2007 14:59