Другие языки программирования и технологии

обработка двумерных массивов (заменить по условию элементы на 0)

Добрый день! Не могу понять в чем ошибка код вроде бы правильный но работать не хочет, допилите пожалуйста)) )
В массиве все нечетные элементы, стоящие ниже минимального элемента массива и стоящие слева от максимального элемента массива, заменить на 0.

#include "stdafx.h"
#include "conio.h"
#include "stdio.h"
#define M 5
#define N 5
int _tmain()
{
int a[M] [N];
int i;
int j;
int imin = 0,jmin = 0,imax = 0,jmax = 0;
for(i = 0; i < M;i++)
{
for(j = 0;j < N;j++)
{
scanf("%d ",&a[j]);
}
}
printf("_________________\n");
for(i = 0; i < M;i++)
{
for(j = 0;j < N;j++)
{
printf("%d ",a[j]);
}
printf("\n");
}
printf("_________________\n");
for(i = 0;i < M;i++)
{
for(j = 0;j < N;j++)
{
if(a [j] <= a[imin][jmin])
{
imin = i;
jmin = j;
}
if(a [j] >= a[imax][jmax])
{
imax = i;
jmax = j;
}
}
}
for(i = imin + 1;i < M;i++)
{
for(j = 0;j < jmax;j++)
{
if(a [j] %2 == 1)
a [j] = 0;
}
}
for(i = 0; i < M;i++)
{
for(j = 0;j < N;j++)
{
printf("%d ",a[j]);
}
printf("\n");
}
}
#include <time.h>
#include <stdio.h>
#include <stdlib.h>

#define M 5
#define N 5

int main() {
    int a[M][N], r, c, rmn, cmn, rmx, cmx;
    srand(time(0));
    puts("random array:");
    for (r = 0; r < M; ++r) {
        for (c = 0; c < N; ++c) printf("%""5d", a[r][c] = rand() % 1000);
        putchar('\n');
    }
    rmn = cmn = rmx = cmx = 0;
    for (r = 0; r < M; ++r) {
        for (c = 0; c < N; ++c) {
            if (a[r][c] < a[rmn][cmn]) {
                rmn = r;
                cmn = c;
            }
            if (a[r][c] > a[rmx][cmx]) {
                rmx = r;
                cmx = c;
            }
        }
    }
    for (r = rmn + 1; r < M; ++r) a[r][cmn] = 0;
    for (c = cmx + 1; c < N; ++c) a[rmx][c] = 0;
    puts("result array:");
    for (r = 0; r < M; ++r) {
        for (c = 0; c < N; ++c) printf("%""5d", a[r][c]);
        putchar('\n');
    }
    return 0;
}
Нурбол Омаров
Нурбол Омаров
86 196
Лучший ответ

Похожие вопросы