Я пишу этот код и в classifykids(), я заполняю 4 новых массива из массива x. После этого я пытаюсь напечатать элементы в массиве 4, но это не работает со мной, его отпечатки длинные номераКак напечатать элементы массива в C++?
#include <iostream>
using namespace std;
int *readkid(){
int * kids = new int[4];
int counter=1;
for (int i=0; i<4 ; i++){
cout << "Enter the age for kid number " << counter << ":[ 1 to 10] " << endl;
cin >> kids[i];
counter++;
}
return kids;
}
void classifyKids (int * x){
int * perk = new int[20];
int * kg1 = new int[20];
int * kg2 = new int[20];
int * elementry = new int[4];
for (int i=0; i <21; i++){
if (x[i] < 3){
perk[i] = x[i];
} else if (x[i] < 3 && x[i] > 3) {
kg1[i] = x[i];
} else if(x[i] > 6 && x[i] > 4){
kg2[i] = x[i];
} else if(x[i] > 6){
elementry[i] = (x[i]);
}
}
for(int i=0; i<4;i++)
cout << "Here is it :" << elementry[i] << endl;
}
int main() {
int *x;
x = readkid();
classifyKids(x);
/*
for (int i=0; i<4; i++){
cout << *(x+i) << endl;
}
*/
return 0;
}
Как только у вас есть работа. Возможно, стоит посетить http://codereview.stackexchange.com, чтобы получить комментарии к лучшему стилю. –
Я вижу ошибку компилятора. 'x' имеет только 4 элемента, в то время как вы пытаетесь получить доступ к 21 элементу! – CinCout
'if (x [i] < 3 && x[i] > 3)' какое это условие? –