Showing posts with label Vienamese. Show all posts
Showing posts with label Vienamese. Show all posts

Chương trình C để hoán vị của 1 số

Chương trình C để hoán vị của 1 số


  1. #include<stdio.h>
  2. #include<conio.h>
  3. int a[20],n,count=0;
  4. int ghinhan()
  5. {
  6.     count++;
  7.    
  8.     for(int i=1;i<=n;i++)
  9.         printf("%d",a[i]);
  10.     printf("\n");
  11. }
  12. int ucv(int j,int k)
  13. {
  14.            for(int i=1;i<k;i++)
  15.                if(a[i]==j) return 0;
  16.             return 1;    
  17. }
  18. int chay(int i)
  19. {
  20.     for(int j=1;j<=n;j++)
  21.         if(ucv(j,i)&&(j!=i))
  22.         {
  23.             a[i]=j;
  24.             if(i==n) ghinhan();
  25.             else chay(i+1);
  26.         }
  27. }
  28. int main()
  29. {
  30.     printf("nhan so phan tu");scanf("%d",&n);
  31.     chay(1);
  32.     printf("xong cmnr");
  33.     getch();
  34.    
  35. }

C chương trình cho vấn đề số học

C chương trình cho vấn đề số học

  1. #include<stdio.h>
  2. #include<conio.h>
  3. int aa(int ,int,int );
  4. int aa(int a[],int d,int n)
  5. {
  6.     int e=a[n-1]-a[n-2];
  7.     if(e!=d) return 1 ;
  8.     if(n==2) return 0;
  9.     else aa(a,d,n-1);
  10. }  
  11. int main()
  12. {
  13.     int n;
  14.     printf(" so luong phan tu ");
  15.     scanf("%d",&n);
  16.     int a[n];
  17.     for(int b=0;b<n;b++)
  18.     {
  19.         printf("phan tu thu %d la ",b+1);
  20.         scanf("%d",&a[b]);
  21.     }
  22.     for(int i=0;i<n;i++)
  23.     {
  24.         for(int j=i;j<n;j++)
  25.         {
  26.             if(a[i]>a[j]){
  27.                 int b=a[j];
  28.                 a[j]=a[i];
  29.                 a[i]=b;}
  30.          }
  31.                
  32.     }
  33.     int d=a[1]-a[0];
  34.     int e=aa(a,d,n);
  35.     if(e==1) printf("ko the");
  36.     else for(int i=0;i<n;i++) printf(" %d",a[i]);
  37.     getch();
  38.     return 0;
  39. }

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. }

Chương trình C để đếm số phần tử lớn thứ 2 liên tiếp

Làm thế nào để viết một chương trình C để đếm số phần tử lớn thứ 2 liên tiếp trong ngôn ngữ lập trình C ?


Dung dịch:
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<stdlib.h>
  4. int main()
  5. {
  6.     int n;
  7.     printf("so phan tu cua mang");
  8.     scanf("%d",&n);
  9.     int *b=(int*)malloc(sizeof(int)*n);
  10.     for(int e=0;e<n;e++)
  11.     {
  12.         scanf("%5d",(b+e));
  13.     }
  14.     for(int i=0;i<n;i++)
  15.     {    for(int j=i+1;j<n;j++)
  16.         {
  17.             if (*(b+i)>*(b+j)){
  18.                 int k=*(b+j);
  19.                 *(b+j)=*(b+i);
  20.                 *(b+i)=k;}
  21.             }}
  22.      int e;
  23.      for(int d=n-2;d>=1;d--)
  24.      {
  25.             if (*(b+d)< *(b+n-1)){ e=*(b+d); break;}}
  26.      int dem=0;
  27.      for(int d=n-2;d>=1;d--)
  28.      {
  29.             if(*(b+d)==e) dem=dem+1;
  30.             if(*(b+d)<e) break;
  31.     }
  32.     printf(" co %d so lon thu hai trong day",dem);
  33.     getch();
  34. }