Ошибки в задаче "Определить наименьший элемент каждой четной строки двумерного массива" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задание: определить наименьший элемент каждой четной строки матрицы A[M,N]
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define n 4
#define m 4
 
void main()
{
int i,j,mas[m][n];
int mini,min;
for(i=0;i<n;i++)
    for(j=0;j<m;j++)
{
      printf("[%d][%d]:\t",i,j);
      scanf("%d",&mas[i][j]);
}
min=mas[0][0];
for(i=0;i<n;i+=2)
    for(j=0;j<m;j++)
    {
        if(min>mas[i][j])
            mini=mas[i][j];
        printf("Min of %d is %d\n",i,mini);
            }
getch();
}
Проблемы следующие: 1. Из-за того, что цикл - несколько раз идет отображение этого минимума. Как вывести отдельно так, чтобы только 1 раз - не знаю. 2. mini в любом случае отображается как 0

Решение задачи: «Ошибки в задаче "Определить наименьший элемент каждой четной строки двумерного массива"»

textual
Листинг программы
for (i = 0; i < n; i += 2) {
    imin = 0;
    for (j = 1; j < m; j++)
    {
        if (mas[i][imin] > mas[i][j])
            mini = j;
    }
    printf("Min of %d is %d\n", i, mas[i][mini]);
}

Объяснение кода листинга программы

  1. В цикле for перебираются все четные строки массива mas с шагом 2 (предполагается, что первая строка массива - нечетная и не содержит четных элементов).
  2. Для каждой строки инициализируется переменная imin равная 0, которая будет использоваться для хранения минимального элемента текущей строки.
  3. В цикле for перебираются все элементы текущей строки, начиная со второго (индекс 1), при этом условие цикла не выполняется для первого элемента строки (индекс 0), так как он уже был учтен при инициализации imin.
  4. Если текущий элемент больше элемента с индексом imin, то imin присваивается индекс текущего элемента.
  5. После завершения внутренних циклов, выводится сообщение о минимальном элементе текущей строки.
  6. Значение mini не используется в дальнейшем коде и может быть удалено без потери функциональности.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.5 из 5
Похожие ответы