Если в строке матрицы есть хотя бы одна единица, то заменить эту строку нулями - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д