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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2010, 20:26   #1
Mojevelnik
 
Регистрация: 28.11.2010
Сообщений: 3
Сообщение Наибольший элемент в Главной диаганали матрицы [Паскаль]

Условие звучит Так . Найти наибольший элемент в побочной диагонали матрицы. Помогите закончить прогу вот наработки, запуталса млин.

Код:
program maxElementPobochnoidiaganali;

const
 N=5;
Var 
 matrix: array [1..N, 1..N] of integer;
 i,j: integer;       (*индексы массива*)
 mm: integer;
 max 
begin
 (*заполнение массива случайными числами от 0 до 100*)
 writeln('исходный массив');
  for i:= 1 to N do  (*цикл перебора всех строк*)
  begin
   for j:=1 to N do (* перебор всех элементов строки по столбам*)
    begin
     matrix[i,j]:=random(100);  (* вводим случайно в i-ой строке b j-ом cтолбце*)
     write(matrix[i,j]:3,' ');
    end;
    writeln('') 
  end;
  
 for i:=N to 1 do
  begin
   for j:=i to N do
    begin
    if matrix[Тут то что писать весь мосг сломал!!хелп]>matrix[j,j] then
     begin
      mm:=matrix[i,i];
      matrix[i,i]:=matrix[j,j];
      matrix[j,j]:=mm;
      i:=0;
      j:=N;
      max:=[i,j]
     end;
    end; 
  end;
  writeln[max]    
end.

Последний раз редактировалось Stilet; 04.12.2010 в 21:24.
Mojevelnik вне форума Ответить с цитированием
Старый 05.12.2010, 08:38   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Код:
max := matrix[1][N];
for i := 1 to N do
  if matrix[i][N-i+1] > max then
    max := matrix[i][N-i+1];
Раз уж используете random не забудьте вызвать randomize вначале
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 09.12.2010, 23:06   #3
Mojevelnik
 
Регистрация: 28.11.2010
Сообщений: 3
По умолчанию

Код:
program maxEl;

const
 N=10;
Var 
 matrix: array [1..N, 1..N] of integer;
 i,j: integer;       (*индексы массива*)
 mm: integer; 
begin
 randomize;
 (*заполнение массива случайными числами от 0 до 100*)
 writeln('исходный массив');
  for i:= 1 to N do  (*цикл перебора всех строк*)
  begin
   for j:=1 to N do (* перебор всех элементов строки по столбам*)
    begin
     matrix[i,j]:=random(100);  (* вводим случайно в i-ой строке b j-ом cтолбце*)
     write(matrix[i,j]:3,' ');
    end;
    writeln('') 
  end;
  
  mm:=matrix[1,N];(*инициализация вспомогательной переменной*)
  for i:=2 to N do (* перебор элементов побочной диагонали*)
  begin
   if matrix[i,N+1-i]>mm then
      mm:=matrix[i,N+1-i];
  end;
  
 writeln('максимальное значение в побочной диагонали ', mm);
    
end.

Последний раз редактировалось alex_fcsm; 09.12.2010 в 23:07. Причина: Код учимся оформлять верно
Mojevelnik вне форума Ответить с цитированием
Старый 09.12.2010, 23:12   #4
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Такой вопрос , а что такое побочная диагональ ?
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 09.12.2010, 23:29   #5
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
i:=1;
 IMax:=1;
while i<=n do
 begin
  if a[i,n-i+1]>a[Imax,n-Imax+1] then Imax:=i; - элементы побочной диагонали
    inc(i);
 end;
a[Imax,n-Imax+1] - после работы цикла это максимальный элемент
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 09.12.2010 в 23:32.
alex_fcsm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПАСКАЛЬ! умножение k-ой строки исходной матрицы на сумму элементов главной диагонали wrmarw Помощь студентам 5 08.05.2010 12:05
Переставляя строки и столбцы матрицы добиться, чтобы наибольший элемент оказался в верхнем левом углу aigulia Помощь студентам 2 02.04.2010 19:35
найти максимальный элемент на главной диагонали. паскаль Nirvanovec Фриланс 8 25.01.2010 22:38
возведение в квадрат элементов главной диагонали матрицы. Паскаль hardrace Помощь студентам 7 14.11.2009 22:54
найти наибольший и наименьший элемент матрицы B(N x M) и поменять их местами поЛотЕнчик_просТо Общие вопросы C/C++ 2 13.05.2009 12:17