0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 51

Найти максимальный элемент побочной диагонали

16.03.2017, 20:14. Показов 9822. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан двумерный массив А[5,5]. Нужно найти максимальный элемент побочной диагонали. На месте пересечения ряда и столбца, где встречаются максимальные элементы, поменять местами элементы ряда и столбца.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2017, 20:14
Ответы с готовыми решениями:

В квадратной матрице 6х6 найти максимальный элемент, который лежит на побочной диагонали и максимальный элемент в каждой строке матрицы
В квадратной матрице 6х6 найти максимальный элемент, который лежит на побочной диагонали и максимальный элемент в каждой строке матрицы

Найти максимальный элемент побочной диагонали матрицы
найти максимальный элемент побочной диагонали матрицы b(m,n). (m=4,n=4)

Найти максимальный элемент побочной диагонали матрицы
Найти максимальный побочный элемент матрицы B(m,n) .(m=4,n=4).

4
 Аватар для Alexandr212
101 / 98 / 112
Регистрация: 28.11.2016
Сообщений: 528
16.03.2017, 20:24
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var
  a: array [1..5, 1..5] of integer;
  i, j, max, maxi: integer;
 
begin
  randomize;
  for i := 1 to 5
  do 
  begin
    for j := 1 to 5
    do 
    begin
      A[i, j] := random(50);
      write(A[i, j]:3);
    end;
    writeln;
  end;
  max := A[1, 1];
  for i := 1 to 5
    do
    for j := 1 to 5
    do 
    begin
      if i = j
        then if A[i, j] > max then begin max := A[i, j];maxi := i end;
    end;
  writeln;
  writeln(max);
  for i := 1 to 5
    do swap(A[maxi, i], A[i, maxi]);
  for i := 1 to 5
  do 
  begin
    for j := 1 to 5
      do
      write(A[i, j]:3);
    writeln;
  end;
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
17.03.2017, 10:44
Alexandr212,
стр. 18: ошибка -- a[1,1] не лежит на побочной диагонали.
стр. 19-26: не побочная диагональ, нерационально.
Pascal
18
  max:=a[1,5]; for i=2 to 5 do if max<a[i,6-i] then max:=a[i,6-i];
А вот по поводу замены -- большой вопрос.
Если только на побочной диагонали, то:
Pascal
1
2
  for i=1 to 5 do if max=a[i,6-i] then
    for j:=1 to 5 do swap(a[i,j],a[j,i]);
Если же во всем массиве, то сначала нужно запомнить, где максимумы, а затем выполнить замены.
Pascal
1
2
3
4
5
6
var
  b: array [1..5,1..5] of Boolean;
 
  for i:=1 to 5 do for j:=1 to 5 do b[i,j]:=max=a[i,j];
  for i:=1 to 5 do for j:=1 to 5 do if b[i,j] then
    for k:=1 to 5 do swap(a[i,k],a[k,j]);
Добавлено через 2 минуты
Ну и swap не забыть описать (ибо раздел Turbo Pascal):
Pascal
1
2
3
4
5
procedure swap(var a, b: Integer);
var t: Integer;
begin
  t:=a; a:=b; b:=t;
end;
Добавлено через 1 минуту
PS. System.Swap() меняет местами младший и старший байт своего единственного двухбайтового аргумента.
0
 Аватар для Alexandr212
101 / 98 / 112
Регистрация: 28.11.2016
Сообщений: 528
17.03.2017, 15:59
Ясно, спасибо bormant, а по поводу диагонали, перепутал, не углядел извините.
0
Модератор
10438 / 5727 / 3405
Регистрация: 17.08.2012
Сообщений: 17,437
23.03.2017, 20:26
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const m = 5;
var a: array[1..m, 1..m] of integer;
    i, j, t, max: integer;
begin
  randomize;
  writeln('Source array:');
  for i := 1 to m do
    begin
      for j := 1 to m do
        begin
          a[i, j] := -99 + random(199);
          write(a[i, j]:4)
        end;
      writeln
    end;
  max := 1;
  for i := 2 to m do
    if a[i, m - i + 1] > a[max, m - max + 1]
      then max := i;
  writeln('Max element of secondary diagonal: a[', max, ', ', m - max + 1, '] = ', a[max, m - max + 1]);
  for i := 1 to m do
    begin
      t := a[max, m - i + 1];
      a[max, m - i + 1] := a[i, m - max + 1];
      a[i, m - max + 1] := t
    end;
  writeln('Result:');
  for i := 1 to m do
    begin
      for j := 1 to m do write(a[i, j]:4);
      writeln
    end;
  readln
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.03.2017, 20:26
Помогаю со студенческими работами здесь

Найти максимальный элемент побочной диагонали матрицы
112. Дана матрица размера 3х3. Найти максимальный элемент побочной диагонали.

Найти максимальный элемент на первой и на побочной диагонали матрицы
матрица n*n

Двухмерные массивы: Найти наибольший элемент выше побочной диагонали и наименьший элемент ниже побочной диагонали
Помогите пожалуйста доделать программу осталось только вот это задача!!!!!!! Дан двухмерный массив. Найти наибольший элемент выше...

В заданной матрице из символов поменять местами максимальный элемент главной диагонали и минимальный элемент побочной диагонали.
В заданной матрице из символов поменять местами максимальный элемент главной диагонали и минимальный элемент побочной диагонали.

Дана квадратная матрица. Поменять местами максимальный элемент на главной диагонали и минимальный элемент на побочной диагонали.
Дана квадратная матрица. Поменять местами максимальный элемент на главной диагонали и минимальный элемент на побочной диагонали.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru