Урок 4. Язык Си матрицы

На занятии рассматривается тема «Язык Си матрицы». Разбираются примеры работы с матрицами и даются задания

Объявление матриц в Си

Объяыление матриц в c

Заполнение случайными числами и вывод:

#include <stdio.h>
#include <stdlib.h>
 
int main()
{
int N,M,i,j;
scanf("%d",&N);
scanf("%d",&M);
int A[N][M];
for (i = 0; i < N; i++ ) {
for (j = 0; j < M; j++ ) {
    A[i][j] = 10 + rand()% (20 - 10 + 1);
    printf("%d ",A[i][j]);
    }
puts("\n");
}
    return 0;
}
Задание Си 4_1: Яркости пикселей изображения закодированы числами от 0 до 255 в виде матрицы. Преобразовать изображение в черно-белое по следующему алгоритму:

  1. вычислить среднюю яркость пикселей по всему изображению
  2. все пиксели, яркость которых меньше средней, сделать черными (записать код 0), а остальные – белыми (код 255)

Желаемый результат:
пример матрицы в c

Задание Си 4_2: Найти максимальный элемент и сумму элементов матрицы размером [m x n]

Перебор элементов матрицы и работа с диагоналями в Си

Главная диагональ:
главная диагональ матрицы

for ( i = 0; i < N; i++ ) {
  // работаем с  A[i][i] 
  }

Побочная диагональ:
побочная диагональ матрицы c

for ( i = 0; i < N; i++ ){
  // работаем с  A[i][N-1-i] 
  }

Главная диагональ и под ней:
элементы под побочной диагональю

for ( i = 0; i < N; i++ )  
  for ( j = 0; j <=  i ; j++ )
    {
    // работаем с  A[i][j] 
    }
Задание Си 4_3: Найти отдельно сумму элементов главной и побочной диагонали квадратной матрицы