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

Исключение не обработано

22.01.2019, 00:37. Показов 3700. Ответов 4
Метки нет (Все метки)

Входные данные
В первой строке следуют два целых числа n и m (2 ≤ n ≤ 105, 1 ≤ m ≤ 105) — количество станций в сети метро Бергорода и количество поездок, которые запланировал Поликарп.

Во второй строке следуют n целых чисел dist1, dist2,..., distn (1 ≤ disti ≤ 104) — расстояния между станциями i и (i + 1), distn — расстояние между станциями n и 1.

В каждой из следующих m строк следует по два различных целых числа xi и yi (1 ≤ xi, yi ≤ n, xi ≠ yi) — станции отправления и прибытия для i-й поездки.

Выходные данные
Посчитайте минимальное расстояние для каждой поездки. Обратите внимание, что Поликарп выбирает поезд для каждой поездки независимо от выборов для предыдущих поездок.
Выведите m целых чисел, по одному в строке. Число в i-й строке должно равняться минимальному расстоянию для i-й поездки, которого может добиться Поликарп, выбрав поезд «по часовой» или «против часовой». Обратите внимание, что Поликарп выбирает поезд для каждой поездки независимо от выборов для предыдущих поездок.
Пример(ы)
input.txt
6 5
42 8 15 4 23 16
3 5
1 6
6 1
4 2
4 2
output.txt
19
16
16
23
23
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <cmath>
using namespace std;
int main() {
    string temp, NumS, NumP, Length, Sin, Sout;
    int j = 0, n = 0, m = 0;
    ifstream fin("F://inputs.txt");
    // Считвыаем количество станций и количество поездок
    while (getline(fin, temp)) {
        for (int unsigned i = 0; i < temp.size(); i++) {
            if (temp[i] != ' ') {
                NumS.push_back(temp[i]);
                j = i;
            }
            else {
                for (int unsigned i = j + 1; i<temp.size(); i++) {
                    NumP.push_back(temp[i]);
                }
            }
        }
    }
    temp.clear();
    n = atoi(NumS.c_str());
    m = atoi(NumP.c_str());
    vector <int> dist;
    int l = 0;
    // Считвыаем расстояния между станциями 
    while (getline(fin, temp)) {
        for (int unsigned i = 0; i < temp.size(); i++) {
            if (temp[i] != ' ') {
                Length.push_back(temp[i]);
            }
            else {
                l = atoi(Length.c_str());
                dist.push_back(l);
                Length.clear();
            }
        }
    }
    temp.clear();
 
 
    // Считываем станции отправления и прибытия 
    int s = 0;
    vector <int> x;
    vector <int> y;
    for (int i = 0; i < m; i++) {
        while (getline(fin, temp)) {
            for (int unsigned i = 0; i < temp.size(); i++) {
                if (temp[i] != ' ') {
                    Sout.push_back(temp[i]);
                    j = i;
                }
                else {
                    s = atoi(Sout.c_str());
                    x.push_back(s);
                    for (int unsigned i = j + 1; i<temp.size(); i++) {
                        Sin.push_back(temp[i]);
                    }
                    s = atoi(Sin.c_str());
                    y.push_back(s);
                }
            }
        }
        temp.clear();
    }
    // Считывание минимального расстояния между станциями
    ofstream fout("F://outputs.txt");
    for (int i = 0; i < m; i++) {
        int b = 0, a = 0, r1 = 0, r2 = 0;
        if (y[i] > x[i]) {
            a = y[i] - x[i];
            for (int j = 0; j < a; j++) {
                r1 = dist[x[i] - 1 + j] + r1;
            }
            for (int g = 0; g <= (n + 1); g++) {
                b = y[i] + g - 1;
                if (b == n) {
                    b = 0;
                    for (int g = 0; g <(x[i] - 1); g++) {
                        r2 = dist[b + g] + r2;
                    }
                    break;
                }
                else {
                    r2 = dist[b] + r2;
                }
            }
            if (r1>r2) {
                fout << r2 << "\n";
            }
            else {
                fout << r1 << "\n";
            }
        }
        else {
            a = x[i] - y[i];
            for (int j = 0; j < a; j++) {
                r1 = dist[y[i] - 1 + j] + r1;
            }
            for (int g = 0; g <= (n + 1); g++) {
                b = x[i] + g - 1;
                if (b == n) {
                    b = 0;
                    for (int g = 0; g <(y[i] - 1); g++) {
                        r2 = dist[b + g] + r2;
                    }
                    break;
                }
                else {
                    r2 = dist[b] + r2;
                }
            }
            if (r1>r2) {
                fout << r2 << "\n";
            }
            else {
                fout << r1 << "\n";
            }
        }
 
    }
 
    fin.close();
    fout.close();
 
    return 0;
}
В строке 75 пишет: "Необработанное исключение по адресу 0x5470ED76 (ucrtbased.dll) в ConsoleApplication18.exe: Недопустимый параметр был передан функции, для которой недопустимые параметры вызывают неустранимую ошибку."
Подскажите пожалуйста, что делать
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2019, 00:37
Ответы с готовыми решениями:

Исключение не обработано
Установил opencv и для теста запустил программу.Стало выдавать &quot;Исключение не обработано&quot; #include...

Исключение не обработано в VC2017
добрый вечер . подскажите в чем ошибка #include &lt;opencv2/opencv.hpp&gt; using namespace cv;...

C# не обработано исключение
Ну что мне с этим делать, я уже заколебалась. Месяц прошел а проблема так и осталась.

Исключение не обработано
Всем добрый вечер! Подскажите пожалуйста, чем может быть вызвана ошибка. Не понимаю, что именно не...

4
142 / 91 / 34
Регистрация: 30.01.2018
Сообщений: 464
22.01.2019, 00:53 2
Цитата Сообщение от maddoger Посмотреть сообщение
В строке 75
Строки у вас и на сайте совпадают?
0
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 4
22.01.2019, 02:14  [ТС] 3
Спасибо, можете не помогать, я решил проблему

Добавлено через 1 минуту
Pashka Durov, Спасибо, можете не помогать, я решил проблему
0
142 / 91 / 34
Регистрация: 30.01.2018
Сообщений: 464
22.01.2019, 02:15 4
maddoger, если решили, то пишите как, поможете будущим поколениям
0
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 4
23.01.2019, 20:28  [ТС] 5
Pashka Durov, Я на самом деле очень тупо поступил, при считывании файла. Я создавал строку, в которую заносил значения из файла, а потом ее "оцифровывал", и все это много занимало места. В итоге получается большой код, в котором сложно найти ошибку. Но оказалось, что можно намного оптимальней поступить, при считывании чисел из файла.
Вот мой конечный код)
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
71
72
73
74
75
76
77
78
79
80
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main() {
    int j=0, n, m, i = 0;
    ifstream fin("input.txt");
    fin >> n;
    fin >> m;
    vector <int> dist(n);
    for (int i = 0; i < n; i++) {
        fin >> dist[i];
    }
    vector <int> x(m);
    vector <int> y(m);
    for (int i = 0; i < m; i++) {
        fin >> x[i];
        fin >> y[i];
    }
 
    ofstream fout("output.txt");
    for (int i = 0; i < m; i++) {
        int b = 0, a = 0, r1 = 0, r2 = 0;
        if (y[i] > x[i]) {
            a = y[i] - x[i];
            for (int j = 0; j < a; j++) {
                r1 = dist[x[i] - 1 + j] + r1;
            }
            for (int g = 0; g <= (n + 1); g++) {
                b = y[i] + g - 1;
                if (b == n) {
                    b = 0;
                    for (int g = 0; g <(x[i] - 1); g++) {
                        r2 = dist[b + g] + r2;
                    }
                    break;
                }
                else {
                    r2 = dist[b] + r2;
                }
            }
            if (r1>r2) {
                fout << r2 << "\n";
            }
            else {
                fout << r1 << "\n";
            }
        }
        else {
            a = x[i] - y[i];
            for (int j = 0; j < a; j++) {
                r1 = dist[y[i] - 1 + j] + r1;
            }
            for (int g = 0; g <= (n + 1); g++) {
                b = x[i] + g - 1;
                if (b == n) {
                    b = 0;
                    for (int g = 0; g <(y[i] - 1); g++) {
                        r2 = dist[b + g] + r2;
                    }
                    break;
                }
                else {
                    r2 = dist[b] + r2;
                }
            }
            if (r1>r2) {
                fout << r2 << "\n";
            }
            else {
                fout << r1 << "\n";
            }
        }
 
    }
    fout.close();
    fin.close();
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2019, 20:28

Исключение не обработано
создал свой код но почему то в одном месте не правильно...пожалуйста подскажите что такого я не так...

Исключение не обработано
&quot;Ссылка на объект не указывает на экземпляр объекта.&quot; public history() { ...

Telegram bot: исключение не обработано!
Писал код по видео в ютубе, там все работает, а у меня выдает что исключение не обработано:...

Исключение не обработано.- System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объекта."
Кто знает из-за чего возникает такая проблема? + Скриншот субд таблицы и исключение ///...


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

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

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