Как найти минимальное число в строке массива

Решение писать не буду, но направлю твоё мышление, потому-что у тебя сейчас код написан просто “от балды”, и не делает вообще ничего

Первым дело ты определил что размер матрицы (i x j), где i – высота матрицы (строки), j – ширина (столбцы)
По заданию, нужно найти минимальное значение в каждой строке матрицы, соответственно перебираем строки

for (let i = 0, i < mass.length, i++) {
  // mass[i] это строка массива в каждой итерации цикла
}

до этого момента у тебя всё правильно, а теперь начинаются ошибки. По логике, чтобы найти минимальное значение в строке, нужно пройтись по каждому элементу в текущей строке mass[i], соответственно количество итераций, во втором цикле, должно быть равно mass[i].length, а не mass.length, как у тебя сейчас

for (let j = 0, j < mass[i].length, j++) {
  // mass[i][j] это каждый столбец в строке 
}

теперь, остаётся только сравнивать каждый элемент mass[i][j], и найти минимальный, для этого перед началом цикла, тебе нужно создать переменную, в которую ты запоминаешь минимальное значение. Ты пытался это сделать, но присваиваешь s = 0, хотя лучше занести сюда первое значение в массиве let min = mass[i][0] (задаю название переменной так, чтобы было понятно что она означает)
И перебирая элементы в цикле, ты должен сравнивать значение текущего минимального (min) и значение текущего элемента (mass[i][j]), если элемент текущий получился меньше, то присваиваешь его значение в минимальному

// вариант 1.
if (min > mass[i][j]) min = mass[i][j];

// вариант 2.
min = Math.min(min, mass[i][j]);

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

for (let i = 0, i < mass.length, i++) {
  // mass[i] это строка массива в каждой итерации цикла
  // тут создавай переменную min
  for (let j = 0, j < mass[i].length, j++) {
    // mass[i][j] это каждый столбец в строке 
    
    // тут сравнивай текущее значение с минимальным
  }
  // тут у тебя min будет минимальным в строке
}

Возвращает минимальное значение элемента последовательности.

Синтаксис:

min(iterable, *[, key, default])
min(arg1, arg2, *args[, key])

Параметры:

  • iterable – итерируемый объект,
  • key – должна быть функцией (принимает один аргумент), используется для порядка сравнения элементов итерируемого объекта. Функция вычисляется один раз.
  • default – значение по умолчанию, если итерируемый объект окажется пустым,
  • arg1...argN – позиционный аргумент,
  • *args – список позиционных аргументов.

Возвращаемое значение:

  • наименьшее значение.

Описание:

Функция min() возвращает минимальное значение элемента из итерируемого объекта или наименьшее из двух или более переданных позиционных аргументов.

  • Если указан один позиционный аргумент, он должен быть итерируемым объектом (список, кортеж, словарь и т.д.).
  • Если в функцию передается два или более позиционных аргумента, возвращается наименьшее из них.
  • В случае, когда минимальное значение имеют сразу несколько аргументов, то возвращается первый по порядку элемент с наименьшим значением. Это согласуется с другими инструментами сохранения стабильности сортировки, такими как sorted(iterable, key=keyfunc, reverse=True)[0] и heapq.nlargest(1, iterable, key=keyfunc)

Аргумент key – функция подобная той, которая используется в дополнительном методе списков list.sort(). Функция принимает один аргумент и используется для упорядочивания элементов.

>>> x = ['4', '11', '6', '31']
# функция `min` сравнивает
# числа как строки
>>> min(x)
# '11'

# функция 'key=lambda i: int(i)' применяется
# к каждому элементу списка 'x', преобразуя 
# строки в тип 'int' и теперь функция `min`
# сравнивает элементы списка как числа.
>>> min(x, key=lambda i: int(i))
# '4'

# или другое применение функции 'key' выбор
# списка с наименьшей суммой элементов 
>>> min([1,2,3,4], [3,4,5], key=sum)
# [1,2,3,4]

Аргумент default по умолчанию указывает объект, который нужно вернуть, если итерируемый объект пуст. Если итерация пуста и значение по умолчанию не указано, то возникает ошибка ValueError.

# Значение по умолчанию
>>> min([], default=0)
# 0

>>> min([])
# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
# ValueError: min() arg is an empty sequence

