Итак, это код для чтения матриц A и B из текстовых файлов. Следующий код, который я нашел, смог прочитать оба файла. Тем не менее, выход для матрицы A перекрывается с матрицей B (рисунок ниже)
введите описание изображения здесь
Matrix A -----
1 2 3
4 5 6
7 8 99
Matrix B -----
0 1 1
2 0 0
2 0 00
Итак, как избежать дублирования, помогите пожалуйста 🙂
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
{
char ch;
const char *fileName="MatrixA.txt"; // FOR MATRIX A
ifstream file;
file.open(fileName,ios::in);
if(!file)
{
cout<<"Error in opening file!!!"<<endl;
return -1;
}while (!file.eof())
{
file >> noskipws >> ch;
cout << ch;
}
file.close();
}
{
char ch;
const char *fileName="MatrixB.txt"; // FOR MATRIX A
ifstream file;
file.open(fileName,ios::in);
if(!file)
{
cout<<"Error in opening file!!!"<<endl;
return -1;
}while (!file.eof())
{
file >> noskipws >> ch;
cout << ch;
}
file.close();
}return 0;
}
РЕДАКТИРОВАТЬ: Спасибо всем! Исправлено, и да, я знаю, что это не код для чтения матриц (извините за дезинформацию). Я просто хочу, чтобы это выглядело как один хе-хе, так что еще раз спасибо
Вы только что напечатали посимвольную копию двух файлов, между которыми ничего нет. По-видимому, «MatrixA.txt» не имеет новой строки в конце файла.
Вы можете просто добавить '\n'
символ после вывода первого файла.
std::cout << '\n';
В очень реальном смысле вы нет читать в двух матрицах, так как вы не используете никаких арифметических значений, присутствующих в файлах. Если вы хотите сделать это, вам сначала нужно придумать представление из Matrix
в вашей программе, и только тогда вы можете думать о чтении его из ваших файлов.
Других решений пока нет …