Final

Код
# include <iostream.h>
# include <stdio.h>
# include <math.h>
# include <conio.h>
# include <alloc.h>

//-----------------------------------------------------------------
    int Chislo(int x)
    {
      int j;
      if (x<4) return 1;
      else
       {
         for (j=2; j<ceil(sqrt(x))+1; j++)
         if (x%j==0) return 0;
       }
       return 1;
    }
//-----------------------------------------------------------------
    void swap(int *p)
    {
      int t=p[0];
      p[0]=p[1];
      p[1]=t;
    }
//-----------------------------------------------------------------
    void sort1(int *mas1, int n)
    {
      int again,i;
      do
      {
    again=0;
    for(i=0;i<n-1;i++)
    {
      if(mas1[i]>mas1[i+1])
      {
        swap(mas1+i);
        again=1;
      }
    }
      }
      while(again);
    }
//-----------------------------------------------------------------
    void sort2(int *mas2, int k)
    {
      int again,i;
      do
      {
    again=0;
    for(i=0;i<k-1;i++)
    {
      if(mas2[i]<mas2[i+1])
      {
        swap(mas2+i);
        again=1;
      }
    }
      }
      while(again);
    }
//-----------------------------------------------------------------
    void main()
    {
      clrscr();
      int t,k,i2,j,j2,i,n; j=0; k=0;
      cout<<"n="; cin>>n;
      int* mas1 = new int[n];
      int* mas2 = new int[n];
      cout<<"El-ma \n"<<"\n";
      for (i=0; i<n; i++)
      {
    cin>>mas1[i];
      }
      for (i=0; i<n; i++)
      {
    cout<<"\nmas1["<<i<<"]="<<mas1[i];
      }
      cout<<"\n";
      sort1(mas1,n);
      for (i=0; i<n; i++)
      {
    cout<<"\nmas1["<<i<<"]="<<mas1[i];
      }
      cout<<"\n";
      for (i=0; i<n; i++)
      {
    if (Chislo(mas1[i])==1) {mas2[j]=mas1[i]; j=j+1; k=k+1;}
      }
      for (j=0; j<k; j++)
      {
    cout<<"\nmas2["<<j<<"]="<<mas2[j];
      }
      cout<<"\n";
      sort2(mas2,k);
      for (j=0; j<k; j++)
      {
    cout<<"\nmas2["<<j<<"]="<<mas2[j];
      }
      delete []mas1;
      delete []mas2;
      getch();
    }


Один вопрос
swap пишиться для экономии места и времени или нет?
что измениться если написать

Код
void sort1(int *mas1, int n)
    {
      int again,i,t;
      do
      {
    again=0;
    for(i=0;i<n-1;i++)
    {
      if(mas1[i]>mas1[i+1])
      {
        t=p[i];
        p[i]=p[i+1];
        p[i+1]=t;
        again=1;
      }
    }
      }
      while(again);
    }