Построить массив В(7), следуя указанным правилам - C (СИ)
Формулировка задачи:
Дан массив A[7,7]. Построить массив В(7) по следующему правилу: В(I) присвоить 1, если в I-той строке массива представляют возрастающую последовательность, в противном случае В(I) присвоить 0.
Решение задачи: «Построить массив В(7), следуя указанным правилам»
textual
Листинг программы
#include <stdio.h> int is_ascendant(const int * arr, const size_t count) { return ( count < 2 ) ? 1 : ( *arr < *(arr+1) ) ? is_ascendant(arr + 1, count - 1) : 0; } #define ROWS (3) #define COLUMNS (7) int main(void) { int matrix[ROWS][COLUMNS] = { { 3, 4, 2, 5, 6, 1, 7 }, { 1, 2, 3, 4, 5, 6, 7 }, { 1, 1, 1, 1, 1, 1, 1 } }, array[ROWS], i; for ( i = 0; i < ROWS; ++i ) printf("%d\n", array[i] = is_ascendant(matrix[i], COLUMNS)); return 0; }
Объяснение кода листинга программы
- Строка 1: Включаем заголовочный файл stdio.h, который содержит функции для ввода и вывода данных.
- Строка 31: Определяем функцию is_ascendant, которая принимает два аргумента: массив и количество элементов в массиве. Функция использует рекурсию для проверки, является ли массив возрастающим.
- Строка 36: Определяем макрос ROWS, который равен 3.
- Строка 37: Определяем макрос COLUMNS, который равен 7.
- Строка 58: В функции main создаем двумерный массив matrix размером 3x7, заполняем его значениями.
- Строка 59: Создаем одномерный массив array размером 3.
- Строка 61: Используем цикл for для обхода каждой строки массива matrix.
- Строка 62: Выводим на экран значение элемента массива array, присвоенное функцией is_ascendant.
- Строка 63: Возвращаем 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д