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

Не всегда данные записываются в результирующий файл - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти наименьшее из нескольких целых чисел http://www.cyberforum.ru/cpp-beginners/thread432637.html
Напишите программу, которая находит наименьшее из нескольких целых чисел. Предположите, что первое считанное значение определять количество оставшихся значений. Найти макс и мин могу без проблем мне не понятно 2 предложение если например первое число 4 я должен 4 переменных создать и их сравнивать ?а если другое число ? Вообще объясните задания напишу код сам плс.
C++ Заполнение матрицы зигзагом Здравствуйте, уже второй день пытаюсь решить вариант "Г" из этого задания. В интернете есть варианты решений, но мой уровень в знании C++ пока что еще оставляет желать лучшего и разобраться толком не получается... Помогите, ну или хотя бы подскажите как это выглядит вообще. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread432633.html
Написать программу для вычисления функции F C++
Помогите!! (использовать оператор while) Написать программу для вычисления функции F, при этом, если не указано количество шагов (бесконечность), то вычисления проводить с точностью 10-4 (точность считается достигнутой, если очередное слагаемое или сомножитель по модулю меньше точность). Формула по которой делать задачу находится в файле Завдання.docx
Написать программу с использованием хранения последовательности чисел в памяти компьютера C++
Помогите пожалуйста сделать эту задач!! (использовать оператор for ...) Написать программу с использованием хранения последовательности чисел в памяти компьютера (количество чисел в последовательности считать известным): Даны действительные числа a1, ... a20. Преобразовать эту последовательность по правилу: больше с ai и a10 + i (i = 1, ..., 10) принять в качестве нового значения ai, а...
C++ Что такое CIN и COUT http://www.cyberforum.ru/cpp-beginners/thread432623.html
фоном звучит вопрос printf и scanf - осмелюсь написать что они используют те же механизмы не знаю покажется ли это кому то интересным, но если отбросить тонны проверок, форматирования, преобразований и вызовов которые осуществляются при использовании cin или cout, то останется совсем немного. 2 функции WIN API (в моем случае), и буфер. ну и еще одна переменная #include <Windows.h>
C++ Поменять местами наибольший элемент Даны действительные числа а1, а2,...аn. Поменять местами наибольший и наименьший элемент. подробнее

Показать сообщение отдельно
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016

Не всегда данные записываются в результирующий файл - C++

21.01.2012, 23:47. Просмотров 831. Ответов 13
Метки (Все метки)

Есть программа. Суть ее не важна, важно лишь то, что читает данные, затем записывает результаты
Запись идет в строках 61-64

Проблема: не всегда данные записываются в результирующий файл, бред какой-то
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
64
65
66
67
68
69
70
#include <vector>
#include <queue>
#include <iostream>
#include <vector>
#include <fstream>
#include <cstdlib>
 
#define file_in "test.in"
#define file_out "test.out"
 
int main ()
{
    setlocale(LC_ALL, "Russian");
    std::vector<std::vector<unsigned int> > g; 
    unsigned int count, s;
    std::fstream file(file_in, std::ios::in);
 
    if (file.fail())
    {
        std::cerr << "Файл не найден!" << std::endl;
        system("Pause");
        return EXIT_FAILURE;
    }
 
    file >> count;
    g.resize(count);
    for (unsigned int i = 0; i < count; ++i)
    {
        g[i].resize(count);
        for (unsigned int j = 0; j < count; ++j)
            file >> g[i][j];
    }
    file >> s;
    file.close();
 
    file.open(file_out, std::ios::out);
 
    std::queue<unsigned int> q;
    q.push(s);
 
    std::vector<bool> used (g.size());
    std::vector<int> p(g.size(), -1);
    used[s] = true;
 
    while (!q.empty())
    {
        int v = q.front();
        for (unsigned int i = 0; i < g[v].size(); ++i) 
        {
            if (!used[i] && g[v][i]) 
            {
                used[i] = true;
                q.push(i);
                p[i] = v; // parent;
            }
        }
        q.pop();
    }
 
    unsigned int result_size = p.size() - std::count(p.begin(), p.end(), -1);
    file << result_size << std::endl;
    for (unsigned int i = 0; i < count; i++)
        if (p[i] >= 0)
            file << i << " ";
    file.close();
 
    std::cout << "Задача решена" << std::endl;
    system("pause");
    return 0;
}
во вложении 2 входных файла
при скармирвании файла test2.in прога записывает результат в файл, при test.in - нет.

как это вообще возможно?
Вложения
Тип файла: rar test.rar (390 байт, 15 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru