В каком из фрагментов корректно выделяется и освобождается память под динамический массив?

  • int i,*p,n=10;
    for (i=0;i{ if (!(p=new int)) exit (1);
    p[i]=random(100);
    printf(“%4d”,p[i]);
    }
    delete p;
  • int i,*p,n=10;
    for (i=0;i{ p=new int;
    *(p+i)=random(100);
    printf(“%4d”,p[i]);
    }
    delete p;
  • int i,*p,n=10;
    if (!(p=new int[n])) exit (1);
    for (i=0;i{ *(p+i)=random(100);
    printf(“%4d”,p[i]);
    }
    delete [n]p; p=NULL;
  • int i,*p,n=10;
    p=(int *)malloc(n*sizeof(n));
    for (i=0;i{ p[i]=random(100);
    printf(“%4d”,p[i]);
    }
    delete p;
Для просмотра статистики ответов нужно залогиниться.