Крч дали задание с програмирования, написать код на c++ - нужно создать два массива, размер которых будет определяться пользователем ( через cin ), потом нужно сделать третий массив, который содержит произведение содержимого двух предыдущих таблиц. И задание должно быть обязательно выполнено с помощью поинтеров ( указателей ). Мой код снизу, за него я получил 2,5 из 5 ((. Был бы очень благодарен за помощь, тк новый код надо принести уже в понедельник
#include
using namespace std;
int EnterArraySize(const unsigned short int ArrayNumber)
{
int Size;
cout << "Enter the size of array : "<< ArrayNumber <<"\n";
cin >> Size;
while(Size <= 0)
{
cout << "Error, try again\n";
cin >> Size;
}
return Size;
}
void ArrayRatio(int* Array, int* a,int* b)
{
*Array = *a * *b;
}
void ArrayFilling(int* a,int* b)
{
int x, y;
cin >> x >> y;
*a = x;
*b = y;
}
void ArrayCreating()
{
int SmallestArrayValue, ArraySize;
ArraySize = EnterArraySize(1);
int *Array1 = new int[ArraySize];
SmallestArrayValue = ArraySize;
ArraySize = EnterArraySize(2);
int *Array2 = new int[ArraySize];
SmallestArrayValue = ArraySize > SmallestArrayValue ? SmallestArrayValue : ArraySize;
int *Array3 = new int[SmallestArrayValue];
int *pntr1 = Array1, *pntr2 = Array2, *pntr3 = Array3;
cout << "You're filling in the array, enter two numbers until the program complete the array\n\n";
for(int i=0; i < SmallestArrayValue; i++)
{
ArrayFilling(pntr1, pntr2);
ArrayRatio(pntr1++, pntr2++, pntr3++);
}
pntr3 = Array3;
cout << endl;
for (int i = 0; i < SmallestArrayValue; i++)
{
cout << *pntr3++<<"\t";
}
}
int main()
{
ArrayCreating();
return 0;
}