Построить массив В(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. Строка 1: Включаем заголовочный файл stdio.h, который содержит функции для ввода и вывода данных.
  2. Строка 31: Определяем функцию is_ascendant, которая принимает два аргумента: массив и количество элементов в массиве. Функция использует рекурсию для проверки, является ли массив возрастающим.
  3. Строка 36: Определяем макрос ROWS, который равен 3.
  4. Строка 37: Определяем макрос COLUMNS, который равен 7.
  5. Строка 58: В функции main создаем двумерный массив matrix размером 3x7, заполняем его значениями.
  6. Строка 59: Создаем одномерный массив array размером 3.
  7. Строка 61: Используем цикл for для обхода каждой строки массива matrix.
  8. Строка 62: Выводим на экран значение элемента массива array, присвоенное функцией is_ascendant.
  9. Строка 63: Возвращаем 0, чтобы указать, что программа успешно завершилась.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы