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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.63
naa17
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 47
#1

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

26.05.2014, 21:02. Просмотров 1155. Ответов 5
Метки нет (Все метки)

Что значит "%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++ Выводит значение "f". Что это значит?
Что значит "знать" какой-либо язык программирования? C++
Как доказать, что при "а = b" на место "а" возвращается ссылка? C++
C++ Что значит ошибка "exponent has no digits"?
C++ Что значит "распределение ресурсов микропроцесора"
C++ #include "Sales_item.h" - ошибка "включаемый файл включает самого себя"
C++ Что значит "Косвенная адресация к элементам массива"
C++ Что значит? ostream_iterator<int>(cout, " ");
C++ Что значит ":" после параметров функции
Что значит "в поле шириной 10 символов"? C++
Что значит запись char massiv[] = "text" ? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
monolit
180 / 180 / 21
Регистрация: 24.03.2011
Сообщений: 647
Завершенные тесты: 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
180 / 180 / 21
Регистрация: 24.03.2011
Сообщений: 647
Завершенные тесты: 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
180 / 180 / 21
Регистрация: 24.03.2011
Сообщений: 647
Завершенные тесты: 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);
Ответ Создать тему
Опции темы

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