El siguiente programa corre sin problemas en el Dev-C++, pero la ventana del ejecutable desaparece aún asi le haya colocado dos getchar() para evitar ese problema, de igual forma cambie los getchar() por cin.get() y tampoco funciono, la verdad no se que sucede?
 
#include <iostream>
#include <cstdlib>
#include <ctime>
#include<cstdio>
 
using namespace std;
 
int f;
 
int aleatorio()  //Funcion para generar aleatorios para llenar la matriz
 
{
  int r=0,z;
 
  srand((unsigned) time(NULL));
 
  do{
      z=rand()%20;
       if(z==0)r=0;
         else r=1;
 
    }while(r!=1);
     return z;
}
 
void calculos(int e[3])           //Función encargada de los calculos y procedimientos
{
   for(int i=0;i<f;i++)
   {
       e[i]=aleatorio();
 
       for(int t=i-1;t>=0;t--)
       {
           if(e[i]==e[t])
           {
             i--;
 
             break;
           }
       }
   }
 
}
 
void impresion(int g[3])   //Función que imprime los resultados.
{
 cout<<"nn";
 
  for(int m=0;m<f;m++)
  {
     cout<<g[m]<<"t";
  }
}
 
int main()
{
  int a[3]={0,0,0},b[3]={0,0,0},c[3]={0,0,0},sumaa=0,sumab=0,z=0;
 
  int h=0;
 
  system("cls");
 
  cout<<"nnDE QUE DIMENSIONES QUIERE EL CUADRADO MAGICO?"<<endl<<endl;
 
    cout<<"1.  PARA 3x3"<<endl<<endl;
 
      cin>>z;
 
       if(z<=0||z>=2)cout<<" nnERROR, EL CUADRADO NO ES EL INDICADO"<<endl<<endl;
 
         if(z==1)f=3;
 
  do{
 
       sumaa=0,sumab=0;
 
         calculos(a);
 
           for(int k=0;k<f;k++)
           {
             sumaa=sumaa+a[k];
           }
 
         calculos(b);
 
           for(int m=0;m<f;m++)
           {
             sumab=sumab+b[m];
           }
 
 
           if(sumaa==sumab)h=1;
 
 
    }while(h!=1);
 
          impresion(a);
 
           cout<<"= "<<sumaa;
 
            impresion(b);
 
             cout<<"= "<<sumab;
 
              for(int x=0;x<f;x++)
              {
               c[x]=sumaa-a[x]-b[x];
              }
 
          impresion(c);
 
           cout<<"= "<<sumaa;
 
             cout<<"nn========================";
 
              cout<<"nn";
 
               cout<<sumaa<<"      "<<sumaa<<"      "<<sumaa<<endl;
 
 getchar();
 getchar();
 
 return 0;
}
 
Gracias