Quantcast
Viewing all articles
Browse latest Browse all 517057

Не получается освободить память - С++ для начинающих

Здравствуйте, такая загвоздка, начал изучать указатели и создание динамических массивов, проблема в том что не выходит очистить память в конце программы, без очистки работает, с очисткой вылетает, подскажите в чем проблема, суть задачки: с двух массивов а и б создать динамический ц, в который сперва занести все четные елементы с массива а потом занести все не нулевые с массива б, вот код:

Код:

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


Viewing all articles
Browse latest Browse all 517057

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>