Ich habe eine Aufgabe, ein Programm zu erstellen, Array über Benutzereingabe macht und dann in neue Funktion ein anderes Array zu erstellen, die nur aus geraden Elementen besteht und dann das Ergebnis über Zeiger zurückgegeben werden soll das neu erstellte Array.Ändern und Rückkehr von einer Funktion in C++
Denken Sie daran, dass ich gerade angefangen habe zu lernen C++ so Zeiger hier sind nicht vor Ort.
#include <iostream>
using namespace std;
int* getEven(int *niz, int *n)
{
int i;
for(i = 0 ; i < *n ; i++)
{
if(niz[i] % 2 == 0)
cout << niz[i];
}
}
int main()
{
int n, i;
int *niz;
cout << "Enter positive and larger number than 50: ";
cin >> n;
if(n <= 50)
cout << n;
else
{
cout << "Error. Number is lower than 50." << endl;
abort;
}
niz = new int[n];
for(i = 0 ; i < n ; i++)
{
cout << "Enter next element:" << endl;
cin >> niz[i];
}
int *a = getEven(niz, n);
cout << endl;
cout << a[0] << endl;
system("pause");
return 0;
}
Sie sagen, was Ihre Fehler beginnen könnte, aber zu starten, wird die 'abort' einfach nicht überall definiert ist, dann' n' Parameter für getEven ist ein 'int * 'und du gibst ihr ein' int', reparierst diese 2 Fehler, der Code sollte kompilieren – Guiroux
Hast du versucht, die Funktion zu verwenden, die ich vorgeschlagen habe? –