@GreatSpacer11

С++ Как считать данные из файла в 3 разных массива?

Всем привет, задача такая: "необходимо сгенерировать три случайных числовых массива
размером в 500 элементов, вывести эти массивы на экран и в текстовый файл, обнулить в
памяти массивы, снова вывести их на экран, считать из текстового файла записанные ранее
массивы"
Я описал класс массива, который содержит сам массив и методы генерации, записи в файл, обнуления и считывания.
застрял на месте считывания из файла
void readFile()
	{
		ifstream file_read; // создание объекта для чтения массива
		file_read.open("massivs.txt"); // открытие файла
		for (i = 0; i < SIZE; i++)
		{
			file_read >> razmer[i];
		}
	}

При считывании каждом считывании по новой открывается файл и считываются только первые i значений. Как сделать, чтобы он запоминал где остановился, или еще как нибудь решить эту проблему?
void zapisFile()
	{
		ofstream file_zapis;				
		file_zapis.open("massivs.txt", ios::app);		// открытие файла (добавление в конец)
		if (!file_zapis) {					// проверка открылся ли файл
			cout << "file net";
		}
		else
		{
			for (i = 0; i < SIZE; i++)		// запись массива в файл
			{
				file_zapis << razmer[i] << " ";
			}

			file_zapis.close();

		}

massiv a;
	massiv b;
	massiv c;
	a.generatee();
	b.generatee();
	c.generatee();
	cout << "Massiv a:";
	a.vivod();
	cout << "Massiv b:";
	b.vivod();
	cout << "Massiv c:";
	c.vivod();

	a.zapisFile();
	b.zapisFile();
	c.zapisFile();

	a.clearMassiv();
	b.clearMassiv();
	c.clearMassiv();
	a.readFile();
	a.vivod();

	b.readFile();
	b.vivod();

	c.readFile();
	c.vivod();
  • Вопрос задан
  • 971 просмотр
Решения вопроса 1
Например, описать класс, создающий N экземпляров класса массив, и реализовать методы записи и чтения в этом классе, а не классах массивов. Тогда счетчик у вас будет хранится в одном месте – в объекте этого нового класса
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы