Làm sao để xét ma trận tam giác trên hay dưới?

Đây là đoạn code thuật toán của em nhưng khi chạy lại chả thấy gì.Ai giúp em xem em sai ở đâu được không ạ?

	for (i=1;i<n;i++)
		for (j=i+1;j<=n;j++)
			 if(i>j && m[i][j]==0){
			 	printf("Ma tran tren la ma tran tam giac tren\n");
			 }
			 else{
			 	printf("Ma tran tren khong phai la ma tran tam giac tren");
			 }

Chưa rõ ý của bạn.
Nhưng mỗi lần lặp là mỗi lần in ra (printf()) là không ổn rồi.

1 Like

Bạn giúp mình sửa chỗ đó được k lắm vòng lắp làm mình chưa biết if else thế nào nữa.

Ma trận tam giác trên hoặc dưới dựa theo đường chéo chính :slight_smile:

M(n*n) là ma trận tam giác trên <=> ∀i, j \ 0 <= i < j < n, M[i][j] = 0
Giờ lấy mệnh đề đảo :smiley:

bạn ơi thuật toán mình biết rồi nhưng mà cái if else của mình mình dùng trong vòng lặp nó bị sai bạn xem và sửa hộ mình được k ạ?

Không ai giúp mình à :cry:

I > J, vậy mà vòng for lại cho j=i+1 vậy thì sao i > j được, duyệt ma trận thì 2 vòng for đều bắt đầu từ 0.

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