01/10/2018, 15:02

Code sắp xếp mảng bằng con trỏ ra kết quả sai

Sau khi sửa thì vẫn xuất ra không đúng mọi người ơi

#include<iostream>
using namespace std;
void nhap(float *&A)
{
	for (int i = 0; i < 10; i++)
	{
		cin >> *(A + i);
	}
}
void xuat(float *A)
{
	for (int i = 0; i < 10; i++)
	{
		cout << *(A + i) << " ";
	}
}
void sapxep(float *&A)
{
	for (int i = 0; i < 9; i++)
	{
		float temp;
		for (int j = i + 1; j < 10; j++)
		{
			if (*(A + i) > *(A + j))
			{
				temp = *(A + i);
				*(A + i) = *(A + j);
				*(A + j) = *(A + i);
			}
		}
	}
}
int main()
{
	float *A = new float[10];
	nhap(A);
	xuat(A);
	sapxep(A);
	cout << endl;
	xuat(A);		
	delete(A);
       system("pause");
	return 0;
}
rogp10 viết 17:02 ngày 01/10/2018

Câu swap viết sai => toạch vả lại i sao lại < 11, có 10 slot ah.

Nui Pham Quang viết 17:13 ngày 01/10/2018

chỉ giúp mình với, có 10 slot thật

HK boy viết 17:07 ngày 01/10/2018

Đoạn [0, 10) có 10 slot, tại sao vòng for sắp xếp lại cho j chạy đến < 11? j chỉ chạy đến < 10 thôi chứ.

Nui Pham Quang viết 17:05 ngày 01/10/2018

ờ ha =))) thankyou HK boy nha

Bài liên quan
0