1

Тема: Як створити новий масив на базі двох минулих?!

Доброго дня!

Знову є проблеми з масивами, минулі рази були одномірні масиви, зараз проблеми з двухвимірнимі.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <Windows.h>
#define MAX 10

main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);

    int array1[MAX][MAX], array2[MAX][MAX], array3[MAX][MAX];
    int i, j;

    printf("Array FIRST!\n");

    for (i = 0; i <= MAX - 1; i++) {
        for (j = 0; j <= MAX - 1; j++) {
            array1[i][j] = rand() % 10;
            printf("%4d", array1[i][j]);
        }
        printf("\n");
    }

    printf("\nArray SECOND!\n");

    for (i = 0; i <= MAX - 1; i++) {
        for (j = 0; j <= MAX - 1; j++) {
            array2[i][j] = rand() % 10;
            printf("%4d", array2[i][j]);
        }
        printf("\n");
    }

    void makiNEWarray(int *array1, int *array2, int *array3) {
        for (i = 0; i <= MAX- 1;i++) {
            for (j = 0; i <= MAX - 1; j++) {
                //3_масив
            }
        }
    }
}

Потрібно утворити масив таким чином: перший рядок – це сума останнього рядка першого масиву та першого рядка другого масиву, другий рядок – сума передостаннього рядка першого масиву та другого рядка другого масиву і т.д.

2

Re: Як створити новий масив на базі двох минулих?!

так то ж легко
робите цикл, в котрому перебираєте ваші два масиви, тільки коли звертаєтесь до першого масиву, то віднімаєте від загальної кількості рядків поточний індекс.
Тобто, якщо у вас 5 рядків, і індекс в циклі рухається від 0 до 4, то при зверненні до першого масиву, номер рядка буде 4-0 (поточний індекс рівний нулю). Таким чином, коли індекс буде рівний 1, то ви будете звертатись до індексу 4-1, тобто 3, і це буде передостанній рядок.
А до другого масиву звертайтесь нічого не змінюючи.

Подякували: koala1