Копирование содержимого 2D-массива в C - PullRequest
0 голосов
/ 23 сентября 2019

Я хочу скопировать 2D-массив в другой без использования следующего (в качестве примера):

    double Array1[10][10];
    double Array2[10][10];

    for(int k=0; k<10; k++){
            for(int l=0; l<10; l++){
            Array1[k][l] = k;
            }
    }



    for(int k=0; k<10; k++){
            for(int l=0; l<10; l++){
            Array2[k][l] = Array1[k][l];
            }
    }

Итак, у вас есть идея, как сделать это более элегантным способом, может бытьс одним или без для цикла?

Потому что мне также нужно сделать это для 4D массива, и это может длиться довольно долго, если в них много элементов.

С наилучшими пожеланиями

1 Ответ

0 голосов
/ 23 сентября 2019

К сожалению, нет другого эффективного способа получить доступ к каждому элементу массива, кроме как использовать цикл for или while.В данном коде лучшее, что вы можете сделать, - это объединить два вложенных цикла for в один: `

double Array1[10][10];
double Array2[10][10];

for (int k = 0; k < 10; k++) {
    for (int l = 0; l < 10; l++) {
        Array2[k][l] =Array1[k][l] = k;
    }
}

` Это поможет сократить время компиляции.

...