Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 29.11.2017
Сообщений: 86
1

Как сделать,чтоб после выполнения программа выполнялась заново и считывала значения уже с другого файла

27.05.2018, 14:00. Показов 974. Ответов 3
Метки нет (Все метки)

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
#include "stdafx.h"
#include "algorithm" // для min, max 
#include "iostream" 
#include "fstream"
using namespace std;
const int INF = 100000;
int main()
{
    setlocale(LC_ALL, "rus");
    int e[10], mat[10][10],n,rad = INF; ;// Эксцентриситет вершин
        ifstream in("Graf1.txt");
        in >> n;
        printf("%d ", n);
        for (int i = 0; i<n; i++)
        {
            for (int j = 0; j<n; j++)
                in >> mat[i][ j ];
        }
        in.close();
        for (int i = 0; i<n; i++) {
            printf("\n");
            for (int j = 0; j<n; j++) {
                printf("%d ", mat[i][j]);
            }
        }
      // Алгоритм Флойда-Уоршелла
        for (int k = 0; k<n; ++k)
            for (int i = 0; i<n; ++i)
                for (int j = 0; j<n; ++j)
                    mat[i][j] = min(mat[i][j], mat[i][k] + mat[k][j]);
        // Нахождение эксцентриситета
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                e[i] = max(e[i], mat[i][j]);
            }
        }
        for (int i = 0; i < n; i++) {
            rad = min(rad, e[i]);
        }
        printf("\n\n\tРадиус Graf1= %d \n", rad); 
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2018, 14:00
Ответы с готовыми решениями:

Какие значения можно ввести для нижеприведённого кода, чтоб программа не выполнялась корректно
Какие значения можно ввести для ниже приведённого кода,чтоб не выполнялась корректно программа....

Программа считывает только первую строку файла,как сделать чтобы она считывала все строки
#include &lt;fstream&gt; #include &lt;iostream&gt; using namespace std; int main(int argc, char* argv) {...

как сделать чтоб команда выполнялась через некоторое время?
все в заголовке:)

как сделать чтоб функция выполнялась пока зажата ЛКМ?
Есть макрос наподобие этого: mouse_event((0x0001), -1, 3, 0, 0); Sleep(11);...

3
217 / 171 / 96
Регистрация: 15.04.2018
Сообщений: 680
27.05.2018, 14:03 2
Лучший ответ Сообщение было отмечено Pelmesh_ как решение

Решение

Что-то вроде такого?

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
#include "stdafx.h"
#include "algorithm" // для min, max
#include "iostream"
#include "fstream"
using namespace std;
const int INF = 100000;
int main()
{
    setlocale(LC_ALL, "rus");
    while(true){
        int e[10], mat[10][10],n,rad = INF; ;// Эксцентриситет вершин
 
        printf("Введите название файла: ");
        string s;
        cin >> s;
        ifstream in(s);
        in >> n;
        printf("%d ", n);
        for (int i = 0; i<n; i++)
        {
            for (int j = 0; j<n; j++)
                in >> mat[i][ j ];
        }
        in.close();
        for (int i = 0; i<n; i++) {
            printf("\n");
            for (int j = 0; j<n; j++) {
                printf("%d ", mat[i][j]);
            }
        }
        // Алгоритм Флойда-Уоршелла
        for (int k = 0; k<n; ++k)
            for (int i = 0; i<n; ++i)
                for (int j = 0; j<n; ++j)
                    mat[i][j] = min(mat[i][j], mat[i][k] + mat[k][j]);
        // Нахождение эксцентриситета
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                e[i] = max(e[i], mat[i][j]);
            }
        }
        for (int i = 0; i < n; i++) {
            rad = min(rad, e[i]);
        }
        printf("\n\n\tРадиус Graf1= %d \n", rad);
    }
    system("pause");
    return 0;
}
Почему вы пользуетесь сишными функциями ввода и вывода, когда есть cin cout?
0
0 / 0 / 0
Регистрация: 29.11.2017
Сообщений: 86
27.05.2018, 14:43  [ТС] 3
Спасибо все работает. Привык пользоваться и теперь так удобнее для меня стало.
0
217 / 171 / 96
Регистрация: 15.04.2018
Сообщений: 680
27.05.2018, 14:55 4
Pelmesh_, просто попробуйте

Ваше выражение printf("%d ", mat[i][j]); можно записать как cout << mat[i][j]; к примеру. Намного удобнее и меньше плясок с бубном, если не совсем понимаешь что к чему
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2018, 14:55

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как сделать, чтоб окно одновременно принимало сообщения и выполнялась какая-нибудь ф-ция
Опыт работы с &quot;окнами&quot; совсем небольшой (примеры из книг), вот решил сам попробовать. Сначала была...

Как сделать чтоб программа подставляла место Х разные значения?
Добрый день уважаемые форумчане. Подскажите пожалуйста по следующему вопросу: Имею вот такую...

Как сделать так, чтобы определённая часть кода выполнялась только в случае выполнения заданного условия?
Как сделать так чтобы элемент кода выполнялся после выполнения условия? Мне нужно сделать чтобы при...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.