Не получается внести данные из файла в массив и обратно
Всем доброго времени суток .Я студент и прохожу курс программирования на с++ в институте. Я столкнулся с такой проблемой , при написании кода к заданию (его я прикреплю ниже) программа почему-то не записывает данные из файла в массив через поток для дальнейших преобразований данных и занесение их обратно в файл. Вот что появляется в файле:
Создание файлов и переноса данных файла в массив для редактирования в 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();
}
