Меню

Как найти максимальный элемент в матрице паскаль



Как найти максимальный элемент в матрице паскаль

Поиск максимума и минимума (вариант 1 — максимальное и минимальное значения):

CONST
kol_strok=5;
kol_stolbcov=4;
VAR
A:array[1..kol_strok,1..kol_stolbcov] of Real;
i,j:integer;
max,min:real;
BEGIN
for i:=1 to kol_strok do
for j:=1 to kol_stolbcov do
Read(A[i,j]);
max:=A[1,1];
min:=A[1,1];
for i:=1 to kol_strok do
for j:=1 to kol_stolbcov do
begin
if A[i,j]>max then max:=A[i,j];
if min>A[i,j] then min:=A[i,j];
end;
Writeln(‘Максимальный элемент = ‘,max:4:2);
Writeln(‘Минимальный элемент = ‘,min:4:2);
END.

max:=A[1,1]; — начальное значение максимума, предполагаем, что максимальный элемент стоит на пересечении 1-ой строки и 1-го столбца;
min:=A[1,1]; — начальное значение минимума, предполагаем, что минимальный элемент стоит на пересечении 1-ой строки и 1-го столбца;
for i:=1 to kol_strok do — перечисляем все строки
for j:=1 to kol_stolbcov do — перечисляем все столбцы
if A[i,j]>max then max:=A[i,j]; — если текущий элемент матрицы А больше значения переменной max, то переменной max присваиваем значение этого элемента
if min>A[i,j] then min:=A[i,j]; — если значение переменной min больше текущего элемента матрицы А, то переменной min присваиваем значение этого элемента

Поиск максимума и минимума (вариант 2 — позиции максимального и минимального элементов):

CONST
kol_strok=5;
kol_stolbcov=4;
VAR
A:array[1..kol_strok,1..kol_stolbcov] of Real;
i,j:integer;
max_stroka,max_stolbec,min_stroka,min_stolbec:integer;
BEGIN
for i:=1 to kol_strok do
for j:=1 to kol_stolbcov do
Read(A[i,j]);
max_stroka:=1;
max_stolbec:=1;
min_stroka:=1;
min_stolbec:=1;
for i:=1 to kol_strok do
for j:=1 to kol_stolbcov do
begin
if A[i,j]>A[max_stroka,max_stolbec] then
begin
max_stroka:=i;
max_stolbec:=j;
end;
if A[min_stroka,min_stolbec]>A[i,j] then
begin
min_stroka:=i;
min_stolbec:=j;
end;
end;
Writeln(‘Максимальный элемент = ‘,A[max_stroka,max_stolbec]:4:2);
Writeln(‘Минимальный элемент = ‘,A[min_stroka,min_stolbec]:4:2);
END.

max_stroka:=1; — предположим, что максимальный элемент находится в 1-ой строке
max_stolbec:=1; — предположим, что максимальный элемент находится в 1-ом столбце
min_stroka:=1; — предположим, что минимальный элемент находится в 1-ой строке
min_stolbec:=1; — предположим, что минимальный элемент находится в 1-ом столбце
if A[i,j]>A[max_stroka,max_stolbec] then — если текущий элемент матрицы А больше элемента находящегося на пересечении max_stroka и max_stolbec, то сохраняем его позицию в наших переменных
if A[min_stroka,min_stolbec]>A[i,j] then — если элемент находящийся на пересечении min_stroka и min_stolbe больше текущего элемента матрицы А, то сохраняем позицию текущего элемента в наших переменных

Источник статьи: http://pascalmatrix.narod.ru/mm.html

Дан двумерный масссив. Найти и вывести максимальный элемент каждой строки. Turbo Pascal

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

Миллиард — реже его называют биллионом — это единица с девятью нулями. Употребляется и триллион — единица с двенадцатью нулями. Наименования еще больших чисел мало известны, да и ради экономии места они обозначаются и произносятся как степень числа 10. Например, десять в двадцать четвертой степени. Но у некоторых чисел-великанов названия есть: 10 5—квадриллион, 1018—квинтиллион, 1024—секстиллион, 1027—октиллион.. .

