Bài 40. Sắp xếp mảng tăng dần, Sắp xếp mảng giảm dần, Lập trình C



Đề bài

Bài 1: Sắp xếp mảng tăng dần hoặc giảm dần.

Video giải thích chi tiết về Sắp xếp mảng tăng dần hoặc giảm dần trong lập trình C



Code ví dụ


#include "stdio.h"

void swap(int &a, int &b){
	int tam=a;
	a = b;
	b = tam;
}

void sapXepTang(int x[], int n){
	for(int i=0; i<n-1; i++){
		int vitrinhonhat = i;
		for(int j=i+1; j<n; j++){
			if(x[j]<x[vitrinhonhat])
				vitrinhonhat = j;
		}
		swap(x[i],x[vitrinhonhat] );
	}
}
void sapXepGiam(int x[], int n){
	for(int i=0; i<n-1; i++){
		int vitrilonnhat = i;
		for(int j=i+1; j<n; j++){
			if(x[j]>x[vitrilonnhat])
				vitrilonnhat = j;
		}
		swap(x[i],x[vitrilonnhat] );
	}
}

void printMang(int x[], int n){
	for(int i=0; i<n; i++){
		printf("%d ", x[i]);
	}
}
int main(){
	int a[100], n;
	do{
		printf("Nhap vao so luong phan tu (0<n<=100): ");
		scanf("%d", &n);
	}while(n<1 ||  n>100);
	
	for(int i=0; i<n; i++){
		printf("a[%d]=", i);
		scanf("%d", &a[i]);
	}

	printf("\n Mang tang dan: ");
	sapXepTang(a, n);
	printMang(a, n);
	
	printf("\n Mang giam dan: ");
	sapXepGiam(a, n);
	printMang(a, n);
	
}


    

Bạn có thể thích những bài đăng này:

1 nhận xét: