Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.67 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string.h>
  4.  
  5. void out (int n, int m, char **arr)
  6. {
  7.     int i,j;
  8.     for(i = 0; i < n; i++)
  9.     {
  10.         for(j = 0; j < m; j++)
  11.             printf ("%c\t",arr[i][j]);
  12.         printf("isSymmetric = %d",isSymmetric(i,m,arr));
  13.         printf ("\n");
  14.     }
  15. }
  16.  
  17. void SwapRows(int a,int b, char**arr)
  18. {
  19.     char *row;
  20.     row=arr[a];
  21.     arr[a]=arr[b];
  22.     arr[b]=row;
  23. }
  24.  
  25. int isSymmetric(int x,int column, char**arr)
  26. {
  27.     int res=1;
  28.     int j;
  29.     for(j = 0; j < column/2; j++)
  30.         if(arr[x][j]!=arr[x][column-j-1])
  31.             res=0;
  32.     return res;
  33. }
  34.  
  35. void MySort(int n,int m, char**arr)
  36. {
  37.     int fl=1,
  38.         i,j;
  39.  
  40.     while(fl)
  41.     {
  42.         fl=0;
  43.         for(j = 1; j < n; j++)
  44.             if(isSymmetric(j-1,m,arr)<isSymmetric(j,m,arr))
  45.             {
  46.                 SwapRows(j-1,j,arr);
  47.                 fl =1;
  48.             }
  49.     }
  50. }
  51.  
  52. int main()
  53. {
  54.     char **SM,a,b,c;
  55.     int K,N,i,j;
  56.     int *Stars;
  57.  
  58.     printf("Enter row count:\n");
  59.     scanf("%d",&K);
  60.     printf("Enter column count:\n");
  61.     scanf("%d",&N);
  62.    
  63.     //выделяем память
  64.     SM = (char **)malloc(K * sizeof(char *));
  65.  
  66.     for(i = 0; i < K; i++)
  67.         SM[i] = (char *)malloc(N* sizeof(char));
  68.    
  69.     // инициализация с клавиатуры
  70.     printf ("Enter %d chars:\n",N*K);
  71.     getchar();
  72.     for(i = 0; i < K; i++)
  73.         for(j = 0; j < N; j++)
  74.         {
  75.             scanf("%c", &SM[i][j]);
  76.         }
  77.        
  78.    
  79.         // выводим матрицу
  80.         puts("Array");
  81.         out(K,N,SM);
  82.  
  83.     // заменяем буквы на *
  84.     for(i = 0; i < K; i++)
  85.         for(j = 0; j < N; j++)
  86.             if (isalpha(SM[i][j]))
  87.                 SM[i][j]='*';
  88.  
  89.         // выводим матрицу
  90.         puts("New Array");
  91.         out(K,N,SM);
  92.    
  93.         MySort(K,N,SM);
  94.  
  95.         // выводим матрицу
  96.         puts("Sort Array");
  97.         out(K,N,SM);
  98.  
  99.     return 0;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement