Здравствуйте, такая загвоздка, начал изучать указатели и создание динамических массивов, проблема в том что не выходит очистить память в конце программы, без очистки работает, с очисткой вылетает, подскажите в чем проблема, суть задачки: с двух массивов а и б создать динамический ц, в который сперва занести все четные елементы с массива а потом занести все не нулевые с массива б, вот код:
Код:
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
int main()
{
srand(time(NULL));
const int N=20;
int A[N],B[N],CN;
int *pA=A,*pB=B,k1=0,k2=0,kk=0;
for(int i=0;i<N;i++)
{
if(i<N/2)
{
*(pA+i)=rand()%11;
if(!(*(pA+i)%2))k1++;
cout<<*(pA+i)<<" ";
}else{
if(i==N/2)cout<<endl;
*(pB+i-N/2)=rand()%11;
if(*(pB+i-N/2))k2++;
cout<<*(pB+i-N/2)<<" ";
}
}
cout<<endl;
CN=k1+k2;
int *pC= new int [CN];
cout<<endl;
for(int i=0;i<CN;i++)
{
if(!(*(pA+i)%2)){ *(pC+kk)=*(pA+i);kk++;}
}
kk=k1;
for(int i=0;i<CN;i++)
{
if(*(pB+i)){*(pC+kk)=*(pB+i);kk++;}
}
for(int i=0;i<CN;i++)
{
if(i==k1)cout<<endl;
cout<<*(pC+i)<<" ";
}
delete [] pC;/*тут проблема*/
_getch();
return 0;
}