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

Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j); - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.63
naa17
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 47
26.05.2014, 21:02     Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j); #1
Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j);

Запутался, объясните, пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2014, 21:02     Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j);
Посмотрите здесь:

C++ что значит "поставить контроль памяти"? (в динамическом массиве)
Что значит "знать" какой-либо язык программирования? C++
C++ Как принять код клавиши, а вписать саму клавишу? (Принимает "57", что означает "9")
C++ Написать программу что меняло слово "кукушка" на "груша", с помощью стека
Переписать в файл О все элементы файла К с заменой в них символа "0" на символ "1" и наоборот C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
monolit
179 / 179 / 21
Регистрация: 24.03.2011
Сообщений: 641
Завершенные тесты: 1
26.05.2014, 21:07     Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j); #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
%d - целое число.
К примеру, если fprintf(f, "%d <> %d\n", 5, 6), то в файл f запишется строка "5 <> 6" и произойдет переход на новую строку ('\n'). Короче, проще погуглить справку по printf...
naa17
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 47
26.05.2014, 21:23  [ТС]     Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j); #3
не могу понять что не так.. все перепробовал.. может поможете?

Хотел реализовать следующее:

Если вершина существует, то записываем её индекс и знак "-"

а потом, если она имеет в списке смежности другую вершину(ы) то записываем их.

Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (int i = 0; i < 100; i++)
    {
        if (!adj[i].e)
        {
            continue;
            fprintf(f,"\n%d - ", i);
        }
 
        for (int j = 1; j < 100; j++)
        {
            if (adj[i].exist(j))
                fprintf(f,"%d", j);
        }
    }
monolit
179 / 179 / 21
Регистрация: 24.03.2011
Сообщений: 641
Завершенные тесты: 1
26.05.2014, 21:30     Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j); #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
continue все-таки местами поменяй с fprintf. Всего-лишь надо было код посмотреть - очевидно же, что после continue ничего не выполнится в этой итерации.
naa17
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 47
26.05.2014, 22:12  [ТС]     Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j); #5
а вот теперь из файла..

почему-то тоже неправильно добавляет, подскажите?

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
void Graph::load(const char *s)
{
    FILE *f = fopen(s, "r");
 
    if (!f) {
        cout << "File doesn't exist\n";
        return;
    }
 
    int x, y, j;
 
    for (int i = 0; i < 100; i++)
    if (adj[i].e)
        adj[i].makenull();
 
    while (fscanf(f, "%d - %d%d\n", &j, &x, &y) == 3)
    {
        if (!adj[x].e)
            addvertex(x); //добавление вершины
        if (!adj[y].e)
            addvertex(y); //добавление вершины
        addedge(x, y); //добавление ребра
    }
 
    fclose(f);
}
monolit
179 / 179 / 21
Регистрация: 24.03.2011
Сообщений: 641
Завершенные тесты: 1
26.05.2014, 23:27     Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j); #6
Сдается мне, в файле все лежит не так, как вы предполагаете (судя по коду записи)... в while'е просто выводите в консоль, что там читаетсяв j, x, y, и должны разобраться, в чем причина.
Yandex
Объявления
26.05.2014, 23:27     Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j);
Ответ Создать тему
Опции темы

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