Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- int main()
- {
- // объявляем переменные и матрицу
- int n=2;
- int i,j,k;
- bool flag;
- int temp;
- int bad_row=0, unical_row=0;
- int bad_col=0, unical_col=0;
- int D[2*n][2*n] = {{1,10,1,5},
- {2,6 ,2,1},
- {4,8 ,8,2},
- {9,0 ,3,7}}; // по умолчанию
- // for (i=0; i<2*n;i++)
- // {
- // for (j=0; j<2*n;j++)
- // {
- // printf("Введите элемент матрицы %d строки, %d столбца", i, j);
- // scanf("%d", &D[i][j]);
- // }
- // }
- // печать нашей матрицы
- for (i=0; i<2*n;i++)
- {
- for (j=0; j<2*n;j++)
- printf("%d ", D[i][j]);
- printf("\n");
- }
- // считаем количество неуникальных строк
- for (i=0; i<2*n; i++)
- {
- flag = false;
- for (j=0; j<2*n-1; j++)
- {
- if (flag == true) break; // выход из цикла j
- for (k=j+1; k<2*n;k++)
- {
- if (D[i][j] == D[i][k]) {
- flag = true;
- bad_row++;
- break; // выход из цикла k
- }
- }
- }
- }
- unical_row = 2*n - bad_row;
- printf("Количество уникальных строк: %d \n", unical_row);
- // считаем количество неуникальных столбцов
- for (j=0; i<2*n; i++)
- {
- flag = false;
- for (i=0; j<2*n-1; j++)
- {
- if (flag == true) break; // выход из цикла j
- for (k=j+1; k<2*n;k++)
- {
- if (D[i][j] == D[i][k]) {
- flag = true;
- bad_col++;
- break; // выход из цикла k
- }
- }
- }
- }
- unical_col = 2*n - bad_col;
- printf("Количество уникальных столбцов: %d \n", unical_col);
- // проверяем условие задачи и если да, то меняем строки местами
- if (unical_col > unical_row){
- for (i=0; i<n; i++)
- {
- for (j=0; j<2*n; j++)
- {
- temp = D[i][j];
- D[i][j] = D[2*n-i-1][j];
- D[2*n-i-1][j] = temp;
- }
- }
- }
- // печатаем изменённую матрицу
- for (i=0; i<2*n;i++)
- {
- for (j=0; j<2*n;j++)
- printf("%d ", D[i][j]);
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement