Поменять местами последние 2 отрицательных элемента в матрице, с помощью указателей - C (СИ)
Формулировка задачи:
Нужно поменять местами последние 2 отрицательных эл-та в матрице,с помощью указателей.
Вот что у меня получилось:
Помогите разобраться в чем ошибка
#include <stdio.h> #include <conio.h> #include <stdlib.h> int main() { int a[10][10],n,m,i,j,*o1,*o2,tmp,k=0; printf("dlina matr a:"); scanf("%d%d",&n,&m); printf("vvedite matr a\n"); for (i=0;i<n;i++) for (j=0;j<m;j++) scanf("%d",&a[i][j]); o1=o2=NULL; for (i=k;i<n&&o2==NULL;i--) for (j=k;j<m&&o2==NULL;j--) if (a[i][j]<0) {k++; if (k==1) o1=&a[i][j]; if (k==2) o2=&a[i][j]; } if (o2==NULL) printf("net perestanovok"); else {tmp=*o1,*o1=*o2,*o2=tmp; printf("matrica A posle perestanovki\n"); for (i=0;i<n;i++) {for (j=0;j<m;j++) printf("%7d",a[i][j]); printf("\n"); } } system("PAUSE"); }
Решение задачи: «Поменять местами последние 2 отрицательных элемента в матрице, с помощью указателей»
textual
Листинг программы
for ( i = n - 1; i >= 0 && o2 == NULL; i--) for ( j = m - 1; j >= 0 && o2 == NULL; j--) if ( a[i][j] < 0 )....
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д