Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //7.В каждой строке матрице проверить наличие положительных элементов и при их наличии выполнить реверс элементов этой строки.
- #include<stdio.h>
- #include<math.h>
- int main()
- {
- int i,j,m,n, beginIndex, endIndex;
- double a[10][10]={{0,-8.4, -13.6, -34.5,16.3,-34.9, 18.25,7,12, -56.14},
- {-34.9, -18.25,-7,-12, -56.14,13, 18, 34, -102,66},
- {2, 18, 34, 102,66,-38,-71,23,0.4,15},
- {-13.6, -34.5,-16.3,-34.9, 18.25,7,12, -56.14,13, 18},
- {16.3,-34.9, 18.25,7,12, -56.14,13, 18, 34, -102},
- {18.25,7,12, -56.14,13, 18, 34, -102,66,-38},
- {12, -56.14,13, 18, 34, -102,66,-38,-71,23},
- {8.4, 13.6, -34.5,16.3,-34.9, 18.25,7,12, -56.14,13},
- {-34.5,16.3,-34.9, 18.25,7,12, -56.14,13, 18, 34},
- {56.14,13, 18, 34, -102,66,-38,-71,23,0.4}
- };
- double buf;
- char haveReversed = 0;
- //Ввод и контроль размеров матрицы
- printf("\t Введите размеры матрицы m<=10 n<=10\n");
- scanf("%d%d",&m,&n);
- if (m<=0 || m>10 ||n<=0 ||n>10)
- {
- printf("\t Введенные размеры матрицы не допустимы\n",n);
- printf("\nДля завершения программы нажмите любую клавишу\n");
- return 0;
- }
- printf("\nИсходная матрица \n");
- for(i=0; i<m;i++)
- for(j=0; j<n;j++)
- printf("%7.2lf%c",a[i][j],j==n-1?'\n':' ');
- for(i = 0; i < m; i++) {
- haveReversed = 0;
- for(j = 0; j < n && !haveReversed; j++) {
- if(a[i][j] > 0)
- {
- beginIndex = 0;
- endIndex = n-1;
- while(beginIndex < endIndex)
- {
- buf = a[i][beginIndex];
- a[i][j] = a[i][endIndex];
- a[i][endIndex] = buf;
- beginIndex++;
- endIndex--;
- }
- haveReversed = 1;
- }
- }
- }
- //Вывод преобразованной матрицы
- printf("\nПреобразованная матрица \n");
- for(i=0; i<m;i++)
- for(j=0; j<n;j++)
- printf("%7.2lf%c",a[i][j],j==n-1?'\n':' ');
- printf("\nДля завершения программы нажмите любую клавишу\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement