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
0