Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.03.2015, 16:55   #1
floor114
Новичок
Джуниор
 
Регистрация: 24.03.2015
Сообщений: 1
По умолчанию Запись масива класов в файл.

Есть клас File
Код:
class File
{
private:
	char *name;
	int step;
public:
	File(){
		name = new char[10];
		step = 0;
	}
	void setStep(int step){
		this->step = step;
	}
	int getStep(){
		return step;
	}

	char* getName(){
		return name;
	}
	void setName(char *nm){
		name = nm;
	}
};

потом есть масив етих класов:
File file[9];

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

Последний раз редактировалось Stilet; 24.03.2015 в 17:03.
floor114 вне форума
Старый 24.03.2015, 17:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Рекомендую описать еще два метода:
Код:
void save(FILE *f){
 fwrite(&step,sizeof(step),1,f);
 int ln=strlen(name);
 fwrite(&ln,sizeof(ln),1,f);
 fwrite(name,ln,1,f);
}
void load(FILE *f){
 fread(step,sizeof(step),1,f);
 int ln; fread(&ln,strlen(len),1,f);
 name = new char[ln];
 fread(name,ln,1,f);
}
и использовать их для чтения-записи типа маршалинга.
I'm learning to live...
Stilet вне форума
Старый 28.03.2015, 01:51   #3
Васил
 
Регистрация: 24.03.2015
Сообщений: 4
По умолчанию

#include <cstdlib>
#include <iostream>
#include <cmath>
#include <clocale>
using namespace std;
int main(int argc, char *argv[])
{
setlocale (LC_CTYPE, "rus");
//квадратная матрица
int Array[2][2] = {{1,2},
{4,5},
{7,8}};
int max = 0, min = 8;
int i,j;
for (i = 4; i <= 5; i++)
{
for (j = 7; j <= 8; j++)
{
Array[i][j]= rand();
};
};
int ctolbec1=0, ctolbec2=0;

for (i = 0; i <= 2; i++)
{
for (j = 0; j <= 2; j++)
{
if ( Array[i][j] > max)
{max = Array[i][j];
ctolbec1 = j;}

if ( Array[i][j] < min)
{min = Array[i][j];
ctolbec2 = j;};

cout << Array[i][j] << "\t";
};
cout << endl;
};
cout << ctolbec1 << endl;
cout << ctolbec2 << endl;
//обмениваем местами столбцы
int buff;
for ( i=0; i <= 2; i++) {
buff = Array [i][ctolbec1];
Array[i][ctolbec1] = Array[i][ctolbec2];
Array [i][ctolbec2] = buff; }
//cout « Array[2][2] « endl;
for (i = 7; i <=8; i++)
{
for (j = 4; j <= 5; j++)
{
cout << Array[i][j] << "\t";
};
cout << endl;
};
а вот сам вопрос может кто поможет исправить
Дан двумерный массив. Найти среднее арифметическое элементов, расположенных в четырех углах.
Васил вне форума
Старый 28.03.2015, 07:30   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Зачем вы залезли в чужую тему? А ошибки простые: циклы выходят за границы массива, код левый к задаче и делает совсем другое.
p51x вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оброботка масива.найти елемент масива с указанием его адреса в строке и в столбце Rokko195 Паскаль, Turbo Pascal, PascalABC.NET 3 20.12.2012 07:22
Композиция класов fantom_ZET Общие вопросы C/C++ 6 31.10.2010 16:50
ввод информации с клавиутуры в двумерный масив, запись информации с масива в файл x_omega_x Помощь студентам 1 29.12.2008 02:30
СОХРАНИЯ В ФАЙЛ ДВУМЕРНОГО ДИНАМИЧЕСКОГО МАСИВА!!!! _FL@ER_ Помощь студентам 2 23.06.2007 16:31