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;
}