Форум программистов, компьютерный форум CyberForum.ru

Сортировка файла без использования массивов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.88
Nyuta
 Аватар для Nyuta
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 33
06.05.2009, 00:54     Сортировка файла без использования массивов #1
помогите, плиз, задачка простенькая. (не знаю, как отсортировать без массива)

дан файл целых чисел, отсортировать его, не используя массивы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2009, 00:54     Сортировка файла без использования массивов
Посмотрите здесь:

Сортировка, без использования массивов C++
C++ Решить без использования массивов
C++ Задача на вычисление суммы без использования массивов
Найти наиболее часто встречающееся число без использования массивов C++
C++ Вывод всех перестановок без использования массивов
C++ Чтение и сравнение символов из файла без использования массива
Удалить числа из файла, без использования дополнительных массивов и файлов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
06.05.2009, 06:19     Сортировка файла без использования массивов #2
C++
1
2
3
4
5
6
7
8
9
         {
            fileOut.seekg(posp);
            fileOut << str2;
            posg = fileOut.tellg();
            fileOut << str1;
            fileOut.seekg(posg);
            posp = posg;
            continue;
         }
Учти, что исходный файл должен содержать только цифры разделенные пробелом, никаких букв, никаких знаков препинания.

Добавлено через 16 минут 9 секунд
Блин, отправил, а что отправил даже не глянул
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//---------------------------------------------------------------------------
#include <iostream.h>
#include <fstream.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
   ifstream fileIn;
   fstream fileOut;
   unsigned int count = 0, posg = 0, posp = 0;
   int str1, str2;
   fileIn.open("input.txt");
   fileOut.open("output.txt");
   if (!fileIn.is_open() || !fileOut.is_open())
   {
      cout << "File error" << endl;
      exit(1);
   }
   while (!fileIn.eof())
   {
      fileIn >> str1;
      fileOut << str1 << " ";
      count++;
   }
   fileIn.close();
   fileOut.clear();
   fileOut.seekg(0);
   for (int i = 0; i < count - 1; i++)
   {
      for (int j = 0; j < count - i -1; j++)
      {
         fileOut >> str1;
         posg = fileOut.tellg() + 1;
         fileOut >> str2;
         if (str1 > str2)
         {
            fileOut.seekg(posp);
            fileOut << str2 << " ";
            posg = fileOut.tellg();
            fileOut << str1 << " ";
            fileOut.seekg(posg);
            posp = posg;
            continue;
         }
         else
         {
            fileOut.seekg(posg);
            posp = posg;
            continue;
         }
      }
      fileOut.clear();
      posg = posp = 0;
      fileOut.seekg(posg);
   }
   fileOut.close();
   system("pause");
   return 0;
}
//---------------------------------------------------------------------------
Nyuta
 Аватар для Nyuta
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 33
06.05.2009, 08:11  [ТС]     Сортировка файла без использования массивов #3
не компилится(
а что именно делает директива pragma?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
06.05.2009, 08:18     Сортировка файла без использования массивов #4
Каким компилятором пользуешься? Этот пример я на Borland C++ Builder 6 делал.
Nyuta
 Аватар для Nyuta
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 33
06.05.2009, 08:24  [ТС]     Сортировка файла без использования массивов #5
Dev-C++

Добавлено через 4 минуты 47 секунд
расскажи, плиз, что делают директивы pragma hdrstop и pragma argsused
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
06.05.2009, 08:54     Сортировка файла без использования массивов #6
Если не ошибаюсь, сделай такой заголовок
C++
1
2
3
#include <iostream>
#include <fstream>
using namespace std;
Цитата Сообщение от Nyuta Посмотреть сообщение
расскажи, плиз, что делают директивы pragma hdrstop и pragma argsused
#pragma command вроде бы устанавливает различные опции для компилятора, что делают hdrstop argsused как то не интересовался, их builder сам добавляет в каждый новый проект, в принципе можешь их удалить.
Nyuta
 Аватар для Nyuta
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 33
06.05.2009, 08:56  [ТС]     Сортировка файла без использования массивов #7
спасибо большое. скачаю Borland C++
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
06.05.2009, 11:23     Сортировка файла без использования массивов #8
Возможно кроме входного файла input.txt, заполненого числами через пробел, придется создать самой файл output.txt, только пустой.
Вложения
Тип файла: rar filesort.rar (96.6 Кб, 88 просмотров)
Nyuta
 Аватар для Nyuta
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 33
06.05.2009, 11:54  [ТС]     Сортировка файла без использования массивов #9
все заработало после повторной установки борланда. а как вывести содержимое этих текстовых файлов на экран, чтобы сравнить результаты, не открывая текстовые файлы вручную?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
06.05.2009, 12:05     Сортировка файла без использования массивов #10
Что-то в этом роде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
fileIn.clear();
fileIn.seekg(0);
fileOut.clear();
fileOut.seekg(0);
cout << "Nachal'nyi fail" << endl;
while (!fileIn.eof())
{
   fileIn >> str1;
   cout << str1 << " ";
}
cout << endl << endl;
cout << "Otsortirovannyi fail" << endl;
while (!fileOut.eof())
{
   fileOut >> str1;
   cout << str1 << " ";
}
cout << endl << endl;
только fileIn.close() в 28 строке перениси в конец файла к fileOut.close()
Nyuta
 Аватар для Nyuta
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 33
06.05.2009, 12:21  [ТС]     Сортировка файла без использования массивов #11
а, начиная с какой строчки, это надо вставить?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
06.05.2009, 12:42     Сортировка файла без использования массивов #12
После цикла for между 58 и 59 строками.
Nyuta
 Аватар для Nyuta
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 33
06.05.2009, 12:50  [ТС]     Сортировка файла без использования массивов #13
[IMG]http://i8.***********.nyud.net/i3/81/3c/53545a2de5ddf0906ce404da831a.jpeg[/IMG]
в конце 2го файла на экране появляется мусор (в самом .txt его нет)
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
06.05.2009, 14:01     Сортировка файла без использования массивов #14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
while (!fileIn.eof())
   {
      fileIn >> str1;
      if (!fileIn.fail())
         cout << str1 << " ";
   }
   cout << endl << endl;
   cout << "Otsortirovannyi fail" << endl;
   while (!fileOut.eof())
   {
      fileOut >> str1;
      if (!fileOut.fail())
         cout << str1 << " ";
   }
   cout << endl << endl;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2009, 20:11     Сортировка файла без использования массивов
Еще ссылки по теме:

Числа Фибоначчи без использования рекурсии и массивов C++
Найти максимальный по модулю член последовательности без использования массивов C++
C++ Шейкерная сортировка без использования while цикла
Поменять местами содержимое файлов - C++ без использования третьего файла C++
Создать массив структур без использования массивов и нотации массивов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nyuta
 Аватар для Nyuta
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 33
12.05.2009, 20:11  [ТС]     Сортировка файла без использования массивов #15
все просто супер) спасибо тебе огромное
Yandex
Объявления
12.05.2009, 20:11     Сортировка файла без использования массивов
Ответ Создать тему
Опции темы

Текущее время: 05:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru