行列を使用する C++ で記述されたプログラムがあり、それらを印刷したいと考えています。プログラムでは、行列は整数型または符号なし char 型のいずれかです。これは、印刷を行うために現在使用しているコードです。
template<class T>
void print_matrix(const int& num_rows, const int& num_cols, T** M)
{
for (int row = 0; row < num_rows; row++) {
for (int col = 0; col < num_cols; col++) {
std::cout << std::setw(5) << M[row][col];
}
std::cout << std::endl;
}
}
私の問題は、符号なしの文字行列の場合、値が数値として解釈されないことです。たとえば、ゼロ行列の場合、出力はコンソールに表示されません。テンプレート化されたメソッドでタイプ情報を使用して、両方のタイプのマトリックスを正しく印刷する方法を見つける方法はありますか? 正しいフォーマット文字列で printf を使用する 2 つの異なるタイプの印刷方法を作成する必要がありますか?