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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2011, 18:31   #1
proag
Пользователь
 
Регистрация: 06.11.2010
Сообщений: 15
По умолчанию файлы с++

Уже третий день думаю над таким заданием: Дан файл input , эл-ты которого располагаються столбцом. Требуеться написать программу, которая отсортирует эл-ты файла по возрастанию и выведет отсортированый вариант в файл output. Массивами пользовать нельзя, так оговорено в условии.

Вот что я написал, но не работает. Использовал принцип пузырьковой сортировки:

Код:
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
void main()
{
int i , j;
	int number, n = 0;
	int number1, number2; // сюда считаваються по 2 значения из 
	                      // файла для пузырьковой сортировки
	int length;
	fstream f("E:\\hhh.txt");
		if(!f) 
		{
			cout<<"File not open\n";
						exit(1);
		}
		ofstream G("E:\\G.txt");

    f.seekg (0, ios::end); // определяем количество символов 
	length = f.tellg(); // в файле
	f.seekg (0, ios::beg);
    cout<<"length of file = "<<length<<endl;

for(i = 0; i < length ; i += 3)
{	
for(j = length - 1; j >= i; j -= 3)
{
f.seekg(j);    //здесь читает 2 чимвола с конца
f>>number1;
f.seekg(j - 3);
f>>number2;

if(number1 < number2)
{
f.seekp(j - 3); //здесь перезаписываються числа, но по ходу не
                    //меняються со старыми , а записываються после старых:(
f<<number1;

f.seekp(j);
f<<number2;
}

f.seekg(j);
f>>number;
G<<number<<endl;
}
}
f.close();
G.close();
}
Может быть и сам исправлю, но не понимаю сейчас как считывать с конца по одному числу и менять старые числа на новые в файле

Последний раз редактировалось proag; 04.02.2011 в 18:34.
proag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не сохраняет файлы (Создает файлы пустышки) Rock231 Помощь студентам 2 25.12.2010 12:31
Файлы данных.Типизированные файлы. вылка Помощь студентам 6 17.05.2010 15:42
Файлы Killbrum Помощь студентам 2 27.08.2008 08:55
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53