Американский математик Кастнер изобрел «самое большое число» и назвал его «гугол» . Это единица со ста нулями! То есть, 10100. Хотя естественный ряд чисел и бесконечен, все же в известной мере гугол — это граница исчисляемого мира.

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

Если же подсчитаем объем Земли в кубических миллиметрах, то получим чуть большее число — 1030. Но и это слишком мало по сравнению с гуголом. Если предположить, что в одном кубическом миллиметре вместится десять песчинок, и подсчитать их количество в объеме Земли, то получится всего tO31. Иными словами, Земля слишком мала для какого бы то ни было вычисления в масштабах гугола.

Возьмем просторы космоса и попытаемся выразить расстояние между звездами в ангстремах — один ангстрем равен одной десятимиллионной части миллиметра. Обычно межзвездные расстояния измеряют в световых го- — это расстояние, которое солнечный луч проходит за год, — приблизительно 9,5 триллиона километров. И если выразить световой год в ангстремах, то получим 1026 ангстрема. И расстояние до самых удаленных галактик не превышает 6X1027 ангстрем.

Предположим, что Вселенная имеет ограниченные размеры (что не доказано) и сопоставим этот самый крупный физический объект, известный людям, с ядром атома — одним из самых малых объектов, изученных физиками. Соотношение между ними составит 1040. Это также не гугол.

А теперь подсчитаем возраст Вселенной. Самое короткое время, которое мы используем в этом вычислении, составляет тот миг, который необходим световому лучу, чтобы пересечь диаметр атомного ядра. Получается, что возраст Вселенной в этих единицах составляет также 1040.

Пересчитаем все атомные частицы, существующие в известной нам Вселенной: протоны, электроны, нейтроны, а также нейтрино и фотоны. Даже в одной пылинке содержится несколько миллиардов элементарных частиц. А во Вселенной их 1088— то есть миллионная миллионной части гугола!

До сих пор мы пользовались только статистическими величинами: длиной, объемом, количеством частиц. Интересно затронуть и динамические величины, например энергию. Энергия, излучаемая всеми звездами во Вселенной, должна быть исключительно велика. Но даже выраженная в микроваттах, она не достигает 1040.

Гугол недостижим, даже если подсчитать, сколько энергии содержится во всем веществе Вселенной.

Источник статьи: http://otvet.mail.ru/question/201374444

Максимальный элемент среди минимальных элементов столбцов матрицы

Найти максимальный элемент среди минимальных элементов столбцов матрицы.

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

Начальными значениями этих переменных должны быть: для хранения текущего минимума — большее значение, чем максимально возможное; для хранения максимума среди минимумов — меньшее значение, чем минимально возможное. Например, если диапазон матрицы от 0 до 199, то одной переменной надо присвоить 200, а другой -1.

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

Pascal

Мы видим, что во втором столбце минимальный элемент равен 120 и это максимум среди минимумов других столбцов. Т.е. в других столбцах минимальный элемент меньше, чем 120.

Язык Си

В шестом столбце минимальный элемент 146. В других столбцах минимальные элементы меньше 146-ти.

Python

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

КуМир

В первом столбце минимальный элемент 135. Во всех других столбцах минимальные элементы меньше.

Basic-256

Во втором столбце минимум равен 38. В других столбцах минимумы меньше.

Совершенно непонятное ТЗ, минимальное значение среди каких?

Нигде нет правильного кода, ничего не соответствует условию, выдаёт совсем другой элемнт

const
M = 10;
N = 5;
var
a: array[1..N,1..M] of integer;
i,j: byte;
max, min: integer;
begin
randomize;
max := -1;
for j:=1 to M do begin
min := 200;
for i:=1 to N do begin
a[i,j] := random(200);
if a[i,j] max then
max := min;
end;
for i:=1 to N do begin
for j:=1 to M do
write(a[i,j]:5);
writeln;
end;
writeln(‘Maximum of the minimum: ‘, max);
end.

Пример(ы) выполнения программы на языке Pascal:

111 148 189 3 49 197 192 39 51 78
51 172 53 103 175 25 122 34 80 165
68 173 141 82 74 132 59 179 59 151
175 120 138 173 36 101 167 189 173 198
172 151 37 1 46 126 83 183 38 83
Maximum of the minimum: 120

Мы видим, что во втором столбце минимальный элемент равен 120 и это максимум среди минимумов других столбцов. Т.е. в других столбцах минимальный элемент меньше, чем 120.

#include
#define M 10
#define N 5
main() <
int a[N][M], i, j, max, min;
srand(time(NULL));
max = -1;
for (j=0; j max) max = min;
>
for (i=0; i

from random import random
M = 10
N = 5
a = []
for i in range(N):
b = []
for j in range(M):
n = int(random()*200)
b.append(n)
print(‘%4d’ % n,end=»)
a.append(b)
print()

mx = -1
for j in range(M):
mn = 200
for i in range(N):
if a[i][j] mx:
mx = mn
print(«Максимальный среди минимальных: «, mx)

Пример(ы) выполнения программы на языке Python:

104 60 85 107 189 194 2 143 65 117
109 74 186 102 166 133 169 117 94 190
152 20 63 98 1 93 81 109 23 86
89 186 191 176 67 7 3 109 120 66
89 185 86 167 16 3 163 62 24 84
Максимальный среди минимальных: 98

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

алг максимальный среди минимальных
нач
цел M=10, N=5
цел таб a[1:N, 1:M]
цел i, j, mx, mn
mx := 99
нц для j от 1 до M
mn := 200
нц для i от 1 до N
a[i,j] := int(rand(100,200))
если a[i,j] mx то mx := mn все
кц
нц для i от 1 до N
нц для j от 1 до M
вывод a[i,j], » »
кц
вывод нс
кц
вывод «Максимальный среди минимальных элементов столбцов: «, mx
кон

173 153 165 176 116 124 179 143 175 132
154 162 196 173 109 164 120 179 105 180
135 124 116 169 116 167 188 104 106 129
149 111 117 105 180 163 147 198 178 150
195 171 168 116 141 195 111 169 132 109
Максимальный среди минимальных элементов столбцов: 135

В первом столбце минимальный элемент 135. Во всех других столбцах минимальные элементы меньше.

M = 10
N = 5
dim a(N,M)
max = 9
for j=0 to M-1
min = 100
for i=0 to N-1
a[i,j] = int(rand * 90)+10
if a[i,j] max then max = min
next j
for i=0 to N-1
for j=0 to M-1
print a[i,j] + » «;
next j
print
next i
print «Максимальный среди минимальных: » + max

98 69 65 66 15 25 39 30 12 93
17 97 66 30 40 39 58 46 81 41
31 38 64 20 30 13 14 12 27 99
25 43 30 38 71 67 13 29 36 20
59 66 51 86 98 74 94 29 19 79
Максимальный среди минимальных: 38

Во втором столбце минимум равен 38. В других столбцах минимумы меньше.

Источник статьи: http://gospodaretsva.com/max-min.html

Найти индексы максимальных элементов матрицы

В двумерном массиве (матрице) найти индексы (номера строк и столбцов) максимальных элементов.

  • mx — заданная матрица;
  • max — значение максимального элемента;
  • qty — количество максимальных элементов в матрице;
  • id — массив для хранения номеров строк и столбцов найденных максимальных элементов;
  • i , j — переменные, используемые в качестве счетчиков и текущих индексов элементов массива.

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

Допустим, задача усложнена тем, что

  1. в матрице может быть несколько равных между собой максимальных элементов,
  2. их индексы нужно не просто вывести на экран, но и сохранить внутри программы.

Если бы требовалось просто вывести индексы первого попавшегося (или единственного) максимального элемента, то достаточно было бы перебрать матрицу, сравнить каждый элемент с ранее найденным максимальным значением. Как только совпадение было бы найдено, вывести на экран значения i и j . После чего прервать выполнение цикла.

Поскольку нужно запомнить индексы максимумов, то в программу вводится дополнительный двумерный массив (матрица) id . Каждая его строка состоит всего из двух элементов, в которых будут храниться номера строки и столбца найденного максимума. Количество строк массива id должно быть таким, чтобы была возможность записать в него индексы всех элементов заданной матрицы, если вдруг все они окажутся максимальными. Однако маловероятно, что все элементы матрицы будут максимальными. Поэтому массив id не будет заполнен полностью. Чтобы отслеживать сколько строк этого массива заполнено (т. е. сколько максимумов найдено), вводится переменная qty .

Итак, перебираем заданную матрицу построчно. Если очередной элемент равен значению max , то увеличиваем на 1 значение qty , а в id в его строку с номером qty записываем индексы i и j найденного максимума.

В конце программы выводим значения заполненных ранее ячеек массива id .

Программа на языке Паскаль:

Пример выполнения программы определения индексов максимальных элементов матрицы:

Источник статьи: http://pas1.ru/id-max-matrix

Найти максимальные элементы столбцов матрицы

Найти максимальный элемент каждого столбца матрицы.

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

В теле внешнего цикла сначала предполагается, что наибольшим является первый элемент текущего столбца. Первый элемент каждого столбца имеет индекс строки, равный 1 (или 0 при индексации с нуля). Второй индекс — это номер столбца, определяется счетчиком внешнего цикла.

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

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

Pascal

Язык Си

Python

КуМир

Basic-256

const N = 15; M = 10;
var
arr: array[1..N,1..M] of byte;
i,j,max: byte;
begin
randomize;
for i:=1 to N do begin
for j:=1 to M do begin
arr[i,j] := random(256);
write(‘ |’,arr[i,j]:3,’| ‘);
end;
writeln;
end;
for i:=1 to M do
write(‘ —— ‘);
writeln;
for j:=1 to M do begin
max := arr[1,j];
for i:=2 to N do
if arr[i,j] > max then
max := arr[i,j];
write(‘ ‘,max:3,’ ‘);
end;
writeln;
end.

Пример(ы) выполнения программы на языке Pascal:

| 75| |230| | 21| | 95| |219| |102| | 64| |125| | 8| |132|
|190| | 73| |127| | 85| |110| |188| | 45| |108| |104| |233|
| 85| |160| | 47| |158| | 32| | 75| | 59| |149| |175| |226|
|179| |208| |239| |238| |120| | 83| |120| |135| |252| | 19|
| 33| |217| |247| | 82| | 0| |125| |190| | 53| | 87| |186|
|239| | 48| | 29| | 35| |210| | 96| | 46| | 17| |106| |225|
|232| | 1| |201| | 1| | 54| |249| | 46| |179| |122| | 58|
| 66| |190| |161| | 84| | 88| | 33| |201| | 64| | 43| | 7|
|206| |114| |196| | 4| |137| |165| | 63| |144| |183| |121|
|151| | 9| |161| |120| |197| |228| | 20| |121| |176| |217|
|109| | 19| |188| |105| |114| |230| |217| |172| |194| |127|
|138| |222| |116| |132| | 92| |105| |222| | 73| | 94| | 16|
| 30| |127| |125| | 54| |134| |240| | 75| |227| |215| | 38|
| 87| | 64| |167| |191| |212| |157| | 62| |231| |166| |177|
|184| |179| |201| | 19| |242| |185| | 31| |226| |101| |123|
—— —— —— —— —— —— —— —— —— ——
239 230 247 238 242 249 222 231 252 233

#include
#define N 15
#define M 10
main() <
int arr[N][M], i, j, max;
srand(time(NULL));
for (i=0; i max)
max = arr[i][j];
printf(» %3d «, max);
>
printf(«n»);
>

найти максимальный элемент столбца матрицы Python

from random import random
N = 15
M = 10
arr = []
for i in range(N):
lst = []
for j in range(M):
lst.append(int(random() * 256))
arr.append(lst)
for i in range(N):
for j in range(M):
print(» |%3d| » % arr[i][j], end=»)
print()
for i in range(M):
print(» —— «, end=»)
print()
for j in range(M):
mx = arr[0][j]
for i in range(N):
if arr[i][j] > mx:
mx = arr[i][j]
print(» |%3d| » % mx, end=»)
print()

N = 15
M = 10
dim arr(N,M)
for i=0 to N-1
for j=0 to M-1
arr[i,j] = int(rand*90)+10
print arr[i,j] + » «;
next j
print
next i
for j=0 to M-1
print «——«;
next j
print
for j=0 to M-1
max = arr[0,j]
for i=1 to N-1
if arr[i,j] > max then max = arr[i,j]
next i
print max + » «;
next j
print

Источник статьи: http://gospodaretsva.com/max-columns.html

Алгоритм нахождения максимального значения в матрице

Найти максимальное значение в двумерном массиве вещественных чисел.

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

если Ai,j > max max:= Ai,j

Примечание: индексы изменяются от 1, так как иначе пропускаются элементы матрицы. Поэтому элемент с индексами 1, 1 сравнивается сам с собой.

Таблица 18.1. Информационная модель

индексы по строкам и столбцам

Type Tmatr=array[1..n,1..m]of real;

type TMatr=array[1..n,1..m] of real;

из них 2 позиции в дробной части>

18.5. Алгоритмы сортировки

Под сортировкой понимают упорядочение данных в массиве по какому-либо признаку. Обычно числовые массивы сортируются по возрастанию или убыванию значений, а литерные и строковые по алфавиту. Существует огромное количество методов сортировки. Методы отличаются друг от друга числом перестановок при выполнении сортировки, это число принципиально зависит от размеров исходного массива и от начального заполнения.

Так как сортировка массивов используется в различных задачах, то оформим ее в виде библиотечных подпрограмм. При создании библиотеки будем использовать только 2 метода.

1-ый метод сортировки “Выбор с перестановкой”

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

Метод заключается в следующем:

формируются все элементы массива с первого по предпоследний;

для каждого формируемого места решаются две задачи:

а) Ищется экстремальное значение и его местоположение, начиная с формируемого места до конца массива. (при сортировке по возрастанию ищется минимальное значение, по убыванию – максимальное)

б) Осуществляется перестановка значения, расположенного на формируемом месте, с экстремальным значением.

Проиллюстрируем метод рисунком 18.10. Исходный массив сортируется по возрастанию и состоит из пяти целочисленных элементов: 8, 3, 4, 9, 7

Рис. 18.10. – Сортировка выбором с перестановкой

Источник статьи: http://studfile.net/preview/971915/page:3/

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

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

Задан двумерный массив чисел. Найти среди четных элементов матрицы максимальный
Задан двумерный массив чисел.Найти среди четных элементов матрицы максимальный.

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

максимальный элемент среди элементов матрицы,Паскаль
задана матрица X(n,n). Определить максимальный элемент среди элементов матрицы, расположенных выше.

Решение

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

В матрице n-го порядка найти максимальный элемент среди элементов
В матрице n-го порядка найти максимальный элемент среди элементов, лежащих выше побочной диагонали.

Найти максимальный элемент среди отрицательных элементов массива C
дан массив C(12). Найти максимальный элемент среди отрицательных элементов массива C . определить.

Найти максимальный элемент среди положительных элементов массива M(25)
Дан массив М(25). Нужно найти максимальный элемент среди положительных элементов. Помогите.

Найти максимальный по значению элемент среди элементов главной диагонали
1)Все элементы массива А(10), являющиеся четным числом, удвоить, а нечетным — возвести в квадрат. В.

В матрице найти максимальный элемент среди минимальных элементов строк
Дана вещественная прямоугольная матрица A размерностью n×m. В каждой строке выбрать элемент с.

Источник статьи: http://www.cyberforum.ru/pascal/thread1375140.html

Pascal: Занятие № 10. Двумерный массив в Pascal

Двумерный массив в Pascal

Матрица или двумерный массив – это прямоугольная таблица чисел (или других элементов одного типа). Каждый элемент матрицы имеет два индекса (номер строки и номер столбца).

Исходные данные для решения многих задач можно представить в табличной форме:

Таблица результатов производственной деятельности нескольких филиалов фирмы может быть представлена так:

zavod1: array [1..4] of integer; zavod2: array [1..4] of integer; zavod3: array [1..4] of integer;

Или в виде двумерного массива так:

var A: array[1..3,1..4] of integer; begin

begin var a := new integer[3,4]; <. >end.

Описание, ввод и вывод элементов двумерного массива

Варианты описания двумерного массива (традиционный pascal)

    Описание массива в разделе переменных:

const N = 3; M = 4; var A: array[1..N,1..M] of integer;

const M=10; N=5; type matrix=array [1..M, 1..N] of integer; var A: matrix;

for i:=1 to N do for j:=1 to M do begin write(‘A[‘,i,’,’,j,’]=’); read ( A[i,j] ); end;