Функция min() сравнивает элементы, используя оператор <. Поэтому, все передаваемые в них значения должны быть сопоставимы друг с другом и одного типа, иначе бросается исключение TypeError

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

>>> x = list('abcdifgh')
>>> min(x)
# 'a'

Изменено в Python 3.8: Аргумент key может быть None.

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

  • Нахождение самой короткой строки в списке строк;
  • Нахождение минимального значения в списке строк чисел;
  • Нахождение минимального значения у вторых элементов кортежа;
  • Определение индекса у минимального значения в списке;
  • Смотрите хороший пример с числами, записанными в строке в описании функции max().
# использование позиционных аргументов
>>> min(5, 3, 6, 5, 6)
# 3
# использование в качестве аргумента списка 
>>> min([1.2, 1.3, 1.5, 2, 5.52])
# 1.2

# комбинирование позиционных аргументов и списка
# при передаче списка 'x' происходит его распаковка
>>> x = (1.2, 1.3, 1.5, 2, 5.52)
>>> min(5, 3, 5, *x)
# 1.2

Нахождение самой короткой строки в списке строк.

Найдем самую короткую строку. В качестве ключа используем функцию len(). Она посчитает количество символов в строке каждого переданного позиционного аргумента, а функция min() выберет минимальное число. Строки можно передать например списком ['Jul', 'John', 'Vicky'], результат будет тот же.

>>> min('Jul', 'John', 'Vicky', key=len)
# 'Jul'

Нахождение min() в списке строк, записанных как целые числа

Есть список строк чисел и необходимо найти минимум, как если бы они были целыми числами? В первом случае функция min() выберет наименьшее значение списка исходя из лексикографической сортировки. Применим функцию lambda i: int(i) в качестве ключа key, которая преобразует строчные элементы списка в целые числа, тогда функция min() выберет то что нам нужно.

>>> x = ['4', '11', '6', '31']
# неправильное решение
>>> min(x)
# '11'

# правильное решение
>>> min(x, key = lambda i: int(i))
# '4'

Нахождение min() по второму элементу кортежа для

Например есть список кортежей. По умолчанию будет выбираться кортеж, у которого минимальное значение имеет первый элемент. Но мы хотим получить кортеж, у которого наименьшее значение имеет второй элемент! Для этого применим лямбда-функцию lambda i : i[1] в качестве ключа key, которая укажет функции min(), из каких элементов кортежа выбирать минимальное значение.

>>> x = [(1,3), (2,4), (1,9), (4,1)]
# происходит сравнение по 
# первым элементам кортежа 
>>> min(x)
# (1,3)

# меняем порядок сравнения
>>> x = [(1,3), (2,4), (1,9), (4,1)]
>>> min(x, key=lambda i : i[1])
# (4,1)

Определение индекса у минимального значения в списке.

Допустим есть список чисел и стоит задача, определить индекс минимального значения в этом списке.

Для решения этой задачи необходимо пронумеровать список, т.е. создать кортеж – индекс/число, а затем найти минимум при помощи функции min(), а в качестве ключа этой функции использовать key=lambda i : i[1].

>>> lst = [5, 3, 1, 0, 9, 7]
# пронумеруем список 
>>> lst_num = list(enumerate(lst, 0))
# получился список кортежей, в которых 
# первый элемент - это индекс значения списка, 
# а второй элемент - само значение списка
>>> lst_num
# [(0, 5), (1, 3), (2, 1), (3, 0), (4, 9), (5, 7)]

# найдем минимум (из второго значения кортежей)
>>> t_min = min(lst_num, key=lambda i : i[1])
>>> t_min
# (3, 0)

# индекс минимального значения списка
>>> t_min[0]
# 3

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

1 способ

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

Исходные данные:

Результат:

10
5  -2  14  7  -4  23  0  8  6  -1

-4

10
0  4  5  2  77  62  4  8  0  45

0

Считаем, что первый элемент массива – минимальный.  Затем, сравниваем, начиная со второго до последнего все элементы массива с минимальным. Используем для этого цикл. Если очередной элемент на каком-то шаге цикла оказывается меньше минимального, то значение минимального изменяем, присвоив ему значение этого очередного элемента. По окончании цикла выводим результат: минимальный элемент.

