Массивы, в отличие от переменных, нельзя напрямую присвоить или сравнить. Это следует делать поэлементно, и для решения этой задачи лучше всего подходят циклы. Итак, для присвоения массива ages1 массиву ages2 следует использовать такую конструкцию:
for (int i=0; i<size; i++) {
ages2[i] = ages1[i];
}
Сравнение массивов нужно выполнять по аналогичной схеме:
bool equal = true;
for (int i=0; i<size; i++) {
if (ages1[i]!= ages2[i]) {
equal = false;
break;
}
}
if (equal) {
printf("Массивы равны\n");
} else {
printf("Массивы не равны\n");
}
В этом алгоритме, если хотя бы в одном элементы наблюдается несовпадение, то цикл прерывается и сообщается, что массивы не равны. Однако для того, чтобы убедиться в равенстве массивов, необходимо пройти весь цикл до конца.
Вычисление суммы элементов массива
Сам по себе массив вряд ли представляет практический интерес. Настоящая польза заключается в обработке их элементов определенным образом. Один из вариантов обработки – это вычисление суммы элементов массива. Для этого используется стандартный алгоритм, который заключается в том, что некоторая переменная инициализируется нулем, а затем в цикле к ней прибавляются элементы массива один за другим. На каждой итерации прибавляется очередной элемент, поэтому после завершения цикла данная переменная будет хранить сумму всех элементов. Следующий фрагмент кода реализует этот алгоритм:
int sum = 0;
for (int i=0; i<size; i++) {
sum += numbers[i];
}
printf("Сумма равна %d\n", sum);