Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 22.10.2020
Сообщений: 63

Найти минимальный элемент, принадлежащий заштрихованному фрагменту матрицы

02.02.2022, 01:38. Показов 994. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,очень нужна помощь.Дана Матрица 12*12,найти минимальный элемент принадлежащий заштрихованному фрагменту матрицы.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.02.2022, 01:38
Ответы с готовыми решениями:

Найти минимальный элемент массива, принадлежащий заданному интервалу
Даны числа a,b(0<a<b) и набор из n элементов.Найти минимальный из элементов содержащихся в интервале (a,b). Если требуемые элементы...

Найти минимальный элемент массива, принадлежащий интервалу (c, d)
Дан массив а(10) заполненный датчиком случайных чисел. Найти минимальный элемент массива принадлежащий интервалу (c, d).

Матрицы. Найти максимальный элемент матрицы, принадлежащий отрезку [p,q]
Дана матрица А(nxn).Написать программу нахождения максимального элемента матрицы,принадлежащего отрезку

11
Заблокирован
02.02.2022, 05:14
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
var i,j,n,m:integer;
    a:array[1..12,1..12]of integer;
begin
  n:=12;
  randomize;
  for i:=1 to n do
  begin
    for j:=1 to n do
    begin
      a[i,j]:=random(101)-50;
      write(a[i,j]:4);
    end;
    writeln;
  end;
  m:=a[1,n];
  for i:=1 to n do
  begin
    if i<=n div 2 then j:=n-i+1
    else j:=i;
    //writeln(j);
    for j:=j to n do
      if m>a[i,j] then m:=a[i,j];
  end;
  writeln('min=',m);
end.
0
1 / 1 / 0
Регистрация: 22.10.2020
Сообщений: 63
02.02.2022, 10:07  [ТС]
Можете объяснить выбор заштрихованной части?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
02.02.2022, 10:40
В верхней половине - побочная диагональ и правее.
В нижней половине - главная диагональ и правее.

Добавлено через 6 минут
Это можно записать более явно без условия внутри в виде двух циклов:
Pascal
16
17
18
19
  for i:=1 to n div 2 do for j:=1+n-i to n do
    if m>a[i,j] then m:=a[i,j];
  for i:=n div 2+1 to n do for j:=i to n do
    if m>a[i,j] then m:=a[i,j];
0
Вирусоборец
 Аватар для thyrex
14449 / 7488 / 1582
Регистрация: 06.09.2009
Сообщений: 27,132
02.02.2022, 10:52
И первый цикл можно успешно начинать с 2
0
1 / 1 / 0
Регистрация: 22.10.2020
Сообщений: 63
02.02.2022, 13:16  [ТС]
На примере матрицы 4*4, это верно так найти минимальный элемент той же заштрихованной части?
Pascal
1
2
3
4
5
6
7
8
9
10
11
Min:=A[1,4]; x1:=1; y1:=4;
   for i:=1 to 2 do
     for j:=5-i to 4 do
         If A[i,j]<Min Then Begin
         Min:=A[i,j];x1:=i; y1:=j      
       end;
       for i:=3 to 4 do
         for j:=i to 4 do
         If A[i,j]<Min Then Begin
         Min:=A[i,j];x1:=i; y1:=j
         End;
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
02.02.2022, 15:00
Цитата Сообщение от thyrex Посмотреть сообщение
первый цикл можно успешно начинать с 2
Да, поскольку для этого и симметричного по вертикальной оси фрагментов первая строка содержит единственный элемент, который сравнивать с самим собой нет смысла.
0
Вирусоборец
 Аватар для thyrex
14449 / 7488 / 1582
Регистрация: 06.09.2009
Сообщений: 27,132
02.02.2022, 15:05
Цитата Сообщение от Kassandra_ Посмотреть сообщение
На примере матрицы 4*4, это верно так найти минимальный элемент той же заштрихованной части?
да, если нужно еще и индексы такого элемента сохранять
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
02.02.2022, 15:05
Цитата Сообщение от Kassandra_ Посмотреть сообщение
На примере матрицы 4*4
Нет особого смысла вписывать посчитанные значения, достаточно сделать так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const n=4;
var
  i, j, mn, im, jm: Integer;
  a: array [1..n,1..n] of Integer;
. . .
  mn:=a[1,n]; im:=1; jm:=n;
  for i:=2 to n div 2 do for j:=1+n-i to n do
    if mn>a[i,j] then begin
      mn:=a[i,j]; im:=i; jm:=j;
    end;
  for i:=1+n div 2 to n do for j:=i to n do
    if mn>a[i,j] then begin
      mn:=a[i,j]; im:=i; jm:=j;
    end;
и менять только значение константы n.
0
Вирусоборец
 Аватар для thyrex
14449 / 7488 / 1582
Регистрация: 06.09.2009
Сообщений: 27,132
02.02.2022, 15:11
Цитата Сообщение от bormant Посмотреть сообщение
Нет особого смысла вписывать посчитанные значения, достаточно сделать так
в строке 6 все же jm:=n

Да и если будут храниться индексы нужного элемента, то хранить отдельно сам элемент бессмысленно
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
02.02.2022, 15:22
Лучший ответ Сообщение было отмечено Kassandra_ как решение

Решение

Цитата Сообщение от thyrex Посмотреть сообщение
хранить отдельно сам элемент бессмысленно
Скажем осторожно -- алгоритмически избыточно
Pascal
6
7
8
9
10
11
12
13
14
  im:=1; jm:=n;
  for i:=2 to n div 2 do for j:=1+n-i to n do
    if a[im,jm]>a[i,j] then begin
      im:=i; jm:=j;
    end;
  for i:=1+n div 2 to n do for j:=i to n do
    if a[im,jm]>a[i,j] then begin
      im:=i; jm:=j;
    end;
Тем не менее, хотя доступ к переменной может быть намного быстрее, чем к элементу двумерного массива по индексам, не будем забывать, что преждевременная оптимизация -- ровно такая же беда, как и полное ее отсутствие.
1
1 / 1 / 0
Регистрация: 22.10.2020
Сообщений: 63
02.02.2022, 20:24  [ТС]
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.02.2022, 20:24
Помогаю со студенческими работами здесь

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

Найти минимальный элемент матрицы и заменились все нулевые элементы главной диагонали на минимальный элемент
В функцию на ассемблере вводится матрица Я записал код так. .MODEL FLAT, C .DATA .CODE FUNK PROC C a:dword, n:dword mov esi,a ...

Найти минимальный элемент строки матрицы, затем минимальный элемент соответствующего столбца
Добрый день. Пришел к Вам за помощью. Дана матрица, заполненная элементами. Нужно найти минимальный элемент строки, затем найти минимальный...

Решить уравнение p*x2+d*x+r=0, где p - минимальный элемент матрицы A; d –минимальный элемент матрицы B; r - минимальный элемент матрицы C.
Заданы три матрицы A, B, C. Решить уравнение p*x2+d*x+r=0, где p - минимальный элемент матрицы A; d –минимальный элемент матрицы B; r -...

Двумерный массив. Найти минимальный элемент, умножить элементы матрицы на минимальный
найти элемент с минимальным значением и заменить элементы матрицы на произведение её элементов на найденный элемент, вывести новую матрицу...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
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 https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru