 dungnv
» C
» Câu 2: Cho dãy số {a1,a2,…an} với n<=100. Viết chương trình thực hiện các công việc sau: a) Đọc các giá trị {a1,a2,..an} vào từ bàn phím và xác định xem dãy nhận được có phải là hoán vị của {1,2..n} không? b) Phân chia {a1,a2…an} thành các dãy con tăng dần có độ dài cực đại.
dungnv
» C
» Câu 2: Cho dãy số {a1,a2,…an} với n<=100. Viết chương trình thực hiện các công việc sau: a) Đọc các giá trị {a1,a2,..an} vào từ bàn phím và xác định xem dãy nhận được có phải là hoán vị của {1,2..n} không? b) Phân chia {a1,a2…an} thành các dãy con tăng dần có độ dài cực đại.
Câu 2: Cho dãy số {a1,a2,…an} với n<=100. Viết chương trình thực hiện các công việc sau: a) Đọc các giá trị {a1,a2,..an} vào từ bàn phím và xác định xem dãy nhận được có phải là hoán vị của {1,2..n} không? b) Phân chia {a1,a2…an} thành các dãy con tăng dần có độ dài cực đại.
Tuesday, August 26, 2014
Câu 2: Cho dãy số {a1,a2,…an}
với n<=100. Viết chương trình thực hiện các công việc sau:
a)      
Đọc các giá trị {a1,a2,..an} vào từ bàn phím và xác định xem dãy
nhận được có phải là hoán vị của {1,2..n} không?
Phân chia {a1,a2…an} thành
các dãy con tăng dần có độ dài cực đại.code :
Bai 2a
#include <stdio.h>
#include <conio.h>
void nhapmang(int a[],int n)
{
                int i;
                for (i=0;i<n;i++)
                {
                                printf("\nNhap phan tu thu %5d    :  
",i);
                                scanf("%d",&a[i]);
                }
}
void xemmang(int a[],int n)
{
                int i;
                printf("\n"); 
                for (i=0;i<n;i++)
                                printf("  %5d  ",a[i]);
                printf("\n");
}
int kiemtra(int x[],int n)
{
     int
y[1000],i;
                 for
(i=0;i<1000;i++) y[i]=0;
                 for
(i=0;i<n;i++) (y[x[i]])++;
                 for
(i=1;i<=n;i++) if (y[i]!=1) return 0;
                 return 1;
}
void main()
{
                int n;
                int a[100];
                printf("\nnhap so phan tu trong mang   : 
");
                scanf("%d",&n);
                nhapmang(a,n);
                xemmang(a,n);
                if (kiemtra(a,n)) printf("\n       La hoan vi cua .................");
                else printf("\n       Khong phai La hoan
vi..............");
                getch();
}
Bai2 B
#include <stdio.h>
#include <conio.h>
void nhapmang(int a[],int n)
{
                int i;
                for (i=0;i<n;i++)
                {
                                printf("\nNhap phan tu thu %5d    :  
",i);
                                scanf("%d",&a[i]);
                }
}
void xemmang(int a[],int n)
{
                int i;
                printf("\n"); 
                for (i=0;i<n;i++)
                                printf("  %5d  ",a[i]);
                printf("\n");
}
void daycon(int b[],int n)
{
     int
i=0,j,x;
                 printf("\nDay
con");
                 do
                 {
                                 while
((b[i]>b[i+1])&&(i<n))
                     {
                                                  printf("\n%5d\n",b[i]);
                                                  i++;
                                 }
                                 if (i>=n) break;
                                 j=i;
                                 while
((b[i]<=b[i+1])&&(i<n)) i++;
                                 printf("\n");
                                 for
(x=j;x<=i;x++) printf("%5d",b[x]);
                                 printf("\n");
                 } while
(i<n);
}
void main()
{
                int n;
                int a[100];
                printf("\nnhap so phan tu trong mang   : 
");
                scanf("%d",&n);
                nhapmang(a,n);
                xemmang(a,n);
                printf("\nDay con");
                daycon(a,n);
                getch();
}
 
 
 
 
All comments [ 0 ]
Your comments