Помогите!!! Написал программу, а она с ошибками, не могу исправить!..
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
enum S_INPUT {S_FILE,S_CONSOLE};
float **FreeMatr(float **m,int n);
float **CreateMatr(int n);
float **MultiplyNumber(float **sl,float x,int n);
float **AddMatr(float **sl,float **s2,int n);
float **Multiply(float **sl,float **s2,int n);
void Print(float **m, int n);
void ConsoleInput(float **a,int n);
void FileInput(float **a,int n);
void FileOutput(float **a,int n);
int input(S_INPUT fi);
S_INPUT SelIO();
void main()
{
float **A,**B,**C,e=0;
int N;
e=sqrt(e);
S_INPUT f;
f=SelIO();
N=input(f);
if(N!=0)
{
A=CreateMatr(N);
B=CreateMatr(N);
C=CreateMatr(N);
if(f==S_CONSOLE)
{
ConsoleInput(A,N);
ConsoleInput(B,N);
Print(A,N);
Print(B,N);
}
else
{
FileInput(A,N);
FileInput(B,N);
}
C=Multiply(AddMatr(Multipty(A,A,N),MultiplyNumber(Multipty(B,B,N),-1,N),N),AddMatr(A,B,N),N);
f=SelIo();system("cls");
if(f==S_CONSOLE)
{
Print(A,N);
Print(B,N);
Print(C,N);
}
else
{
FileOutput(C,N);
}
}
else
printf("N accepts inadmissible value\n");
FreeMatr(A,N);
FreeMatr(B,N);
FreeMatr(C,N);
free(A);
free(B);
free(C);
}
float **FreeMatr(float **m,int n)
{
for(int i=0;i<n;i++)
free(m[i]);
return m;
}
float **CreatMatr(int n)
{
float **m;
m=(float**)malloc(n*sizeof(float));
for(int i=0;i<n;i++)
m[i]=(float*)malloc(n*sizeof(float));
return m;
}
float **MultiplyNumber(float **sl,float x,int n)
{
float **rez;
rez=CreateMatr(n);
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
rez[i][j]=x*sl[i][j];
}
return rez;
}
float **AddMatr(float **sl,float **s2, int n)
{
float **rez;
rez=CreateMatr(n);
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
rez[i][j]=sl[i][j]+s2[i][j];
}
return rez;
}
float **Multiply(float **sl,float *s2,int n)
{
float **rez;
rez=CreateMatr(n);
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
rez[i][j]=0;
for(int k=0;k<n;k++)
rez[i][j]+=sl[i][j]*s2[k][j];
}
return rez;
}
void Print(float **m,int n)
{
for(int i=0;i<n;i++)
{
for(intj=0;j<n;j++)
printf("%-10.3f",m[i][j]);
printf("\n");
}
void ConsoleInput(float **a,int n)
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
printf("Enter element [%d][%d]",i+1,j+1);
scanf("%f",&a[i][j]);
}
printf("\n");
}
void FileInput(float **a,int n)
{
FILE *f;
int i,j;
char path[100];
printf(Wrong path or a file name. Please try again");
gets(path);
}
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
fscanf(f,"%f",&a[i][j]);
fclose(f);
Print(a,n0;
}
void FileOutput(float **a,int n)
{
FILE *f;
int i,j;
char path[100];
printf("Enter path and file name");
gets(path);
while((f=fopen(path,"w+"))==NULL)