01/10/2018, 00:01

Cho mình xin ý kiến về vòng lặp for với

	#include<stdio.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{
    int kichthuocmang=4;
	int arrayi[4]={3,7,6,5};
	for(int i=0;i<kichthuocmang-1;i++)
	{
	for(int j=i+1;j<kichthuocmang;j++)
	{
	if(arrayi[i]>arrayi[j])
	{
		int k=arrayi[i];
		arrayi[i]=arrayi[j];
		arrayi[j]=k;
	}	
	}
	}//lan 1 i=0 thì 
		for(int i=0;i<kichthuocmang;i++)
		{
	printf("%d,",arrayi[i]);
	}
}
//o bai code nay e khong hieu tu 7-18,lan thu 1 e nghi la no cho i=0 roi so sanh voi j=1.-->  kq3,7,6,5
//lan 2 no so sanh i=1 va j=2;-->kq 3,6,7,5
//lan 3 no so sanh i=2 va j=3-->kq 3.6.5 ,7
//vay tai sao man hinh lai hien thi 3.5.6.7
Sáng Béo viết 02:02 ngày 01/10/2018

bạn có thể in ra trạng thái mảng sau vòng lặp của j để xem sự thay đổi xem có đúng như bạn nghĩ không

vũ xuân quân viết 02:02 ngày 01/10/2018

vay tai sao man hinh lai hien thi 3.5.6.7

Cái này là kết quả cuối cùng khi chạy hết dòng for i mà.
Còn em muốn coi sự thay đổi của mảng đó như thế nào ?
Thì em cứ hết dòng for j thì in cái mạng đó ra để xem.
Chịu khó chạy debug đi em.

Bài liên quan
0