Advertisement
Guest User

Untitled

a guest
Apr 25th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.15 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int nzd(int a, int b)
  4. {
  5.     if(b==0)return a;
  6.  
  7.     return nzd(b,a%b);
  8. }
  9.  
  10. int nzdx(int A[][30],int red, int n, int x)
  11. {
  12.     int j,k,i;
  13.  
  14.     for(j=0;j<n;j++)
  15.         for(k=j+1;k<n;k++)
  16.         {
  17.         if(nzd(A[i][k],A[i][k])!=x)
  18.             return 0;
  19.  
  20.         }
  21.     return 1;
  22. }
  23.  
  24.  
  25. int **izbacirdx(int A[][30], int *m, int n, int x)
  26. {
  27.     int i,j,k,br=0;
  28.  
  29.  
  30.     for(i=0;i<*m;i++){
  31.             if(nzdx(A,i,n,x)==1 && i!=n-1)
  32.             {
  33.                 br++;
  34.  
  35.                 k=i;
  36.                 while(k<*m-1)
  37.                 {
  38.                     for(j=0;j<n;j++)
  39.                     {
  40.                         A[k][j]=A[k+1][j];
  41.                     }
  42.  
  43.                     k++;
  44.  
  45.                 }
  46.  
  47.             }
  48.             if(nzdx(A,i,n,x)==1) br++;
  49.  
  50.  
  51.     }
  52.  
  53.     *m=*m-br;
  54.  
  55.     return A;
  56.  
  57.  
  58. }
  59.  
  60.  
  61. int main(void)
  62. {
  63.     int m, n, x, A[50][30],i,j;
  64.  
  65.     scanf("%d %d %d",&m,&n,&x);
  66.  
  67.     for(i=0;i<m;i++)
  68.         for(j=0;j<n;j++)
  69.         scanf("%d",&A[i][j]);
  70.  
  71.     A=izbacirdx(A,&m,n,x);
  72.  
  73.     for(i=0;i<m;i++)
  74.         for(j=0;j<n;j++)
  75.             printf("%d",A[i][j]);
  76.  
  77.     return 0;
  78.  
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement