Как мне пройтись по текстовому файлу еще раз?

Добрый вечер и день всем. Я совсем недавно начал серьезно программировать, и нигде не могу найти информацию как мне сделать вывод из файла. Я буду краток: мне нужно пройтись по 2-мерному массиву в текстовом документе, и вывести его в матрицу, я успешно подсчитываю кол-во его строк и столбов(по условию матрица - квадратная) и создаю матрицу, но я не могу снова пройтись по файлу чтобы ее заполнить, в чем собственно говоря ошибка,программа просто перестает работать


    setlocale(LC_ALL, "Russian");
        int input = 0;
        cout << "Вы хотите самостоятельно ввести матрицу или задать ее по формуле?" << endl;
        cout << "1 - Ввод матрицы из текстового файла" << endl;
        cout << "2 - Ручной ввод размера матрицы" << endl;
        cin >> input;
        double** A;
        if (input == 1) {
            ifstream fin;
            string path = "";
            cout << "Введите название файла" << endl;
            cin >> path;
            fin.open(path);
            if (!fin.is_open()) {
                cout << "Ошибка открытия файла" << endl;
            }
            else {
                string str;
                double count = 0;
                while (!fin.eof()) {
                    str = "";
                    fin >> str;
                    cout << str << endl;
                    count++;
                }
                count = sqrt(count);
                cout << count;
     
                A = new double* [count]; // через массив указателей
                for (int i = 0; i < count; i++) {
                    A[i] = new double[count];
                }
                int j =0, i = 0;
                while (!fin.eof()) {
                    while (i < count) {
                        while (j < count) {
                            A[i][j] = i + j; // заполнение как пример, в реальности я должен 
                             j++;         //  брать значение из текста
                        }
                        i++;
                        j = 0;
                    }
                }
     
                for (int i = 0;i < count;i++) {
                    for (int j = 0;j < count;j++) {
                        cout << A[i][j] << '\t';
                    }
                    cout << endl;
                }
            }
            return 0;
        }


Ответы (0 шт):