Не получается внести данные из файла в массив и обратно

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

введите сюда описание изображения

Создание файлов и переноса данных файла в массив для редактирования в C++ Примечание: цифры 1 2 3 в файле это вводимые при создании файла Задание: Создать двоичный файл, куда записать n целых чисел. Найти разность между суммой простых чисел, находящихся в файле и максимальным значением файла.

Код:

#include <iostream>
#include <fstream>
#include <iomanip>
#include <stdlib.h>

using namespace std;

int main()
{
   //Часть кода отвечающего за создание файла
    int i, n;
    int a;
    ofstream f;
    f.open("D:\\abc.txt");
    cout << "n=";
    cin >> n;
    for (i = 0; i < n; i++)
    {
       cout << "a=";
       cin >> a;
       f << a << "\t";
    }
    f.close();
    //Часть кода отвечающие за выполнение задания
    ifstream h;
    int* c;
    float sum, es, z;
    c = new int[100];
    h.open("D:\\abc.txt", ios::in);
    if (h)
    {   
        for (i = 0; i < n; i++)
        {
           h >> c[n];
           if (!f.eof())
           {
              break;
           }
           n++;

        }
    }
    else
    {
       cout << "File not found\n";
    }
    for (i = 0; i < n; i++)
    {
      sum = sum + c[n];// Сумма всех членов массива
      if (c[n] % 2 != 0)
      {
         es = es + c[n];//сумма всех простых чисел в массиве
      }
    }
    cout << sum << "\n";
    cout << es << "\n";
    z = es - sum;
    cout << z;
    h.close();
    ofstream g;
    g.open("D:\\abc.txt", ios::app);
    g << "\t";
    for (int i = 0; i < n; i++)
    {
       g << c[n] << "\t";
    }
    g.close();

}


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