С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
KreSD
0 / 0 / 0
Регистрация: 27.04.2016
Сообщений: 2
1

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

27.04.2016, 21:14. Просмотров 789. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста. Сам в программировании нуб, но надо написать программу в Pascal.
Дана квадратная матрица А из целых чисел.
1. Она разбита по диагоналям на четыре области: север, юг, восток, запад. Считается, что элементы по диагонали не принадлежат этим областям. Найдите максимальный элемент каждой области.
2. Найденные элементы вывести в порядке убывания.
Для отладки программы исходную матрицу сформировать с помощью генератора случайных чисел.
Спасайте ребятки...
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2016, 21:14
Ответы с готовыми решениями:

Для целочисленной квадратной матрицы найти элементы, кратные К
1) Дана матрица А размером NxM. Найти сумму элементов, которые больше суммы элементов столбца, в...

Найти все различающиеся элементы целочисленной квадратной матрицы
здравствуйте господа это вами пишет юляшка. помогите пожалуста с решением 2 программ. зарание...

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

В целочисленной матрице найти сумму отрицательных элементов
Доброго времени суток. Помогите решить задачи: 1) В двумерном массиве В(n*m) целых чисел найти...

В целочисленной матрице А найти номера строк, содержащих более трех четных элементов
В целочисленной матрице А найти номера строк, содержащих более трех четных элементов, кратных трем....

3
WindAndRain
93 / 11 / 23
Регистрация: 11.04.2016
Сообщений: 34
28.04.2016, 03:18 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal ABC.net

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
program SWEN_Matrix;
//работает для матриц с размером более чем 2: MxN, M > 2 и N > 2.
 
var
  Ar : array [1..5, 1..5] of Integer;
  MaxSWEN : array [1..4] of Integer;
  tmpValue : Integer;
  tmpIndex : Word;
  i, g : Word;
  
begin
  //формируем и выводим матрицу
  randomize;
  for i := 1 to 5 do
    begin
      for g := 1 to 5 do
        begin
          Ar[i][g] := floor(random()*100);
          write (Ar[i][g]:3, ' ');
        end;
      writeln;
    end;
  writeln;
  
  //инициализируем максимумы
  MaxSWEN[1] := Ar[1][2];   //S
  MaxSWEN[2] := Ar[2][1];   //W
  MaxSWEN[3] := Ar[2][5];   //E
  MaxSWEN[4] := Ar[5][2];   //N
  
  for i := 1 to 5 do
    for g := 1 to 5 do
      begin
        //первым делом исключаем из обработки элементы диагоналей
        if (i = g) or ( i = 5 - g +1)
        then continue;
        
        //распознаём область
        {* S *
         W * E
         * N *}
        //S
        if (i < g) and (i < 5 - g +1)
        then if (Ar[i][g] > MaxSWEN[1])
             then MaxSWEN[1] := Ar[i][g];
        
        //W
        if (i > g) and (i < 5 - g +1)
        then if (Ar[i][g] > MaxSWEN[2])
             then MaxSWEN[2] := Ar[i][g];
             
        //E
        if (i < g) and (i > 5 - g +1)
        then if (Ar[i][g] > MaxSWEN[3])
             then MaxSWEN[3] := Ar[i][g];
             
        //N
        if (i > g) and (i > 5 - g +1)
        then if (Ar[i][g] > MaxSWEN[4])
             then MaxSWEN[4] := Ar[i][g];             
      end;
      
  //контрольная строка: показываем,что правильно нашли элементы в этих секторах
  for i := 1 to 4 do
    write (MaxSWEN[i], ' ');
  writeln;
  
  //сортировка
  for i := 1 to 3 do
    begin
      tmpIndex := i;
      for g := i + 1 to 4 do
        if MaxSWEN[g] > MaxSWEN[tmpIndex]
        then tmpIndex := g;
      
      tmpValue := MaxSWEN[i];
      MaxSWEN[i] := MaxSWEN[tmpIndex];
      MaxSWEN[tmpIndex] := tmpValue;
    end;
  
  //вывод отсортированных максимумов
  for i := 1 to 4 do
    write (MaxSWEN[i], ' ');
    
  
  readln;
end.
1
KreSD
0 / 0 / 0
Регистрация: 27.04.2016
Сообщений: 2
28.04.2016, 15:15  [ТС] 3
выдает ошибку в 14ой строке(((
0
capricornus CF
315 / 205 / 162
Регистрация: 08.12.2015
Сообщений: 853
28.04.2016, 16:21 4
замените
Pascal
1
Ar[i][g] := floor(random()*100);
на
Pascal
1
Ar[i][g] := random(101);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2016, 16:21

найти вектор с максимальной нормой в квадратной матрице
В квадратной матрице А(n,n) надо найти строки, представляющие вектор с максимальной нормой в каждой...

В квадратной матрице найти наибольшее из значений элементов
В квадратной матрице i,j = 1 to M do найти наибольшее из значений элементов, расположенных в...

В квадратной матрице найти max и min значения
Заданна квадратная матрица найти max и min значения массива. Сформировать новую матрицу где...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru