@artgor261
Студент РТУ МИРЭА

Как инициализировать массив?

Задание следующее: имеется три массива, два из них уже инициализированы, третий нужно инициализировать следующим образом: каждый элемент массива должен равняться сумме соответствующих по индексу элементов двух инициализированных массивов.

Вот мой код:
void func(double * arr1, double * arr2, double * arr3, int len)
{
    int index;

    for (index = 0; index < len; index++)
        *(arr3 + index) = *(arr1 + index) + *(arr2 + index);
}


Я инициализировал два массива одинаковыми значениями: 1, 2, 3. Следовательно, третий массив должен иметь следующие значения: 2, 4, 6. Но при выводе содержимого массива вывод выглядел по другому: 2, 3, 5. Что происходит не так?
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
includedlibrary
@includedlibrary
Приведите весь код. Ваша функция правильно складывает числа, скорее всего ошибка в другой части программы. Этот код выводит на экран "arr3 = {5.0, 7.0, 9.0}":
#include <stdio.h>

void func(double *arr1, double *arr2, double *arr3, int len) {
    for (int index = 0; index < len; index++)
        *(arr3 + index) = *(arr1 + index) + *(arr2 + index);
}

int main() {
    double arr1[3] = {1.0, 2.0, 3.0};
    double arr2[3] = {4.0, 5.0, 6.0};
    double arr3[3];
    
    func(arr1, arr2, arr3, 3);
    printf("arr3 = {%f, %f, %f}", arr3[0], arr3[1], arr3[2]);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы