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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2012, 18:02   #1
Alex_Dep
Пользователь
 
Регистрация: 18.01.2012
Сообщений: 26
По умолчанию сортировка(банарный файл)

Здравствуйте не могу понять как сортировать бинарный файл ( так что бы он сортировал внутри самого файла), подскажите или помогите доделать программу. вот мой код
Код:
#include <iostream>
#include <fstream>
#include <locale>
using namespace std;
struct w
{
	char fam[20];
	char city[20];
	char street[20];
	int year,house,flat;
};


w * EnterData(int &n)
{
	setlocale(LC_ALL, "Russian");
	setlocale(LC_ALL, "rus");

	ifstream in ("in.txt",ios_base::out | ios_base::binary);
	w *data= new w[n];
	for (int i=0; i<n ; i++) 
		in>>data[i].fam>>data[i].year>>data[i].city>>data[i].street>>data[i].house>>data[i].flat;
	return data;
}

void Soe(w *data,int n)
{	
	setlocale(LC_ALL,"rus");
	ofstream in ("int.bin",ios_base::out | ios_base::binary);
	for (int i=0; i<n ; i++) 
	{
for (int i=0; i<n; i++)
		
		if (strcmp(data[i].fam,data[i+1].fam)>0)
		{
	in<<data[i].fam<<" "<<data[i].city<<" "<<data[i].street
		<<" "<<data[i].house<<" "<<data[i].flat;
	in<<"\n"<<"  ";
	
		}
		in.ios_base::binary;
		in.close();
		
	}
	
}

void Ot(w *data,int n)
{	setlocale(LC_ALL,"Russian");
	setlocale(LC_ALL,"rus");
	ofstream out ("out.bin",ios_base::out | ios_base::binary);
	for (int i=0; i<n ; i++) 
	{
for (int i=0; i<n; i++)
		if (strcmp(data[i].city,"Krasnoyarsk")==0)
		if (strcmp(data[i].street,"Kirenskogo")==0)
		{
	out<<data[i].fam<<" "<<data[i].city<<" "<<data[i].street
		<<" "<<data[i].house<<" "<<data[i].flat;
	out<<"\n"<<"  ";
	
		}
		out.ios_base::binary;
		out.close();
		
	}
	
}
//функции
int main ()
{
	int n;
	n=7;
	w *data= EnterData(n);
	Soe(data,n);
	Ot(data,n);
}
void Soe(w *data,int n) - тут должна быть сортировка, но я не понимаю как это сделать надо
Alex_Dep вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типизированный файл.Рандомная сортировка nidaime Паскаль, Turbo Pascal, PascalABC.NET 3 17.05.2012 16:27
Ввод цифр из 2 файлов, сортировка и запись их в третий файл. kish1122 Помощь студентам 0 20.12.2011 17:26
Типизированный файл, сортировка по убыванию. Pumus Помощь студентам 4 20.03.2009 12:27
Задача:поиск и сортировка.(файл произвольного размера) xxxBITxxx Помощь студентам 3 11.01.2009 19:48
Консольная программа на Си: ввод, вывод, сортировка, сохранение в текстовый файл. zerg Помощь студентам 8 16.11.2007 12:57