30/09/2018, 18:11
Lỗi ở định dạng Array
Cho mình hỏi code này mình chạy thử thay vì in ra định dạng file input là
4
0 1 2 3
Thì nó chỉ in ra
0 -8xxxxx -8xxxxx -8xxxxx
Có phải lỗi này là do phần array chưa định dạng kiểu int phải không nhĩ ?
#include <iostream>
#include <fstream>
using namespace std;
class Array1D
{
private:
int n;//số lượng các phần tử trong Array1D
int *a;//con trỏ chứa giá trị các phần trong Array1D
public:
Array1D()
{
n = 0;
a = NULL;
}
Array1D(int *a, int n)
{
this->a = a;
this->n = n;
}
Array1D(Array1D &cp)
{
cp.a = a;
cp.n = n;
}
int readArray1D(char*filename) //Hàm đọc danh sách Array1D
{
int a[10];
fstream file("input.txt", ios::in);
if (!file)
{
cout << " file khong hop le ";
return 0;
}
file >> this->n;
this->a = new int[this->n];
int i = 0;
while (!file.eof())
{
file >> a[i];
i++;
return 1;
}
file.close();
}
int writeArray1D(char* filename)//Hàm ghi Array1D ra file
{
fstream file("output.txt", ios::out);
if (!file)
{
cout << " file khong hop le ";
return 0;
}
file << this->n;
for (int i = 0; i < this->n; i++)
{
file << this->a[i] << " ";
file.close();
return 1;
}
}
void show()
{
for (int i = 0; i < this->n; i++)
{
cout << this->a[i] << " ";
}
}
};
void main()
{ Array1D a;
a.readArray1D("input.txt");
a.show();
a.writeArray1D("output.txt");
system("pause");
}
Bài liên quan