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:
- #include<stdio.h>
- #include<conio.h>
- #include<stdlib.h>
- void kiemtra(int *,int);
- int chay(int a,int *n, int i)
- {
- if(a==i){ printf("yes");return 1;}
- else if((*(n+a)<=0)||(*(n+a))>i){ printf("khong"); return 0;}
- if(*(n+a)<=i)
- {
- for(int d=0;d<a;d++)
- {
- if (*(n+a)==*(n+d)){ printf(" khong");return 0;}
- }
- chay(a+1,n,i);
- }
- }
- void kiemtra(int *n,int i)
- {
- int e=chay(0,n,i);
- }
- int main()
- {
- int n;
- printf("nhap so lan test");
- scanf("%d",&n);
- int a[n],*b[n];
- for(int e=0;e<n;e++)
- {
- printf(" so ");
- scanf("%d",&a[e]);
- b[e]=(int *)malloc(sizeof(int)*a[e]);
- for(int d=0;d<a[e];d++)
- {
- printf("so thu %d la ",d+1);
- scanf("%5d",(b[e]+d));
- }
- printf("\n");
- }
- for(int e=0;e<n;e++)
- {
- kiemtra(b[e],a[e]);
- printf("\n");
- }
- getch();
- }