Chương trình C để kiểm tra Is 1 khối hoán vị hay không!

Làm thế nào để viết một chương trình C để kiểm tra Is 1 khối hoán vị hay không! trong ngôn ngữ lập trình C ?


Bài giải:
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<stdlib.h>
  4. void kiemtra(int *,int);
  5. int chay(int a,int *n, int i)
  6. {  
  7.     if(a==i){ printf("yes");return 1;}
  8.     else if((*(n+a)<=0)||(*(n+a))>i){ printf("khong"); return 0;}  
  9.     if(*(n+a)<=i)
  10.     {
  11.         for(int d=0;d<a;d++)
  12.         {
  13.             if (*(n+a)==*(n+d)){ printf(" khong");return 0;}
  14.         }
  15.         chay(a+1,n,i);    
  16.            
  17.     }
  18.        
  19.     }
  20. void kiemtra(int *n,int i)
  21. {
  22.     int e=chay(0,n,i);
  23. }    
  24. int main()
  25. {
  26.    int n;
  27.    printf("nhap so lan test");
  28.    scanf("%d",&n);
  29.    int a[n],*b[n];
  30.    for(int e=0;e<n;e++)
  31.    {
  32.         printf(" so ");
  33.         scanf("%d",&a[e]);
  34.         b[e]=(int *)malloc(sizeof(int)*a[e]);
  35.         for(int d=0;d<a[e];d++)
  36.         {
  37.             printf("so thu %d la ",d+1);
  38.             scanf("%5d",(b[e]+d));
  39.         }
  40.         printf("\n");
  41.     }
  42.     for(int e=0;e<n;e++)
  43.     {
  44.         kiemtra(b[e],a[e]);
  45.         printf("\n");
  46.     }
  47.     getch();
  48.    
  49.        
  50.        
  51.            
  52.    
  53. }


Learn More :