ciao!! ho provato a fare questo esercizio ma non funziona,il compilatore non mi da errore ma poi non parte...ringrazio chiunque abbia voglia di dargli un'occhiata...![]()
codice:/*Scrivere una funzione che ricevuto un array in ingresso, restituisca un array allocato dinamicamente e la sua capacitaÌ. Il nuovo array dovra contenere solo i numeri positivi dell’array passato in ingresso.*/ #include<iostream> #include<cstdlib> using namespace std; int contapos (int[]); void riempi_array(int[],int[]); void stampa_array(int[],int); int main() { int a[6]={1,-2,4,-7,6,-5}; int *posi; int pos=contapos(a); posi=new int[pos]; riempi_array(posi,a); stampa_array(posi,pos); delete [] posi; system("pause"); } int contapos(int a[]) { int numpos=0; for(int i=0; i<6; i++) { if(a[i]>0) numpos++; } return numpos; } void riempi_array (int posi[], int a[]) { int j=0; for (int i=0; i<6; i++) { if(a[i]>0) posi[j]=a[i]; j++; } } void stampa_array(int posi[],int pos) { for(int i=0; i<pos; i++) cout<<posi[i]<<" "; cout<<endl; }

Rispondi quotando