program min1;
var a:array[1..100] of integer;
i,min,n:integer;
begin
//заполнение массива и вывод массива в строчку
readln(n);
for i:=1 to n do begin
a[i]:=random(-100,100);
write(a[i],’ ‘);
end;
//нахождение минимального элемента массива
min:=a[1];
for i:=2 to n do
if min>=a[i] then min:=a[i];
//вывод результата
writeln;
write(min);
end.

Заметим, что для нахождения максимального элемента массива достаточно заменить имя переменной min на max и знак >= на знак <=.

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

Исходные данные:

Результат:

10
5  -2  14  7  -4  23  0  8  6  -1

5

10
0  4  5  2  77  62  4  8  0  45

9

Если в задаче требуется найти индекс минимального (максимального), то вводим переменную imin, в которую будем запоминать индекс минимального (максимального), причем первоначально ее значение равно 1.

program min2;
var a:array[1..100] of integer;
i,min,n,imin:integer;
begin
//заполнение массива и вывод массива в строчку
readln(n);
for i:=1 to n do begin
a[i]:=random(-100,100);
write(a[i],’ ‘);
end;
//нахождение индекса минимального элемента массива
min:=a[1];
imin:=1;
for i:=2 to n do
if min>=a[i] then begin
imin:=i;
min:=a[i];
end;
//вывод результата
writeln;
write(imin);
end.

Если в массиве есть несколько равных между собой минимальных элементов, то данная программа найдет номер последнего (правого) элемента. Для того чтобы найти индекс первого (левого) элемента достаточно изменить знак  >= на строгий знак >.
Эту программу можно оптимизировать, так как, зная индекс минимального элемента, можно найти значение минимального элемента массива. Значит, переменная min не нужна:

var a:array[1..100] of integer;
i,n,imin:integer;

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

imin:=1;
for i:=2 to n do
if a[imin]>=a[i] then imin:=i;

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

Исходные данные:

Результат:

10
5  -2  14  7  -4  23  0  8  -4  -1

2

10
0  4  5  2  77  0  4  8  0  45

3

program min3;
var a:array[1..100] of integer;
i,min,n,k:integer;
begin
//заполнение массива и вывод массива в строчку
readln(n);
for i:=1 to n do begin
a[i]:=random(-5,5);
write(a[i],’ ‘);
end;
//нахождение минимального элемента массива
min:=a[1];
for i:=2 to n do
if min>=a[i] then
min:=a[i];
//считаем количество равных элементов
k:=0;
for i:=1 to n do
if a[i]=min then k:=k+1;
//вывод результата
writeln;
write(k);
end.

Задача 4: Дан целочисленный массив из n элементов. Элементы массива могут принимать целые значения от 0 до 1000. Напишите программу, находящую минимальное значение среди элементов массива, которые имеют чётное значение и не делятся на четыре. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого чётно и не кратно четырем. В первой строке вводится количество чисел в массиве n. Затем выводится массив, заданный случайным образом. В третьей строке выводится результат: минимальное значение среди элементов массива, которые имеют чётное значение и не делятся на четыре.

Исходные данные:

Результат:

10
5  -2  14  7  -4  22  0  -8  -6  -1

-6

10
0  4  5  -10  77  0  4  -12  0  45

-10

В этой задаче первый способ нахождения минимального не подойдет. Первый элемент массива может оказаться меньше, чем минимальный четный и не кратный четырем и программа выведет неверный результат. Каким должно быть начальное значение переменной min? Его нужно выбрать таким, чтобы для первого же «подходящего» элемента выполнилось условие a[i] < min, и это «временное» начальное значение было бы заменено на реальное. Такое «подходящее» обязательно будет, так как это гарантировано условием задачи. Оно должно быть большим и таким, какое не может быть по условию задачи, например, 1001.

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

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

2 способ

Записываем в переменную min значение 1001. Затем в цикле просматриваем все элементы массива, с первого до последнего. Если остаток от деления очередного элемента на 2 равен 0 и остаток от его деления на 4 не равен нулю и значение элемента меньше, чем значение переменной min, сохраняем в переменную min значение очередного элемента массива. После окончания работы цикла выводим значение переменной min.

