Внес изменения чтобы программа хотя бы компилировалась
Код:
#include<stdio.h>
#include <conio.h>
#include<locale.h>
#include <math.h>
#define n 3
//Функция вода элементов матрицы с клавиатуры
void input_matr(int a[n][n])
{
int i,j;
printf("Введите элементы матрицы А: \n");
for (i=0; i<n; i++)
for (j=0; j<n; j++)
scanf("%d", &a[i][j]);
}
//Функция заполнения матрицы
void input_file (int (*a)[n])
{
int i,j;
FILE*file;
file=fopen("c:\\matr.txt", "r");
if (file)
{
for (i=0;i<n; i++)
for(j=0;j<n;j++)
fscanf(file,"%d",&a[i][j]);
fclose(file);
}
}
//функция вычисления элементов мссива х
int *mas_x(int(*a)[n],int *x, void (*pfunc)(int [n][n]))
{
pfunc(a);
int sum[n], max,i,j;
// static int x[n];
pfunc(a);
max=abs(a[0][0]);//нахождение максимального элемента матрицы
for ( i=0; i<n; i++)
for ( j=0; j<n; j++)
if (abs(a[i][j]) > max)
max=abs(a[i][j]);
for ( j=0; j<n; j++)//сумма элеменов столбцов
{
sum[j]=0;
for ( i=0; i<n; i++)
sum[j]=sum[j]+a[i][j];
sum[j]=abs(sum[j]);
}
for ( j=0; j<n; j++)
if (sum[j]>max) x[j]=1;
else x[j]=-1;
return *a;
}
//функция вывода матрицы а и х
void output(int x[], int a[][n] )
{
int i,j;
printf("Матрица А:\n");
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%5d",a[i][j]);
printf("\n");
}
printf("Массив Х:\n");
for (i=0;i<n;i++)
printf("%5d",x[i]);
printf("\n");
}
int main()
{
setlocale(LC_CTYPE,"");
int a[n][n], x[n], c;
void (*pfunc)(int [n][n]);
do
{
printf("Ввод матрицы:\n1 - с клавиатуры\n2 - \
из файла\n");
scanf("%d",&c);
}
while (c!=1 && c!=2);
// Присваивание указателю адреса одной из функций:
switch (c)
{
case 1: pfunc=&input_matr;
break;
case 2: pfunc=&input_file;
}
output(mas_x(a,x,pfunc),a);
_getch();
int recurs(int *p, int t, int *sum)
{
if (t==0)
return 0;
else sum=sum+recurs(p+1, t-1, sum);
}
}
Это не значит, что она работает правильно. Это даже не значит, что моя правка вообще имеет хоть какой-нибудь смысл (по крайней мере, суммирование указателя смысла точно не имеет. Как и вообще вся функция recurs). Это значит только, что на моем компьютере после удаления "#include <conio.h>" (у меня нет такого файла и я вообще не знаю зачем он нужен) и замены _getch() на getchar() программа компилируется без ошибок или предупреждений.