Если в строке матрицы есть хотя бы одна единица, то заменить эту строку нулями - C (СИ)

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

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

Задана матрица В(4,4). Если в строке есть хотя бы одна единица, то заменить эту строку нулями. Помогите пожалуйста переделать с указателями.
# include <stdio.h>
# include <conio.h>
 
int main(int argc, char* argv[])
{int m[4][4],i,j,g;
printf("Vvedite massiv\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&m[i][j]);
 
for(i=0;i<4;i++)
for(j=0;j<4;j++)
 if (m[i][j]==1) {
 for(g=0;g<4;g++)
m[i][g]=0;
 }
 
for(i=0;i<4;i++)
{printf(" \n");
for(g=0;g<4;g++)
printf("%d",m[i][g]);}
getch();
return 0;
}

Решение задачи: «Если в строке матрицы есть хотя бы одна единица, то заменить эту строку нулями»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char* argv[]) {
    int m[4][4], i, j;
    int* s = (int*) m, * t;
 
    printf("Vvedite massiv\n");
    for (i = 16; i--;) {
        scanf("%d", s++);
    }
 
    s = (int*) m;
    for (i = 0; i < 16; ++i) {
        if (*s++ == 1) {
            t = (int*) m + (i & -4);
            for (j = 4; j--;) {
                *t++ = 0;
            }
        }
    }
 
    s = (int*) m;
    for (i = 16; i; --i) {
        if (i % 4 == 0) {
            printf("\n");
        }
        printf("%d ", *s++);
    }
 
    system("pause");
    return 0;
}

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


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

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

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