2.1:kiem tra sap xep
Bai tâp: Cho dãy sô gôm n phân tu.
Lâp trình kiêm tra xem dãy dã duoc sap hay chua?
Nêu duoc sap thì cho biet theo thu tu tang hay giam.
Còn neu dãy chua duoc sap thì hãy sap lai theo thu tu tang dan rôi in ra màn hình.
*/
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void Nhapdayso(int N, int *a){
int i;
printf("Ban hay nhap %d phan tu trong day so:
", N);
for(i=0; i<N; i++){
scanf("%d", &a[i]);
}
}
void Sapxepday(int N, int *a){
int i, j, temp;
for(i=0; i<N-1; i++){
for(j=i+1; j<N; j++){
if(a[i]>a[j]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for(i=0; i<N; i++){
printf("%d\t", a[i]);
}
}
void Kiemtrasapxep(int N, int *a){
int dg=0, dt=0, db=0;
int i;
for(i=0; i<N-1; i++){
if(a[i]<a[i+1]) dt++;
else if(a[i]>a[i+1]) dg++;
else db++;
}
if(dt==N-1) printf("Day da cho duoc sap xep theo thu tu tang dan!
");
else if(dg==N-1) printf("Day da cho duoc sap xep theo thu tu giam dan!
");
else if(db==N-1) printf("Day da cho la day tat ca cac phan tu bang nhau!
");
else if(dt+db==N-1) printf("Day da cho la mot day khong giam!
");
else if(dg+db==N-1) printf("Day da cho la mot day khong tang!
");
else{
printf("Day da cho chua duoc sap xep!
Bay gio ta sap xep day theo thu tu tang dan!
");
Sapxepday(N, a);
}
}
main()
{
int N, *a, i, j;
printf("Ban muon nhap day so gom bao nhieu phan tu?
");
scanf("%d", &N);
a=malloc(N*sizeof(int));
if(a != NULL){
Nhapdayso(N, a);
Kiemtrasapxep(N, a);
}
else printf("Khong du bo nho!!!");
getch();
free(a);
return 0;
}
Bạn đang đọc truyện trên: Truyen247.Pro