Вывести на экран квадратную матрицу, используя один цикл, а не два - C (СИ)
Формулировка задачи:
#include<stdio.h> #include<stdlib.h> #define N 2 #define M 2 void in_mas(int *l,int n){ int i; for (i=0;i<n;i++) scanf("%d",l++); } void out_mas(int *l,int n,int x) { int i,j; for(i=0;i<n;i++) { for(j=0;j<x;j++) printf("%d ",*(l+i*x+j)); printf("\n"); } } void func (int *l, int n, int m){ int i,j; int sum=0; for (i=0;i<n;i++) { sum=0; for (j=0; j<m; j++) sum+=*(l+i*n+j); if (sum%2==0) printf("%d\n",i); } } int main(void) { int a[N][M]; printf("vvedite massiv a\n"); in_mas(*a,N*M); out_mas(*a,N,M); func(*a,N,M); //getchar(); system("pause"); return 0; }
Решение задачи: «Вывести на экран квадратную матрицу, используя один цикл, а не два»
textual
Листинг программы
void out_mas(int *l,int n,int x) { int i; for(i=0;i<n*x;i++) { if(!i%n) printf("\n"); printf("%d ",*(l+i); } }
Объяснение кода листинга программы
В данном коде функция out_mas() используется для вывода на экран квадратной матрицы, используя один цикл.
- Переменная
i
инициализируется значением 0. - Используется цикл for для перебора всех элементов матрицы от 0 до n*x.
- Условие !(i%n) проверяет, кратен ли текущий индекс переменной
i
размерности матрицыn
. - Если условие выполняется, то выводится символ новой строки
\n
. - В каждой итерации внутри цикла выводится значение элемента матрицы, который находится по индексу
i
с помощью оператора printf. - Значение
i
увеличивается на 1 после каждой итерации цикла. Таким образом, данный код выводит на экран квадратную матрицу, используя только один цикл.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д