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

С помощью очереди за один просмотр файла напечатать элементы файла в заданном порядке - C++

Восстановить пароль Регистрация
 
krasata
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 12
13.12.2011, 09:44     С помощью очереди за один просмотр файла напечатать элементы файла в заданном порядке #1
Сформировать файл из вещественных чисел и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все отрицательные числа, а затем все положительные числа, сохраняя исходный порядок чисел в каждом случае
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2011, 09:44     С помощью очереди за один просмотр файла напечатать элементы файла в заданном порядке
Посмотрите здесь:

C++ Двоичные файлы: Переписать элементы первой половины файла в обратном порядке, а второй в исходном
Создать новый файл, содержащий элементы исходного файла в обратном порядке C++
C++ Файлы:Напечатать все элементы типизированного файла
Используя стек напечатать содержимое текстового файла, выписывая символы каждой его строки в обратном порядке. C++
Напечатать все элементы типизированного файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2908 / 1337 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
13.12.2011, 12:24     С помощью очереди за один просмотр файла напечатать элементы файла в заданном порядке #2
Java
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
    private static final Random random = new Random();
    static void createFile(String fileName) throws IOException {
        DataOutputStream file = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(fileName)));
        for (int i = 0; i < 100; ++i) {
            double value = random.nextDouble() * 11 - 5;
            file.writeDouble(value);
            System.out.format("%3.2f ", value);
        }
        System.out.println();
        file.close();
    }
    static Queue<Double> readFile(String fileName) throws IOException {
        Queue<Double> queue = new LinkedList<Double>();
        DataInputStream file = new DataInputStream(new BufferedInputStream(new FileInputStream(fileName)));
        try {
            while (true) {
                double value = file.readDouble();
                queue.add(value);
            }
        } catch (EOFException e) {
            // catching EOF
        }
        file.close();
        return queue;
    }
    static void printQueue(Queue<Double> queue) {
        while (!queue.isEmpty() && queue.peek() < 0)
            System.out.format("%3.2f ", queue.poll());
        if (!queue.isEmpty()) {
            Double value = queue.poll();
            printQueue(queue);
            System.out.format("%3.2f ", value);
        }
    }
    public static void main(String... args) throws IOException {
        createFile("Temp");
        Queue<Double> queue = readFile("Temp");
        printQueue(queue);
    }
krasata
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 12
13.12.2011, 12:54  [ТС]     С помощью очереди за один просмотр файла напечатать элементы файла в заданном порядке #3
Спасибо конечно! но оно не работает!=\
lemegeton
 Аватар для lemegeton
2908 / 1337 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
13.12.2011, 14:22     С помощью очереди за один просмотр файла напечатать элементы файла в заданном порядке #4
Ошибки какие?

Добавлено через 40 секунд
Ты же правда не просто скопипастил текст в файл?
krasata
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 12
13.12.2011, 14:40  [ТС]     С помощью очереди за один просмотр файла напечатать элементы файла в заданном порядке #5
А есть код решение этой задачи попроще?
тут сильно сложный код!=)
lemegeton
 Аватар для lemegeton
2908 / 1337 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
13.12.2011, 15:43     С помощью очереди за один просмотр файла напечатать элементы файла в заданном порядке #6
Сорок. Строчек. Кода.
"Как поместить жирафа в холодильник? Открыть холодильник, поместить жирафа, закрыть холодильник."
Так и тут. Сформировать, прочитать, вывести -- создается файл, читается файл, печатается очередь. Куда уж проще-то, жеваный крот?!

Не по теме:

Может как-то и можно упростить код, выводящий очередь на экран, но мне лень думать. Да и не велик он.



Другое дело, что с помощью очереди эту задачу решать -- это как двигатель перебирать через выхлопную трубу.
Yandex
Объявления
13.12.2011, 15:43     С помощью очереди за один просмотр файла напечатать элементы файла в заданном порядке
Ответ Создать тему
Опции темы

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