Получить предыдущий массив из двумерного массива с заданным массивом, переданным в качестве аргумента в функцию - PullRequest
0 голосов
/ 02 марта 2019

Трудно было создать заголовок, но я покажу вам:

Мне дан 2-мерный массив arr[10][10]

В функции 1-мерный массив arr размера, скажем, 5, передается в качестве аргумента:

int func(arr[5]);

Что я хочу: без знания индекса массива, используемого в качестве аргумента (в данном случае индекса 5), яхочу получить массив из arr с (index = indexgiven - 1) данного массива (предыдущий).

Так что в этом случае я бы хотел:

int func(arr[5]){
    _array = arr[4];
}

ПРИМЕЧАНИЕ: Я не могу изменить подпись этой функции.Моя работа заключается в создании кода внутри функции.Тогда эта функция будет вызвана.

1 Ответ

0 голосов
/ 02 марта 2019

Если вы забыли идею о том, что вы передаете массивы, вы можете это сделать

void func(int (*row)[10])
{
    int (*previous_row)[10] = row - 1;
    int (*next_row)[10] = row + 1;
    ...
}

int main()
{
    int arr[10][10];
    func(arr + 5);
}

Но я думаю, что предпочитаю идею Адриена, просто передайте индекс.

...