Sắp xếp lại mảng

Đề bài:

Em in ra được ý A[i]=i nhưng ý còn lại là A[j]!=j thì lại k thể ra. Anh chị giúp em với.

#include<iostream>
using namespace std;

int n,a[100];

int Init() {
	for(int i=0;i<n;i++) {
		cout<<"\nNhap a["<<i<<"]=";
		cin>>a[i];
	}
}

int main() {
	cin>>n;
	Init();
	int i=0;
	
	while(i<n) {
		for(int j=0;j<n;j++) {
			if(a[j]==i) {
				cout<<a[j]<<" ";
				break;
			}

		}
		i++;
	}
}

Tiêu đề là: “Sắp xếp lại mảng”. Trong nội dùng bài làm của bạn chẳng thấy chỗ nào là sắp xếp cả.
Bạn thực hiện việc sắp xếp (tăng dần) trước đã.

4 Likes

bạn nói rõ hơn được không ạ

Google: các thuật toán sắp xếp

3 Likes

Thế này bạn nhé.
Bạn cho 1 mảng gồm 3 phần tử vd: 5 9 0
Bạn dùng thuật toán sắp xếp mảng tăng dần

Mảng sau khi sắp xếp sẽ là 0 5 9

sau đó cho 1 dòng for so sánh if(a[i]==i) in ra a[i] còn ngược lại != thì in ra -1.
Quan trong là bạn học thuật toán sắp xếp mảng chưa thôi.Có gì không rõ hỏi lại nhé

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