program min4;
var a:array[1..100] of integer;
i,min,n:integer;
begin
//заполнение массива и вывод массива в строчку
readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
write(a[i],’ ‘);
//нахождение минимального элемента массива
min:=1001;
for i:=1 to N do
if (a[i] mod 2=0) and (a[i] mod 4 <> 0) and (a[i]<min) then
  min:=a[i];
//вывод результата
writeln;
write(min);
end.

Проверяем на тестах:

10
411 837 755 90 520 203 581 798 401 640

90

10
195 264 127 936 658 152 339 504 395 553

658

 Конечно, решить эту задачу можно и первым способом, но для нахождения первого значения min нужно написать дополнительные команды поиска. Вот таким может быть решение:

program min5;
var a:array[1..100] of integer;
i,min,n,j:integer;
begin
//заполнение массива и вывод массива в строчку
readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
write(a[i],’ ‘);
//нахождение первого четного и не кратного 4 числа
i:=1;
while (i<=n)and not((a[i] mod 2=0) and (a[i] mod 4 <> 0)) do i:=i+1;
//в переменной i запомнился номер первого элемента, удовлетворяющего условию
//нахождение минимального, начиная со следующего за найденным
min:=a[i];
for j:=i+1 to N do
if (a[j] mod 2=0) and (a[j] mod 4 <> 0) and (a[j]<min) then
  min:=a[j];
//вывод результата
writeln;
write(min);
end.

Задача 5: Дан целочисленный массив из n элементов. Элементы массива могут принимать произвольные целые значения. Напишите программу, которая находит и выводит второй максимум массива (элемент, который в отсортированном по невозрастанию массиве стоял бы вторым).

Исходные данные:

Результат:

10
5  -2  14  7  -4  22  0  -8  -6  -1

14

10
0  4  5  -10  77  0  4  -12  0  45

45

Мы знаем, как найти первый максимум, а в этой задаче нужно найти второй по величине максимум. Попробуем это сделать это за один проход по массиву. Нам нужны две переменные, max1 (максимальный элемент) и max2 (второй максимум). Сначала выбираем максимальный из первых двух элементов и записываем его значение в max1, а второй по величине записываем в max2.

Затем в цикле перебираем все элементы, начиная с 3-го до последнего. Если очередной элемент a[i] больше, чем max1, записываем значение max1 в max2 (предыдущий максимум становится вторым), а значение a[i] – в max1. Иначе, если a[i] больше, чем max2, записываем значение a[i] в max2. После завершения цикла выводим значение переменной max2.

program min6;
var a: array [1..100] of integer;
i, k,n, max1, max2: integer;
begin
  //заполнение массива и вывод массива в строчку
readln(n);
for i:=1 to n do begin
a[i]:=random(0,100);
write(a[i],’ ‘);
end;
//начальные значения max1 и max2
if a[1] > a[2] then begin
max1:=a[1]; max2:=a[2]
end
else begin
max1:=a[2]; max2:=a[1]
end;
// поиск второго максимального
for i:=3 to N do
if a[i] > max1 then begin
max2:= max1;
max1:= a[i]
end
else
if a[i] > max2 then max2:=a[i];
//вывод результата
writeln;
writeln(max2);
end.

Задача 6: Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Напишите программу, позволяющую найти и вывести минимальный элемент массива, шестнадцатеричная запись которого содержит ровно две цифры, причём первая (старшая) цифра больше второй (младшей).  Если таких чисел нет, нужно вывести ответ 0.

Исходные данные:

Результат:

20
5  -2  14  7  -4  22  0  -8  -6  -1

14

10
0  4  5  -10  77  0  4  -12  0  45

45

Эта задача усложнена только тем, что элементы массива должны быть в диапазоне от 16 до 255. В этом случае первая цифра находится как результат деления нацело на 16, а вторая цифра – как остаток от деления на 16.

Кроме этого здесь массив можно объявить через константу n, так как размер массива задан явно: 20 элементов.

program z6;
//объявление массива через константу
const n=20;
var a: array [1..n] of integer;
i,min: integer;
begin
  //заполнение массива и вывод массива в строчку
for i:=1 to n do begin
a[i]:=random(0,10000);
write(a[i],’ ‘);
end;
writeln;
min := 10001;
for i := 1 to n do begin
//для проверки правильности программы выведем две шестнадцатеричные цифры:
//write(a[i] div 16,a[i] mod 16,’ ‘);
if (16 <= a[i]) and (a[i] < 256) and (a[i] div 16 > a[i] mod 16) and (a[i] < min) then
    min := a[i];
end;
writeln;
//вывод результата
if min = 10001 then
  writeln(0)
else
  writeln(min);
end.

Задачи для самостоятельного решения:

  1. Дан целочисленный массив из n элементов. Элементы могут принимать значения от 150 до 210 ­– рост учащихся выпускного класса. В волейбольную команду берут тех, чей рост не менее 170 см. Напишите программу, которая определяет и выводит минимальный рост игрока баскетбольной команды. Гарантируется, что хотя бы один ученик играет в баскетбольной команде.
  2. Дан целочисленный массив из n элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся выпускного класса за экзамен по информатике. Для получения положительной оценки за экзамен требовалось набрать не менее 50 баллов. Напишите программу, которая находит и выводит минимальный балл среди учащихся, получивших за экзамен положительную оценку. Известно, что в классе хотя бы один учащийся получил за экзамен положительную оценку.
  3. Дан целочисленный массив – сведения о температуре за каждый день октября. Элементы массива могут принимать целочисленные значение значения от -15 до 20. Напишите программу, которая находит и выводит максимальную температуру среди дней, когда были заморозки (температура опускалась ниже нуля). Гарантируется, что хотя бы один день в октябре была отрицательная температура.
  4. Дан целочисленный массив из n элементов, все элементы которого – неотрицательные числа, не превосходящие 10000. Напишите программу, которая находит и выводит минимальное трехзначное число, записанное в этом массиве. Если таких чисел нет, нужно вывести сообщение «Таких чисел нет».
  5. Дан целочисленный массив из n элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Напишите программу, позволяющую найти и вывести наибольший из элементов массива, шестнадцатеричная запись которого оканчивается на букву F. Если таких чисел нет, нужно вывести ответ 0.
  6. Дан целочисленный массив из n элементов. Элементы массива могут принимать произвольные целые значения. Напишите программу, которая находит и выводит номера двух элементов массива, сумма которых минимальна.
  7. Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Напишите программу, находящую минимальный элементов массива, шестнадцатеричная запись которого содержит ровно две цифры, причём вторая (младшая) цифра – это буква (от A до F). Если таких чисел нет, нужно вывести ответ 0.

Источники информации

  1. Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов/ Н.Д. Угринович. – М.:Бином. Лаборатория знаний, 2005.
  2. Сайт К. Полякова http://kpolyakov.spb.ru/school/ege.htm

An array can be considered as a container with the same types of elements. Python has its array module named array. We can simply import the module and create our array. But this module has some of its drawbacks. The main disadvantage is we can’t create a multidimensional array. And the data type must be the same.

To overcome these problems we use a third-party module called NumPy. Using NumPy we can create multidimensional arrays, and we also can use different data types.

Note: NumPy doesn’t come with python by default. So, we have to install it using pip. To install the module run the given command in the terminal.

pip install numpy

Now let’s create an array using NumPy. For doing this we need to import the module. Here we’re importing the module.

import numpy

Using the above command you can import the module. 

Example 1: Now try to create a single-dimensional array. 

arr = numpy.array([1, 2, 3, 4, 5])

Here, we create a single-dimensional NumPy array of integers. Now try to find the maximum element. To do this we have to use numpy.max(“array name”) function. 

Syntax: 

numpy.max(arr)

For finding the minimum element use numpy.min(“array name”) function.

Syntax:

numpy.min(arr)

Code:

Python3

import numpy

arr = numpy.array([1, 5, 4, 8, 3, 7])

max_element = numpy.max(arr)

min_element = numpy.min(arr)

print('maximum element in the array is: ',

      max_element)

print('minimum element in the array is: ',

      min_element)

Output: 

maximum element in the array is:  8 
minimum element in the array is:  1

Note: You must use numeric numbers(int or float), you can’t use string.

Example 2: Now, let’s create a two-dimensional NumPy array. 

arr = numpy.array([11, 5, 7],
        [4, 5, 16],
        [7, 81, 16]]

Now using the numpy.max() and numpy.min() functions we can find the maximum and minimum element. 
Here, we get the maximum and minimum value from the whole array.

Code: 

Python3

import numpy

arr = numpy.array([[11, 2, 3],

                     [4, 5, 16],

                      [7, 81, 22]])

max_element = numpy.max(arr)

min_element = numpy.min(arr)

print('maximum element in the array is:',

      max_element)

print('minimum element in the array is:',

      min_element)

Output: 

maximum element in the array is: 81
minimum element in the array is: 2

Example 3: Now, if we want to find the maximum or minimum from the rows or the columns then we have to add 0 or 1. See how it works: 

maximum_element = numpy.max(arr, 0)
maximum_element = numpy.max(arr, 1)

If we use 0 it will give us a list containing the maximum or minimum values from each column. Here we will get a list like [11 81 22] which have all the maximum numbers each column. 

If we use 1 instead of 0, will get a list like [11 16 81], which contain the maximum number from each row.

Code: 

Python3

import numpy

arr = numpy.array([[11, 2, 3],

                     [4, 5, 16],

                      [7, 81, 22]])

max_element_column = numpy.max(arr, 0)

max_element_row = numpy.max(arr, 1)

min_element_column = numpy.amin(arr, 0)

min_element_row = numpy.amin(arr, 1)

print('maximum elements in the columns of the array is:',

      max_element_column)

print('maximum elements in the rows of the array is:',

      max_element_row)

print('minimum elements in the columns of the array is:',

      min_element_column)

print('minimum elements in the rows of the array is:',

      min_element_row)

Output: 

maximum elements in the columns of the array is: [11 81 22]
maximum elements in the rows of the array is: [11 16 81]
minimum elements in the columns of the array is: [4 2 3]
minimum elements in the rows of the array is: [2 4 7]

Example 4: If we have two same shaped NumPy arrays, we can find the maximum or minimum elements. For this step, we have to numpy.maximum(array1, array2) function. It will return a list containing maximum values from each column. 

Code: 

Python3

import numpy

a = numpy.array([1, 4, 6, 8, 9])

b = numpy.array([5, 7, 3, 9, 22])

print(numpy.maximum(a, b))

Output: 

[ 5  7  6  9 22]

Last Updated :
13 Aug, 2021

Like Article

Save Article

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    internal class Program
    {
        public static void Main()
        {
           Massiv mas= new Massiv();
 
           for (int i = 0; i < mas.LengthI; i++)
           {
               
               for (int j = 0; j < mas.LengthJ; j++)
               {
 
                   Console.WriteLine("a[" + i + "," + j + "]={0}",mas[i,j]);
               }
               
           }
         
            //поиск минимального элемента
            for (int i = 0; i < mas.LengthI; i++)
            {
                double min = double.MaxValue;
                int indexI = 0, indexJ = 0;
                for (int j = 0; j < mas.LengthJ; j++)
                {
                    if (min > mas[i, j])
                    {
                        min = mas[i, j];
                        indexI = i;
                        indexJ = j;
 
                    }
 
                }
                Console.WriteLine("min is={0}, and indes is={1},{2}", min, indexI, indexJ); //вывод минимального
            }
 
 
            Console.ReadKey();
        }
    }
 
    class Massiv
    {
        public double[,] a;
        public Massiv()
        {
            int n = 2;
            int m = 2;
            a = new double[n, m];
            Random rand = new Random();
            for (int i = 0; i < a.GetUpperBound(0); i++)
            {
                for (int j = 0; j < a.GetUpperBound(1); j++)
                {
 
                    a[i, j] = rand.Next(-100, 100);
                }
            }
        }
 
        public Massiv(int n,int m)
        {
            a = new double[n, m];
            Random rand = new Random();
            for (int i = 0; i <= a.GetUpperBound(0); i++)
            {
                for (int j = 0; j <= a.GetUpperBound(1); j++)
                {
                    a[i,j]=rand.Next(-100, 100);
                   
                }
            }
        }
 
     
        // To enable client code to validate input 
        // when accessing your indexer.
        public int LengthI
        {
            get { return a.GetLength(0); }
        }
 
        public int LengthJ
        {
            get { return a.GetLength(1); }
        }
        // Indexer declaration.
        // If index is out of range, the temps array will throw the exception.
        public double this[int indexI,int indexJ]
        {
            get
            {
                return a[indexI, indexJ];
            }
 
            set
            {
                a[indexI, indexJ] = value;
            }
        }
    }
}

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