for var i:=0 to a.RowCount-1 do for var j:=0 to a.ColCount-1 do a[i,j]:=readinteger;

var a := MatrRandomInteger(3,4,0,10); // целые числа в диапазоне от 0 до 10 var a1 := MatrRandomReal(3,4,1,9) // веществ. числа в диапазоне от 1 до 9

Следующий фрагмент программы выводит на экран значения элементов массива по строкам:

for i:=1 to N do begin for j:=1 to M do write ( A[i,j]:5 ); writeln; end;

begin var a := MatrRandomInteger(3,4,0,10); var a1 := MatrRandomReal(3,4,1,9); a.Println; a1.Println(6,1) // 6 позиций всего на вывод, 1 знак после десят. запятой end.

Рассмотрим следующую задачу: Получены значения температуры воздуха за 4 дня с трех метеостанций, расположенных в разных регионах страны:

Номер станции 1-й день 2-й день 3-й день 4-й день
1 -8 -14 -19 -18
2 25 28 26 20
3 11 18 20 25

Т.е. запись показаний в двумерном массиве выглядела бы так:

t[1,1]:=-8; t[1,2]:=-14; t[1,3]:=-19; t[1,4]:=-18;
t[2,1]:=25; t[2,2]:=28; t[2,3]:=26; t[2,4]:=20;
t[3,1]:=11; t[3,2]:=18; t[3,3]:=20; t[3,4]:=25;

var t := Matr(3,4,-8,-14,-19,-18,25,28,26,20,11,18,20,25); t.Println;

Объявление двумерного массива:

var t: array [1..3, 1..4] of integer;

  1. Распечатать температуру на 2-й метеостанции за 4-й день и на 3-й метеостанции за 1-й день.
  2. Распечатать показания термометров всех метеостанций за 2-й день.
  3. Определить среднюю температуру на 3-й метеостанции.
  4. Распечатать, в какие дни и на каких метеостанциях температура была в диапазоне 24-26 градусов тепла.

Самостоятельно подумайте, как находится сумма элементов массива pascal.

const m = 5; n = 4; var a: array[1..m,1..n] of byte; s: array[1..n] of byte; i,j, sum: byte; begin randomize; for i := 1 to m do begin for j := 1 to n do begin . <инициализация элементов массива случайными числами>. <вывод элементов массива>end; writeln end; writeln (‘————‘); <для оформления> <обнуление значений массива суммы s[]:>. <поиск сумм элементов по столбцам:>for i := 1 to n do begin for j := 1 to m do begin s[i]:=. ; end; write(. ) ; end; <поиск общей суммы:>sum:=0; . <вычисление суммы элементов массива значений сумм по столбцам:>for . . write (‘ | sum = ‘, sum); readln end.

Методы матриц для работы со строками и столбцами:

begin var a := MatrRandomInteger(3,4); a.Println; a.Row(0).Sum.Println(); a.Row(1).Average.Println; a.Row(2).Product.Println; a.Col(0).Min.Println; a.Col(1).Max.Println; end.

Главная и побочная диагональ при работе с двумерными матрицами в Pascal

Главная диагональ квадратной матрицы n x n (т.е. той, у которой количество строк равно количеству столбцов) проходит с верхнего левого угла матрицы (элемент 1,1) до правого нижнего угла матрицы (элемент n,n).

Побочная диагональ квадратной матрицы n x n проходит с нижнего левого угла матрицы (элемент n,1) до правого верхнего угла матрицы (элемент 1,n).

Формулу поиска элементов диагоналей проще всего искать, нарисовав элементы матрицы:
Если индексы начинаются с единицы (традиционный Паскаль):

1,1 1,2 1,3 1,4
2,1 2,2 2,3 2,4
3,1 3,2 3,3 3,4
4,1 4,2 4,3 4,4

Если индексы начинаются с нуля (pascalAbc.NET):

0,0 0,1 0,2 0,3
1,0 1,1 1,2 1,3
2,0 2,1 2,2 2,3
3,0 3,1 3,2 3,3

Учитывая, что первая цифра в программе будет соответствовать счетчику i , а вторая — счетчику j , то из таблицы можно вывести формулы:

где n — размерность квадратной матрицы

Побочная диагональ матрицы в pascalAbc.Net имеет формулу:
n=i+j+1

где n — размерность квадратной матрицы

var i,j,n:integer; a: array[1..100,1..100]of integer; begin randomize; writeln (‘введите размерность матрицы:’); readln(n); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(10); write(a[i,j]:3); end; writeln; end; writeln; for i:=1 to n do begin for j:=1 to n do begin if (i=j) or (n=i+j-1) then a[i,j]:=0; write(a[i,j]:3) end; writeln; end; end.

begin var n := readinteger(‘введите размерность матрицы:’); var a := matrRandomInteger(n, n, -10, 10); a.Println(6); for var i := 0 to n — 1 do begin a[i, i] := 0; a[i, n — i — 1] := 0; end; writeln(); a.Println(6); end.

var A:array[1..5,1..5] of integer; i,j:integer; sum,sum1,sum2:integer; begin randomize; for i:=1 to 5 do for j:=1 to 5 do A[i,j]:=random(10); write (‘Исходный массив A: ‘); for i:=1 to 5 do begin writeln; for j:=1 to 5 do write (A[i,j]:2,’ ‘); end; sum1:=0; for i:=1 to 5 do for j:=1 to 5 do if (i-j=1) then sum1:=sum1+A[i,j]; sum2:=0; for i:=1 to 5 do for j:=1 to 5 do if (j-i=1) then sum2:=sum2+A[i,j]; sum:=sum1+sum2; writeln; writeln(‘Сумма = ‘,sum); end.

  • минимальный элемент, лежащий ниже побочной диагонали;
  • произведение ненулевых элементов последней строки.

    Рассмотрим еще один пример работы с двумерным массивом.

    var index1,index2,i,j,N,M:integer; s,min,f:real; a:array[1..300,1..300] of real; begin N:=10; M:=5; for i:=1 to N do begin for j:=1 to M do begin a[i,j]:=random(20); s:=s+a[i,j]; write(a[i,j]:3); end; writeln; end; f:=s/(N*M); writeln(‘srednee znachenie ‘,f); min:=abs(a[1,1]-f); for i:=1 to N do begin for j:=1 to M do begin if abs(a[i,j]-f)

    Источник статьи: http://labs-org.ru/pascal-10/

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *