Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 03.07.2012
Сообщений: 10

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

03.07.2012, 11:02. Показов 1367. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти максимальные в столбцах значения компонент целочисленной матрицы m[n,k] и записать их в одномерный массив v[k].
Найти минимальное значение компонент массива v[k]. Если минимумов в массиве несколько, то запомнить индекс последнего встречного при переборе из минимумов.
Поменять местами компоненты первого столбца матрицы m[n,k] и столбца, содержащего последний из встреченных минимумов. Если минимум окажется в первом столбце, то оставить матрицу без изменения.
Вычислить сумму компонент матрицы m[n,k].
На экран вывести исходную матрицу m[n,k], массив v[k], последнюю встреченную минимальную компоненту с индексом, изменённую матрицу m[n,k], сумму компонент матрицы m[n,k].


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
88
89
Program zadanie;
Uses crt;
Type matrix = Array [1..10, 1..10] of  Integer;
     massiv = Array [1..10] of Integer;
Var m: matrix;
    v: massiv;
    n, k, i, j, a, b, p1, p2, max, min: Integer;
Begin
   Write ('Введите количество строк матрицы n');
   WriteLN (' не менее 2 и не более 10');
   ReadLN (n);
   If (n<2) Or (n>10) Then
   Begin
     Write ('Вы ввели неправильное количество строк меньше 2 или');
     Write (' больше 10, поэтому принят');
     WriteLN (' максимальный размер, т.е. n=10');
     n:=10;
   End;
   Write ('Введите количество столбцов матрицы k');
   WriteLN (' не менее 2 и не более 10');
   ReadLN (k);
   If (k<2) Or (k>10) Then
   Begin
     Write ('Вы ввели неправильное количество столбцов меньше 2 или');
     Write (' больше 10, поэтому принят');
     WriteLN (' максимальный размер, т.е. k=10');
     k:=10;
   End;
   Write ('Введите левую а и правую b границы диапазона');
   WriteLN (' значений компонент матрицы');
   Write ('a='); ReadLN (a);
   Write ('b='); ReadLN (b);
   If a>b Then
   Begin
     p1:=a; a:=b; b:=p1;
   End;
   If a=b Then
      Begin
      p1:=0; p2:=b;
      End
      Else If b=0 Then
           Begin
            p1:=a; p2:=0;
           End
           Else
           Begin
            p1:=b-a; p2:=a;
           End;
   Randomize;
   For j:=1 To k Do
     For i:=1 To n Do
       m[i,j]:=random (p1+1)+p2;
  Begin
   For j:=1 To k Do
   Begin
     For i:=1 To n Do Write (m[i,j]: 4, ' ');
     WriteLN;
   End;
End;
Begin
   For i:=1 to n do
   Begin
   max:=m[i,1];
   for j:=2 to k do
   if m[i,j]>max then
   max:=m[i,j];
   writeln('Максимальное в столбце',i:4,' будет ',max);
   v[i]:=max;
   end;
End;
Begin
    Write('Массив v: ');
    For i:=1 To n Do Write (v[i]:4, ' ');
    WriteLn;
End;
Begin
     i:=1;
     min:=v[1];
     for i:=2 to n do
     begin
        if min>v[i] then
        begin
           min:=v[i];
        end;
     end;
     Write ('Минимальное значение компонент одномерного массива min=', min);
End;
 ReadLn;
End.

как продолжить? плюс ещё работа должна содержать не менее двух процедур и одной функции
Миниатюры
Найти максимальные в столбцах значения компонент матрицы и записать их в одномерный массив  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.07.2012, 11:02
Ответы с готовыми решениями:

Найти максимальные элементы каждой строки(столбца) матрицы и записать их в одномерный массив
Найти максимальные элементы каждой строки(столбца) матрицы и записать их в одномерный массив найдите пожалуйста ошибку нипанимаю в чом...

Найти суммы компонент вещественной матрицы в её четвертях и записать их в одномерный массив
в программе должен быть предусмотрен ввод пользователем количества строк и столбцов матрицы при исполнении программы. Найти суммы...

Найти суммы компонент вещественной матрицы по строкам и записать их в одномерный массив
1) Найти суммы компонент вещественной матрицы m по строкам и записать их в одномерный массив v . 2) Заменить значения компонент в...

4
Фрилансер
 Аватар для CodeR
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,603
Записей в блоге: 1
03.07.2012, 11:28
Такая простая задача а ты её расписал на столько строк...
Ну в общем вот доделал твою задачу...
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
Program zadanie;
 Uses crt;
 Type matrix = Array [1..10, 1..10] of Integer;
 massiv = Array [1..10] of Integer;
 Var m: matrix;
 v: massiv;
 n, k, i, j, a, b, p1, p2, max, min,imin,s,t: Integer;
 Begin
 Write ('Введите количество строк матрицы n');
 WriteLN (' не менее 2 и не более 10');
 ReadLN (n);
 If (n<2) Or (n>10) Then
 Begin
 Write ('Вы ввели неправильное количество строк меньше 2 или');
 Write (' больше 10, поэтому принят');
 WriteLN (' максимальный размер, т.е. n=10');
 n:=10;
 End;
 Write ('Введите количество столбцов матрицы k');
 WriteLN (' не менее 2 и не более 10');
 ReadLN (k);
 If (k<2) Or (k>10) Then
 Begin
 Write ('Вы ввели неправильное количество столбцов меньше 2 или');
 Write (' больше 10, поэтому принят');
 WriteLN (' максимальный размер, т.е. k=10');
 k:=10;
 End;
 Write ('Введите левую а и правую b границы диапазона');
 WriteLN (' значений компонент матрицы');
 Write ('a='); ReadLN (a);
 Write ('b='); ReadLN (b);
 If a>b Then
 Begin
 p1:=a; a:=b; b:=p1;
 End;
 If a=b Then
 Begin
 p1:=0; p2:=b;
 End
 Else If b=0 Then
 Begin
 p1:=a; p2:=0;
 End
 Else
 Begin
 p1:=b-a; p2:=a;
 End;
 Randomize;
 s:=0;
 For j:=1 To k Do
 For i:=1 To n Do 
 Begin
  m[i,j]:=random (p1+1)+p2;
  s:=s+m[i,j];
 End;
 For i:=1 To n Do
 Begin
 For j:=1 To k Do Write (m[i,j]: 4, ' ');
 WriteLN;
 End;
 For i:=1 to n do
 Begin
 max:=m[i,1];
 for j:=2 to k do
 if m[i,j]>max then
 max:=m[i,j];
 writeln('Максимальное в столбце',i:4,' будет ',max);
 v[i]:=max;
 end;
 Write('Массив v: ');
 For i:=1 To n Do Write (v[i]:4, ' ');
 WriteLn;
 Begin
 i:=1;
 min:=v[1];imin:=1;
 for i:=2 to n do
 begin
 if min>=v[i] then
 begin
 min:=v[i];
 imin:=i;
 end;
 end;
 Writeln('Минимальное значение компонент одномерного массива min=', min,' его индекс ',imin);
 writeln('Сумма элементов: ',s);
 if imin<>1 then 
  Begin
   writeln('Преобразованная матрица');
   For i:=1 to n do
    Begin
     t:=m[i,imin];
     m[i,imin]:=m[i,1];
     m[i,1]:=t;
    End;
   For i:=1 to n do
    Begin
     For j:=1 to k do
      write(m[i,j]: 4, ' ');
     writeln;
    End;
   End
    else writeln('Min находится в первом столбце');
 End;
 ReadLn;
 End.
1
0 / 0 / 0
Регистрация: 03.07.2012
Сообщений: 10
03.07.2012, 12:57  [ТС]
Спасибо огромное! Не ожидал так быстро получить ответ.

Добавлено через 56 минут
А как же это сделать: Если минимумов в массиве несколько, то запомнить индекс последнего встречного при переборе из минимумов.
0
Фрилансер
 Аватар для CodeR
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,603
Записей в блоге: 1
03.07.2012, 13:57
Pascal
1
if min>=v[i]
Так вот это же сделано он запомнит последний минимум...
0
0 / 0 / 0
Регистрация: 03.07.2012
Сообщений: 10
03.07.2012, 15:48  [ТС]
Цитата Сообщение от Artem7 Посмотреть сообщение
Pascal
1
if min>=v[i]
Так вот это же сделано он запомнит последний минимум...
Всё верно, это я знак = пропустил. Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.07.2012, 15:48
Помогаю со студенческими работами здесь

Найти средние значения элементов каждой строки матрицы и записать их в одномерный массив
Сформировать двумерный массив А размером 6*8 с помощью генератора случайных чисел и вывести элементы массива на экран. Найти средние...

Найти количество положительных элементов в каждой строки матрицы и записать их значения в одномерный массив В
Сформировать двумерный массив А размером 5*7 с помощью генератора случайных чисел и вывести элементы массива на экран. Найти количество...

Найти количество положительных элементов в каждой строки матрицы и записать их значения в одномерный массив В
const n=5;m=7; var A:array of integer; B: array of real; i,j,k:integer; begin randomize; write('Массив...

Сформировать одномерный массив содержащий значения минимальных элементов в столбцах матрицы
Дана целочисленная прямоугольная матрица.Вычислить Сформировать одномерный массив содержащий значения минимальных элементов в...

Дана матрица действительных чисел A(n,m). Получить одномерный массив D, элементами которого являются максимальные значения из каждой строки исходной матрицы.
Помогите)))


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью 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. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru