برنامت رو به این شکل تغییر دادم

#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
#include<string.h>
void main()
{

ifstream numfile("num.txt");
ofstream outnumfile1("result1.txt");
ofstream outnumfile2("result2.txt");
int i,j,k,n,count=1;

char** a;
double** b;
double temp,sum;
cout<<"Enter Number Of Data:";
cin>>n;
/************************************************** **************************/
a=new char*[n]; // SET UP THE ROWS FOR ARRAY A[]
b = new double*[n]; // STEP 1: SET UP THE ROWS FOR ARRAY B[][]
for (j = 0; j < n; j++)
b[j] = new double[366];// STEP 2: SET UP THE COLUMNS FOR ARRAY B[][]
for(i=0;i<n;i++)
for(j=0;j<n;j++)
b[i][j]=-1;


/************************************************** **************************/
for(i=0;i<n;i++)
{
char *word=new char[10];
numfile>>word;
a[i] = word;
}
/************ convert string to float ********/
double *c=new double [n];
for(i=0;i<n;i++)
c[i]=atof(a[i]);
/************************************************** **************************/
for (i = 0; i < n; i++)
{
b[i][0]=c[i];
}
for (j=1;j<n;j++)
{
count=j;
for (i=0;i<n-j;i++)
{
sum=0;
for (k=i;k<=count;k++)
{
sum=sum+c[k];
}
b[i][j]=sum;
count+=1;
}
}
for (j=0;j<n;j++)
{
for (i=0;i<n;i++)
{
for (k=0;k<n-1;k++)
{
if(b[k][j]<b[k+1][j])
{
temp=b[k][j];
b[k][j]=b[k+1][j];
b[k+1][j]=temp;
}
}
}
}
/********** Export sort array to file **********/
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(b[i][j]!=-1)
outnumfile1<<b[i][j]<<"\t";
if(j==n-1)
outnumfile1<<endl;
}
}

البته من برنامه با 366 تا ستون ننوشتم . حالا خواستی تغییر به به 366 ستون ولی فکر میکنم برای هر تعداد عددی کار کنه بهتره چون به ازای n تا عدد یه آرایه n*n نیازه. حروجی برنامه رو هم فعلا روی یک فایل txt نوشتم
بیشتر مشکلت روی حلقه for ایی بود که کار جمع رو انجام میداد