На занятии рассматривается тема «Язык Си матрицы». Разбираются примеры работы с матрицами и даются задания
Объявление матриц в Си
Заполнение случайными числами и вывод:
#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 в виде матрицы. Преобразовать изображение в черно-белое по следующему алгоритму:
- вычислить среднюю яркость пикселей по всему изображению
- все пиксели, яркость которых меньше средней, сделать черными (записать код 0), а остальные – белыми (код 255)
Задание Си 4_2: Найти максимальный элемент и сумму элементов матрицы размером [m x n]
Перебор элементов матрицы и работа с диагоналями в Си
for ( i = 0; i < N; i++ ) { // работаем с A[i][i] } |
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: Найти отдельно сумму элементов главной и побочной диагонали квадратной матрицы