/
FlowerTower
/
System_Programming_in_Linux
Обзор
Документация
Войти
/
FlowerTower
/
System_Programming_in_Linux
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Arrays/Task3.c
68 строк
2 KB
FlowerTower
create Arrays/Task3.c
28 окт 2024, 00:03
28 окт 2024, 00:03
d77ca7b
Код
Авторство
О чём код?
/* Программа заполняет верхний треугольник матрицы 0, а нижний 1. Для того что бы заполнить матрицу правильно складываются индексы ячеек матрицы, если в сумме они меньше чем размер матрицы на 1, то ставиться 0, если больше, то 1. */ #include <stdio.h> #include <stdlib.h> int N; // объявляем глобальную переменную N, которая будет размером нашей квадратной матрицы void output_arr(int** arr) // функция вывода матрицы в консоль. { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { printf("%d ", arr[i][j]); } printf("\n"); } } void input_arr(int** arr) // функция заполнения матрицы числами { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { if(i+j<N-1) { arr[i][j] = 0; } else { arr[i][j] = 1; } } } } int main() { printf("Введите размер квадратной матрицы: "); scanf("%d", &N); printf("размер вашей матрицы: %d\n", N); // Динамическое выделение памяти под массив int** arr = (int**)malloc(N * sizeof(int*)); for (int i = 0; i < N; i++) { arr[i] = (int*)malloc(N * sizeof(int)); } input_arr(arr); output_arr(arr); // Освобождение памяти for (int i = 0; i < N; i++) { free(arr[i]); } free(arr); }