C++ 파일 입출력 질문

조회수 1168회
#include <iostream>
#include <fstream>
using namespace std;
class Array
{
private:
    int M;
    int n;
    int **array;
public:
    Array(int M, int n) {
        this->M = M;
        this->n = n;
        this->array = new int*[M];
        for (int i = 0; i < M; i++) {
            array[i] = new int[n];
            for (int j = 0; j < n; j++) {
                array[i][j] = 0;
            }
        }
    }
    ~Array()
    {
        delete[] array;
    }

    void input() {
        ofstream out("Array2.txt");
        for (int i = 0; i < M; i++) {
            for (int j = 0; j < n; j++) {
                out << array[i][j];
            }
        }
        out.close();
    }

    void print(int **array) {
        ifstream in;
        in.open("Array2.txt");
        for (int i = 0; i < M; i++) {
            for (int j = 0; j < n; j++) {
                in >> array[i][j];
            }
        }
    }
};
int main()
{
    int M, n;
    cout << "원하는 행과 열을 순서대로 입력하세요 : ";
    cin >> M >> n;
    Array  arr(M, n);

    cout << "배열 크기에 맞게 숫자를 입력하세요 : ";
    arr.input();
    arr.print(**arr);
    return 0;
}

2차원 배열을 입출력하는 프로그램인데.. 그냥 cout, cin을 이용하면 오류없이 잘 끝내지만, 이상하게 fstream 을 사용하면 자꾸 오류가 나네요..

그리고 추가로 print 함수에 꼭 매개변수를 넣고 싶은데, 이상하게 메인에서 함수에 파라미터를 넣으면 오류가 나더라구요 ㅠㅠㅠ

오버로딩을 추가로 해야 하는 프로그래밍인지라 부탁드립니다.

수정해주시면 감사하겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 질문인지 알고 눌렀는데 수정요청이네요? 정영훈 2018.3.27 21:07

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)