Найти ошибку в коде - C (СИ) (71914)
Формулировка задачи:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
//Г‡Г*ïîëГ*ГҐГ*ГЁГҐ Г¬Г*òðèöû
void zap_a(double **a, int n, int m)
{
int i,j;
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
{
printf("elem[%d][%d] = ", i,j);
scanf("%lg", &a[i][j]);
}
}
//Âûâîäèì Г¬Г*òðèöó
void vivoda(double **a, int n, int m)
{
int i,j;
printf("\n");
for(i = 0; i < n; i++)
{
for(j = 0; j < m; j++)
printf("%lg ", a[i][j]);
printf("\n");
}
}
//ГЌГ*õîäèì Г¬Г*êñèìóì
double maxi( double **a, int n, int m)
{
int i,j,l,ii;
double max=a[0][0];
for(i = 1; i < n; i++ )
{
for(j = 0; j < m; j++ )
{
if( a[i][j]>max )
{
max=a[i][j];
ii=i;
}
}
}
return ii;
}
//ГЊГҐГїГҐГ¬ ñòðîêè ìåñòГ*ìè
double mest( double **a, int n, int m, int ii)
{
int i,j,l,k;
double max=a[0][0];
for(i = 0; i < n; i++ )
{
for(j = 0; j < m; j++ )
{
k=a[0][j];
a[0][j]= a[ii][j];
a[ii][j]=k;
}
}
return ii;
}
int main()
{
int n,m,i,ii;
double **a,max;
printf("N= ");
scanf("%d", &n);
printf("M= ");
scanf("%d", &m);
//âûäåëåГ*ГЁГҐ ГЇГ*ìÿòè äëÿ äèГ*Г*ìè÷åñêîãî Г¬Г*Г±Г±ГЁГўГ* A
a=(double**)malloc(sizeof(double*)*n);
//a[i]=(double*)malloc(sizeof(double*));
for (i = 0; i < n; i++) // a Г°Г*çìåðîì [n][m]
a[i] = (double*)malloc(m * sizeof(double));
//ÔóГ*ГЄГ¶ГЁГЁ
zap_a(a,n,m);
printf("\nOriginal matrix A\n");
vivoda(a,n,m);
maxi(a,n,m);
mest(a,n,m,ii);
printf("\nPeredel matrix A\n");
vivoda(a,n,n);
for (i = 0; i < n; i++)
free(a[i]);
free(a);
getch();
return 0;
}Решение задачи: «Найти ошибку в коде»
textual
Листинг программы
ii=maxi(a,n,m); mest(a,n,m,ii);