2.7 sap xep & chen

ìa tâp: Cho dãy n sô thuc

a) Sap xêp dãy theo thu tu tang dân, giam dân.

b) Chèn vào dãy 1 sô thuc mà không làm thay dôi tính duoc sap cua dãy so.

*/

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

void Nhapdayso(int N, float *a){

if(a != NULL){

printf("Ban hay nhap %d phan tu trong day:

", N);

for(i=0; i<N; i++){

scanf("%f", &a[i]);

}

}

else printf("Kong du bo nho!!!

");

}

void Chenso(int N, float *a){

float X;

printf("

Ban hay nhap so can chen vao day:

");

scanf("%f", &X);

for(i=N-1; i>=0; i--){

if(a[N-1]<=X){

a[N] = X;

break;

}

else{

if(a[i-1]<=X && X<=a[i]){

a[i+1] = a[i];

a[i] = X;

break;

}

else{

a[i+1]= a[i];

}

}

}

printf("Day so sau khi chen la:

");

for(i=0; i<N+1; i++){

printf("%.2f\t", a[i]);

}

}

void Sapxep(int N, float *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;

}

}

}

printf("Day so duoc sap xep theo thu tu tang dan la:

");

for(i=0; i<N; i++){

printf("%.2f\t", a[i]);

}

Chenso(N, a);

for(i=0; i<N; i++){

for(j=i+1; j<N+1; j++){

if(a[i]<a[j]){

temp = a[i];

a[i] = a[j];

a[j] = temp;

}

}

}

printf("

Day so duoc sap xep theo thu tu giam gian la:

");

for(i=0; i<N+1; i++){

printf("%.2f\t", a[i]);

}

}

main()

{

int N;

float *a;

printf("Ban muon nhap day so co bao nhieu phan tu?

");

scanf("%d", &N);

a = malloc((N+1)*sizeof(float));

Nhapdayso(N, a);

Sapxep(N, a);

getch();

free(a);

return 0;

}

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: #education