Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: перебрать в цикле несколько массивов
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Метценгерштейн
Просто академический интерес- как это вообще красиво можно сделать.
Например, есть 5 массивов с разными названиями. Я хочу в нулевой элемент каждого массива что-то записать одинаковое.
Можно как-то в цикле перебрать их все? Вот как это сделать? Через enum?
ar__systems
Цитата(Метценгерштейн @ Feb 21 2016, 14:37) *
Просто академический интерес- как это вообще красиво можно сделать.
Например, есть 5 массивов с разными названиями. Я хочу в нулевой элемент каждого массива что-то записать одинаковое.
Можно как-то в цикле перебрать их все? Вот как это сделать? Через enum?

int Arr1[100];
int Arr2[100];
int Arr3[100];
int Arr4[100];

Код
int* const ListOfArrs[] = { Arr1, Arr2, Arr3, Arr4 };
for (int i = 0; i < 4; i++) {
  *(ListOfArrs[i]) = 0;
}


Но лучше так не извращаться, а тупо писать

Код
Arr1[0] = 0;
Arr2[0] = 0;
Arr3[0] = 0;
Arr4[0] = 0;


You know, "Keep It Simple, Stupid".
Огурцов
писать красиво - задача компилятора/оптимизатора
ваша - писать понятно
zltigo
QUOTE (Огурцов @ Feb 22 2016, 00:45) *
писать красиво - задача компилятора/оптимизатора

О! Уже появилсь самопишущие компиляторы? Вот так сами и пишут на пару с какм-то "оптимизатором" и компилируют?
SlavaV
Какую цель преследуете: уменьшить количество строк кода и запутать самого себя через неделю или увеличить производительность.

Вам привели в посте №2 два варианта кода, в первом меньше строк, но посчитайте на сколько он будет медленнее второго (что вам и посоветовали)
я думаю, что компилятор как раз развернёт первый вариант во второй, как написал Огурцов

Ещё можно использовать двухмерный массив
Метценгерштейн
всем спасибо. Пытаюсь разобраться в разных алгоритмах- за и против. Писать хочу понятно и правильно. Там где я написал в лобовую, думал, может как-то красивее люди делают )
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.