Code sắp xếp mảng tăng dần bị sai

#include<stdio.h>
#include<conio.h>
#define MAX 100
void NhapMang(int a[], int &n)
{
	do {
		printf_s("nhap so phan tu trong mang :");
		scanf_s("%d", &n);
	} while (n<0 || n>MAX);
		for (int i = 0; i <= n - 1; i++)
		{
			printf_s("a[%d] :", i);
			scanf_s("%d", &a[i]);
		}
}
void XuatMang(int a[], int n)
{
	for (int i = 0; i <= n - 1; i++)
	{
		printf_s("%5d", i);
	}
}
void HoanVi(int &a, int &b)
{
	int tam = a;
	a = b;
	b = tam;
}
void SXTANGDAN(int a[], int n)
{
	for (int i = 0; i <= n - 1; i++)
	{
		for (int j = i + 1; j < n; j++)
		{
			if (a[i] > a[j])
				HoanVi(a[i], a[j]);
		}
	}
	/*for (int j = 0; j < n; j++)
	{
		printf("\n mang tang dan la : %4d", a[j]);
	}*/
}
void main()
{
	int a[MAX], n, b;
	NhapMang(a, n);
	printf_s("mnang vua nhap :");
	XuatMang(a, n);
	SXTANGDAN(a, n);
	printf("\n mang tang dan la : %4d");
	_getch();
}

mình đã chạy thử rồi nhưng nó ra số trên RAM , WHY ???
vd : nhập 2 5 6 8 3 7 thì nó ra mảng tăng dần la 1 số ngẫu nhiên trên RAM

Bằng 0 thì…

Chỉ i.

printf đối số là i???

i đâu phải char* :smiley:

À mà sao lại i :smiley:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?