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

Unhandled exception at at 0x75E717D2 in ConsoleApplication24.exe: Microsoft C++ exception: std::out_of_range at memory l

26.10.2018, 22:38. Просмотров 964. Ответов 2
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста, при проходе через последний цикл выдаёт вот такую ошибку:
Unhandled exception at at 0x75E717D2 in ConsoleApplication24.exe: Microsoft C++ exception: std::out_of_range at memory location 0x006FF0B0.
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
#include <iostream>
#include <fstream>
#include <string>
 
void main()
{
    using namespace std;
    string line;
    int i, j=1;
    int blok [25], txt [100];
    string p, p2, p3;
 
    setlocale (LC_ALL, "Russian");
 
    cout<<"Введите месторасположение блокнота:"<<endl;  
    setlocale (LC_ALL, ".866"); 
 
    j=1;
    while (j==1) {
    cin>>p;
    for (i=0;i<p.size();i++) {
        if (p[i]==char(92)) {
            p2=p2+char(92);
        }
        p2=p2+p[i];
 
    }
   ifstream in(p2); 
   if ((in.is_open())&&(!in.eof())) {j--;}
   else {setlocale (LC_ALL, "Russian");
         cout<<"Введён неверный адрес или блокнот пуст, повторите ввод:"<<endl;}
    }
    ifstream in(p2);
    getline(in,line,'\0');
 
    for (i=0;i<line.size();i++) {
        if(line[i]==' ') {j++;}
    }
    setlocale (LC_ALL, "Russian");
    if (j<25) {cout<<"Слишком лёгкий блокнот, увеличте количество слов (минимум - 25) и повторите ввод, перезапустив приложение!!!"<<endl;
               system ("pause");
               exit(0);}
    for (i=0, j=0;i<25&&j<100;i++, j++) {
        blok[i]=0;
        txt[j];
    }
 
    for (i=0, j=0;(i<line.size())||(j<25);i++,j++) {
        if (line.at(i)==' ') {blok[j]=blok[j]%255;}
        else {blok[j]=blok[j]+(int)(line.at(i)); j--;}
        
    }
    in.close();
    for (i=0;i<25;i++) {
        cout<<blok[i]<<" ";
    }
 
    setlocale (LC_ALL, "Russian");
 
    cout<<"Если вы хотите зашифровать текст, введите 1. Для Расшифровки введите 0"<<endl;
    cin>>i;
    if (i==1) {
        cout<<"Введите шифруемый текст (не более 100 символов (Без пробелов)):"<<endl;
 
    setlocale (LC_ALL, ".866");
    
    cin>>p3;
    for(i=0, j=0;(i<p3.size())||(j<25);i++,j++) {
        if (j==24) {j=0;}
        txt[i]=(int)(p3.at(i))+blok[j];
        cout<<char(txt[i]);
    }
 
    }
    else {
 
    }
    system ("pause");
}
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2018, 22:38
Ответы с готовыми решениями:

Выдаёт ошибку "Unhandled exception at 0x00007F exception: std::bad_alloc in memory location"
Добрый день, друзья не могли бы помочь разобраться, почему выдаёт такую ошибку? Вот #include...

Ошибка при написании класса: Unhandled exception std::bad_alloc at memory location
ПИшу свой клас Var, проблема в следующем из-за строчки first = first+1; вылетает ошибка ...

Ошибка: Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000.
всем привет! При использовании двумерного массива постоянно появляется ошибка :Unhandled exception...

Перегрузка assing operator. Unhandled exception at 0x103157aa (msvcr100d.dll) in 1exColonSynt_withColonSynt.exe: 0xC0000005: Access violation read
Значит есть линия (класс Line ) , которая состоит из точек (Class Point). Хочется Одной линии...

Unhandled exception
Вообщем вот рабочая программа, но в конце вываливается с ошибкой: Unhandled exception at ... Access...

2
PeterVl
13 / 10 / 3
Регистрация: 25.10.2018
Сообщений: 97
Завершенные тесты: 1
26.10.2018, 22:56 2
Лучший ответ Сообщение было отмечено UzkovD как решение

Решение

Распространённая ошибка: выход за пределы массива. Проверьте индексы.

Добавлено через 9 минут
C++
1
(i<p3.size())||(j<25)
В этом выражении j<25 уже не выполняется, в то время как i<p3.size==true. Следовательно, индекс j может просуммироваться больше 24, что и приводит к выходу за границы массива.
1
UzkovD
1 / 1 / 0
Регистрация: 26.10.2018
Сообщений: 44
26.10.2018, 23:21  [ТС] 3
PeterVl, Спасибо больше
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2018, 23:21

Unhandled exception
При запуске программы появляется окно с текстом &quot;Unhandled exception at 0x00CD488F in my...

Unhandled exception at 0x5014742A
Здравствуйте! Написала &quot;программу&quot; на лабу, вроде бы компилируется нормально, а как запускаю, так...

Исключение Microsoft C++: std::out_of_range
Вызывается исключение в функции, не пойму в чем дело, помогите объяснить, только начала работу с...


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

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

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