1 / 1 / 0
Регистрация: 23.04.2014
Сообщений: 47
1

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

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

Author24 — интернет-сервис помощи студентам
Что значит "%d %d\n" в функции вывода в файл fprintf(f, "%d %d\n", i, j);

Запутался, объясните, пожалуйста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2014, 21:02
Ответы с готовыми решениями:

В файл С занести все цифры из А. Дополнить А прописными буквами из В, используя функции fprintf(), fscanf()
Создать файлы (А,В), используя для доступа к ним функции fprintf(), fscanf() и файл С. В файл С...

Как правильно использовать оператор вывода fprintf()
как в матлабе правильно использовать оператор вывода? fprintf('%, r) что в скобке должно быть?

Что значит rt и wt в функции fopen?
Что значит rt и wt в функции fopen? /* Открытие входного файла */ printf("%s",sPI);...

Что значит var в параметрах функции
Что значит var в парнаметрах функции, для чего она там? и что изменится если убрать var? function...

Что значит 2-й параметр функции OpenFile?
Какие значения он может принимать и что каждое значение значит.

5
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
26.05.2014, 21:07 2
Лучший ответ Сообщение было отмечено naa17 как решение

Решение

%d - целое число.
К примеру, если fprintf(f, "%d <> %d\n", 5, 6), то в файл f запишется строка "5 <> 6" и произойдет переход на новую строку ('\n'). Короче, проще погуглить справку по printf...
1
1 / 1 / 0
Регистрация: 23.04.2014
Сообщений: 47
26.05.2014, 21:23  [ТС] 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);
        }
    }
0
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
26.05.2014, 21:30 4
Лучший ответ Сообщение было отмечено naa17 как решение

Решение

continue все-таки местами поменяй с fprintf. Всего-лишь надо было код посмотреть - очевидно же, что после continue ничего не выполнится в этой итерации.
1
1 / 1 / 0
Регистрация: 23.04.2014
Сообщений: 47
26.05.2014, 22:12  [ТС] 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);
}
0
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
26.05.2014, 23:27 6
Сдается мне, в файле все лежит не так, как вы предполагаете (судя по коду записи)... в while'е просто выводите в консоль, что там читаетсяв j, x, y, и должны разобраться, в чем причина.
1
26.05.2014, 23:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2014, 23:27
Помогаю со студенческими работами здесь

Что значит & и * в параметрах функции?
Задача 1. Напишите функцию f(double&amp; a, double&amp; b, double c, double q), которая возвращает катеты...

Что значит такое обозначение функции?
Здравствуйте. В университете дали задание,которое звучит так: Доказать,что следующая функция...

что значит : после объявления функции
class SimpleFactory { public function createBicycle(): Bicycle { return new...

Что значит частичное применение функции?
(max 5) 43 Можете подсказать почему 43? Добавлено через 6 минут (div 4) 2 Подскажите...

Вычисление значений функции. Что здесь значит k?
y = a2 + b2, если k = 10. Вопрос такой, что здесь значит k?


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru