Đọc file ma trận 2 chiều c++

mấy bác xem dùm em tại sao cái hàm kiểm tra tam giác dưới của em nó không chạy
khi in ra kết quả chỉ có cái đọc file thôi. em thử debug thì cũng dậy nó bỏ qua cái hàm kiểm tra
luôn. cảm ơn mấy bác

#include "stdafx.h"
#include <iostream>
using namespace std;
#define MAX 100

//đọc dữ liệu từ tập tin
void docfile(char *fname, int a[][MAX], int &n)
{
	FILE *fp;
	fopen_s(&fp, fname, "rt");
	if (!fp) return;
	//đọc số dòng của ma trận
	fscanf_s(fp, "%d", &n);
	//đọc ma trận
	for (int i = 0; i<n; i++)
	for (int j = 0; j<n; j++)
	if (j<i + 1)
		fscanf_s(fp, "%d", &a[i][j]);
	else
		a[i][j] = 0;
	fclose(fp);
}

//2. Xuất ma trận (kích thước dxc)
void xuatmt(int a[][MAX], int n){
	int i, j;
	for (i = 0; i<n; i++)
	{
		for (j = 0; j<n; j++)
		{
			cout.width(2);		//quy định độ rộng để in
			cout << a[i][j];
		}
		cout << endl;		//xuống dòng khi sang dòng mới
	}
}
// ktra tam giac dưới
bool ktrtamgduoi(int a[][MAX], int n)
{
	int i, j;
	for (i = 0; i<n; i++)
	for (j = i + 1; j<n; j++)
	if (a[i][j] != 0)
		return false;
	return true;
}


int _tmain(int argc, _TCHAR* argv[])
{
	int a[MAX][MAX], n;
	docfile("D:/INPUT.TXT", a, n);
	xuatmt(a, n);
	int k = ktrtamgduoi(a, n);
	if (k == true) cout << "la ma tran tam giac duoi";
	else cout << "khong la ma tran tam giac duoi";
	
	return 0;
}

k là giá trị Kiểu INT, lúc trả về là bool (Không biết nó có tự ép kiểu ko?)
Bạn thử đổi sang bool k thử

mình thử rồi bạn, thậm chí chuyển hàm thành int hay void cũng ko dc, khó hiểu

a, xin lỗi bạn nka, nãy giờ mình chạy lộn chương chình khác. kaka. làm suy nghĩ nảy giờ, ẩu thiệt

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