Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <string.h>
- void out (int n, int m, char **arr)
- {
- int i,j;
- for(i = 0; i < n; i++)
- {
- for(j = 0; j < m; j++)
- printf ("%c\t",arr[i][j]);
- printf("isSymmetric = %d",isSymmetric(i,m,arr));
- printf ("\n");
- }
- }
- void SwapRows(int a,int b, char**arr)
- {
- char *row;
- row=arr[a];
- arr[a]=arr[b];
- arr[b]=row;
- }
- int isSymmetric(int x,int column, char**arr)
- {
- int res=1;
- int j;
- for(j = 0; j < column/2; j++)
- if(arr[x][j]!=arr[x][column-j-1])
- res=0;
- return res;
- }
- void MySort(int n,int m, char**arr)
- {
- int fl=1,
- i,j;
- while(fl)
- {
- fl=0;
- for(j = 1; j < n; j++)
- if(isSymmetric(j-1,m,arr)<isSymmetric(j,m,arr))
- {
- SwapRows(j-1,j,arr);
- fl =1;
- }
- }
- }
- int main()
- {
- char **SM,a,b,c;
- int K,N,i,j;
- int *Stars;
- printf("Enter row count:\n");
- scanf("%d",&K);
- printf("Enter column count:\n");
- scanf("%d",&N);
- //выделяем память
- SM = (char **)malloc(K * sizeof(char *));
- for(i = 0; i < K; i++)
- SM[i] = (char *)malloc(N* sizeof(char));
- // инициализация с клавиатуры
- printf ("Enter %d chars:\n",N*K);
- getchar();
- for(i = 0; i < K; i++)
- for(j = 0; j < N; j++)
- {
- scanf("%c", &SM[i][j]);
- }
- // выводим матрицу
- puts("Array");
- out(K,N,SM);
- // заменяем буквы на *
- for(i = 0; i < K; i++)
- for(j = 0; j < N; j++)
- if (isalpha(SM[i][j]))
- SM[i][j]='*';
- // выводим матрицу
- puts("New Array");
- out(K,N,SM);
- MySort(K,N,SM);
- // выводим матрицу
- puts("Sort Array");
- out(K,N,SM);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement