Я вижу, что вы хотите вернуть весь массив, но просто посмотрите на ваш тип возвращаемого значения:
int getFourNums()
Вы возвращаете целое число, верно?В этой ситуации возвращаемое целое число всегда равно myArray[4]
.Имейте в виду, что это целочисленное значение, вы возвращаете что-то, что вам на самом деле не принадлежит!
Так что же делать?Я предлагаю вам передать свой массив для работы следующим образом:
void getFourNums(int myArray[]){
int i;
cout << "Enter 4 nums: ";
for(i = 0; i < SIZE; i++){
cin >> myArray[i];
}
}
Теперь вы заполнили свой массив.Как распечатать ваш массив тогда?Мы не можем просто дать имя нашего массива и сказать cout распечатать его, как вы (на самом деле вы не могли!).Здесь нет ничего волшебного.Мы собираемся напечатать элемент вашего массива один за другим:
void printFourNumbers(int array[])
{
for(int i = 0 ; i < SIZE ; ++i)
{
cout << array[i] << endl;
}
}
Наконец весь код выглядит так:
#include <iostream>
using namespace std;
const int SIZE = 4;
void getFourNums(int myArray[]);
void printFourNumbers(int array[]);
int main(int argc, char** argv){
int myArray[SIZE];
getFourNums(myArray);
printFourNumbers(myArray);
}
void getFourNums(int myArray[]){
int i;
cout << "Enter 4 nums: ";
for(i = 0; i < SIZE; i++){
cin >> myArray[i];
}
}
void printFourNumbers(int array[])
{
for(int i = 0 ; i < SIZE ; ++i)
{
cout << array[i] << endl;
}
}