Я новичок и должен разобратся в массивах более детально. Смотрел на многие варианты, остановился на этом. Скорее всего так и нужно сделать, но чего-то в нем не хватает. Подскажите пожалуйста(
/*Напишите функцию, которая на вход принимает два массива одинаковой длинны
+ параметр, описывающий собственно их длинну; и модифицирует их таким образом,
что в первом массиве в каждой i-той ячейке находится разница этой ячейки и
соответствующей i-той ячейки второго массива,
а во втором массиве в каждой i-той ячейке находится сумма этой ячейки и
соответствующей i-той ячейки первого массива.*/
#include <stdio.h>
#include <iostream>
using namespace std;
int main (){
int x;
cout << "Please imput the length of the arrays" << endl;
cin >> x ;
int arr1 [x] {5,4,3,2};
int arr2 [x] {2,3,4,5};
for (int i = 0; i<=x; i++)
{
arr1 [i] - arr2 [i];
arr2 [i] + arr1 [i];
}
cout << "Result is " << arr1 << endl;
}
Просто вы напрочь игнорируете здравый смысл и правила C++.
int arr1 [x] {5,4,3,2};
int arr2 [x] {2,3,4,5};
В С++ размер массива определяется во время компиляции, а не во время работы. Если уж указываете конкретные значения массива - то просто пишите
int arr1[] = {5,4,3,2};
int arr2[] = {2,3,4,5};
и получите два массива по 4 элемента.
В массиве из x элементов их и в самом деле x - от нулевого до x-1, так что
for (int i = 0; i<=x; i++)
тут вы просто выходите за рамки массива.
Значения вы какие-то вычисляете, но никак их не используете:
arr1 [i] - arr2 [i];
arr2 [i] + arr1 [i];
Да и выводите
cout << "Result is " << arr1 << endl;
просто адрес, где в памяти находится массив...
От вас хотели вот этого:
void func(int* a1, int * a2, int sz)
{
for(int i = 0; i < sz; ++i)
{
int a1i = a1[i];
a1[i] -= a2[i];
a2[i] += a1i;
}
}
Разберитесь, как работает этот код, ну и подумайте, как его верно вызвать.
Без этого усилия - ваш вопрос тянет на закрытие со стандартной формулировкой
Учебные задания допустимы в качестве вопросов только при условии, что вы пытались решить их самостоятельно перед тем, как задать вопрос.
Поэтому я оставляю вам часть решения для самостоятельной работы...
Продвижение своими сайтами как стратегия роста и независимости