Нахождение минимального значения элемента в массиве
1 минут
Продолжаю выкладывать решения простейших задач, так как прошлый ребус привёл мне на блог не мало посетителей и это не может не радовать!
Сегодня я напишу решение следующей задачи: Задан двухмерный массив вещественных чисел размерности 3х3. Найти номер строки и номер столбца, в которых находится наименьший элемент. Массив описать как типизированную константу.
Решение на C:
#include <stdio.h>
#define SIZE 3
int main()
{
const int array[SIZE][SIZE] = {
{2, 2, 3},
{3, 2, 3},
{6, 1, 5}
};
int i, j;
int min_i = 0;
int min_j = 0;
int min = array[min_i][min_j];
for (i = 0; i < SIZE; i++) {
for (j = 0; j < SIZE; j++) {
if (min > array[i][j]) {
min_i = i;
min_j = j;
min = array[i][j];
}
}
}
printf("min = %d, pos = %d,%d\n", min, min_i, min_j);
return 0;
}
Решение на Pascal:
const
SIZE = 2;
mas: array[0..SIZE, 0..SIZE] of integer = (
(2, 2, 3),
(3, 2, 3),
(6, 1, 5)
);
var
i, j, min, min_i, min_j: integer;
begin
min := mas[0][0];
for i := 0 to SIZE do begin
for j := 0 to SIZE do begin
if (min > mas[i][j]) then begin
min_i := i;
min_j := j;
min := mas[i][j];
end;
end;
end;
writeln('min = ', min, ', pos = ', min_i, ',', min_j);
end.
Решение на Rust:
fn main() {
let arr = [[2, 2, 3], [3, 2, 3], [6, 1, 5]];
let mut min = (arr[0][0], (0, 0));
for (i, &x) in arr.iter().enumerate() {
for (j, &y) in x.iter().enumerate() {
if y < min.0 {
min = (y, (i, j));
}
}
}
println!("min = {}, pos = {},{}", min.0, min.1.0, min.1.1);
}