Найти минимальное ПОЛОЖИТЕЛЬНОЕ значение массива. arr[2][3] = {{74,4,-1}, {1,-6,9}} (например, числа могут быть любые)
# include <iostream>
using namespace std;
int main()
{
int arr[2][3] = {{74,4,-1}, {1,-6,9}};
int min = arr[0][0];
for(int i = 0; i < 2; i++)
{
for(int j = 0; j < 3; j++)
{
if(j < 0)
{
j *= (-1);
if (arr[i][j] < min)
{
min = arr[i][j];
}
}
}
}
cout << min << endl;
return 0;
}
Постоянно выводит первое значение массива, чтобы я не делал (редко минимальное значение, в моем случае [-6])
Ответы (2 шт):
Автор решения: Эникейщик
→ Ссылка
Первое значение выводит потому что int min = arr[0][0];, после этого min никогда не меняется.
Автор решения: qeqolla
→ Ссылка
ошибка у тебя в этих строках
if(j < 0) {
j *= (-1);
никогда j не станет меньше 0, поэтому каждая итерация ничего не делала, и ты получал всегда первый элемент массива
в твоем случае код должен выглядеть так
int main() {
int arr[2][3] = {{74,4,-1}, {1,-6,9}};
int min = arr[0][0];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
if (arr[i][j] >= 0 && arr[i][j] < min)
min = arr[i][j];
}
}
cout << min << endl;
return 0;
}
