(i=2;i<x;i++)?
Разве может быть делителем x число которое >1/2x (например числа >5 не могут быть делителями 10)
можно сократитть количество проверок в цикле почти в 2 раза.

С функциями вроде разобрались, терь надо с дин. массивом разобраться.

yk[99] - получается статический
*(yk) - тоже не верно а как тогда?

Код
# 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<floor(x/2)+1; j++)
         if (x%j==0) return 0;
       }
       return 1;
    }
//-----------------------------------------------------------------
    int mani()
    {
      clrscr();
      int w,i,j,n,s,g,yk;
      cout<<"n="; cin>>n;
      yk=new int[n];
      cout<<"El-ma \n";
      for (i=0; i<n; i++)
      {
         cin>>yk[i];
         s=yk[i];
         cout<<"\n s="<<s;
         if (Chislo(yk[i])) cout<<"Prostoe\n";
         else cout<<"Sostavnoe\n";
      }
      delete []yk;
      getch();
      return 0;
    }