Добрый день! Не могу понять в чем ошибка код вроде бы правильный но работать не хочет, допилите пожалуйста)) )
В массиве все нечетные элементы, стоящие ниже минимального элемента массива и стоящие слева от максимального элемента массива, заменить на 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");
}
}
Другие языки программирования и технологии
обработка двумерных массивов (заменить по условию элементы на 0)
#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;
}
#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;
}
Похожие вопросы
- visual basic в двумерном массиве заменить отрицательные числа на ноль 0 примеры задач
- Дан двумерный массив из NxM случайных элементов. Посчитать сумму периметра. С++
- Дан двумерный массив А [7,8], заполненный случайным образом. Заменить нечетные элементы массива на число 0 СРОЧНОО ГАЙСЫ
- 1.Заполнить массив случайными числами. Вывести элементы массива на экран. Заменить все его минимальные элементы нулями.
- Помогите !!!С++Работа с одномерными и двумерными массивами. В каждой строке матрицы F(k, k) элемент. лежащий на главной
- дан двумерный массив С(3,4).Получите новый массив А путём увеличения всех элементов исходного массива на число С.
- в двумерном массиве возвестив квадрат строки, расположенные между строками с мин и макс элементами
- Дан целочисленный двумерный массив, размерности n х m. Заменить все отрицательные числа нулем
- C#. Элементы одномерного массива размером 7, которые больше среднего значения элементов массива, заменить на 0.
- Двумерный массив/Турбо паскаль/нужна помощь=( А(12)Заменить отрицательные элементы стоящие на чётных местах цифрой 8.