Найти ошибку в коде - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д