люди у меня такая ошибка в коде. я не могу понять что мне обнулить надо... не могли бы посмотреть и помочь.
void __fastcall TForm1::N7Click(TObject *Sender)
{Memo1->Text="";
Memo1->Text="Откройте файл";
char *fname;
int k,h,i=0,y=0,j;
FILE *f;
FILE *n;
if (OpenDialog1->Execute())
{fname=OpenDialog1->FileName.c_str();
f=fopen(fname,"rb");
n=fopen("routput.txt","a");
Memo1->Lines->LoadFromFile(fname);
String sTmp = Memo1->Text;
for ( int i = 0; i<sTmp.Length(); i++){k=sTmp.Length();}
if (k!=27)
{AnsiString Mes="Количество символов не равно 27! Исправьте файл!";
ShowMessage(Mes);}
else
{h=2;
char **a; //Указатель на указатель =)
char **b;
char **c;
char a1,a2; //Размеры матрицы
char b1,b2;
char c1,c2;
a = new char*[h]; /*Выделили память под x-указателей, которые будут //указывать на строки*/
b = new char*[h];
c = new char*[h];
char *v;
v = new char [k-1];
for(int i=0;i<=h;i++)
{a[i] = new char[h];} /*Каждому указателю выделяем память под y-элементов типа int*/
for(int i=0;i<=h;i++)
{b[i] = new char[h];}
for(int i=0;i<=h;i++)
{c[i] = new char[h];}
for(int i=0;i<k;i++)
{fscanf(f,"%c",&v[i]);}
fclose(f);
f=0;
for(int i=0;i<=h;i++)
{for(int j=0;j<=h;j++)
{a[i][j]=v[y];
Memo2->Lines->Add(a[i][j]);
y++;}}
for(i=0;i<=h;i++)
{for(int j=0;j<=h;j++)
{c[i][j]=v[y];
Memo4->Lines->Add(c[i][j]);
y++;}}
for(int j=h;j>=0;j--)
{for(int i=h;i>=0;i--)
{b[i][j]=v[y];
Memo3->Lines->Add(b[i][j]);
y++;}}
for(i=0;i<k;i++)
v[i]=0;
i=0;
for(a1=0;a1<=h;a1++)
{for(a2=0;a2<=h;a2++)
{v[i]=a[a1][a2];
i=i+3;}}
i=1;
for(b1=0;b1<=h;b1++)
{for(b2=0;b2<=h;b2++)
{v[i]=b[b1][b2];
i=i+3;}}
i=2;
for(c1=0;c1<=h;c1++)
{for(c2=0;c2<=h;c2++)
{v[i]=c[c1][c2];
i=i+3;}}
for (i=0;i<k;i++)
fprintf(n,"%c",v[i]);
fclose(n);
n=0;
}}}