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

Укажите на ошибку - при запуске runtime error - C++

Восстановить пароль Регистрация
 
Anpel_171
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 24
16.11.2012, 01:59     Укажите на ошибку - при запуске runtime error #1
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 <cmath>
#include <iomanip>
#include <fstream>
#include <string>
 
using namespace std;
 
double determ(int** Arr, int size);
 
int main()
{
                bool prob=true;
        int min_length, i, nos, el, size=1;
        //int**Arr;
        string str;
 
         ifstream in("I:\\C++\\Lab5\\1 (works)\\trialin.txt");
 
        if(!in) //проверка на доступ к файлу
        {
            cerr << "Input file can not be opened!\n";
            getchar();
            return -1;
        }
 
        while( !in.eof() )
        {
 
 
                getline(in,str);
                while(prob!=false) //удаляем лишние пробелы в конце строк
                {
                        el=str.length()-1;
                        if (str[el]=='-')
                        {
                            str.erase(str.end()-1,str.end());
                        }
 
                        else prob=false;
                 }
 
                   prob=true;
 
                    while(prob!=false) //удаляем лишние пробелы в начале строк
                   {
                        if (str[0]=='-')
                        {
                            str.erase(0,1);
                        }
 
                        else prob=false;
                   }
 
                  prob=true;
                  if (!str.empty()) //удаляем лишние пробелы в середине строк
                   {
                                for(int i=1;i<str.length();++i)
                                {
                                                if (str[i]=='-')
                                                {
                                                        nos++;
                                                }
                                                else
                                                {
                                                          if (nos >0)
                                                        {
                                                                str.erase(i - nos,nos - 1);
                                                                i -= nos;
                                                                nos=0;
                                                        }
                                                }
                                }
                  }
                  cout<<str<<endl;
        }
               getchar();
        return 0;
}

не смотрите на то, что объявлено много лишнего, это просто кусок кода

компилятор не ругается, но при запуске runtime error
если закомментить это, то перестает крэшится, но и работает не правильно
C++
1
2
3
4
5
6
 if (nos >0)
                                                        {
                                                                str.erase(i - nos,nos - 1);
                                                                i -= nos;
                                                                nos=0;
                                                        }
В чем же дело?

Добавлено через 10 минут
собственно, забыл описать задание))

из файла считывается квадратная матрица. Этим кодом убираются лишние пробелы между элементами, до или после них (если такие есть)

Добавлено через 9 минут
все, вопрос решил))

тему можно удалять
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2012, 01:59     Укажите на ошибку - при запуске runtime error
Посмотрите здесь:

При запуске из среды программа работает, при запуске выполняемого файла выдает ошибку C++
Runtime Error C++
runtime error C++
Выбивает ошибку при запуске в «планировщике заданий» C++
Укажите на ошибку C++
Укажите на ошибку C++
C++ Ошибка при запуске проекта: error: no match for ‘operator>>’
C++ Runtime error при выборе одного из пунктов программы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LK
Заблокирован
16.11.2012, 14:26     Укажите на ошибку - при запуске runtime error #2
Вопрос решен покажите решение - может быть интересно другим участникам.
Удалять тему - вне вашей компетенции.
zhurbikk
4 / 4 / 0
Регистрация: 14.11.2012
Сообщений: 38
16.11.2012, 15:01     Укажите на ошибку - при запуске runtime error #3
переменную надо было инициализировать в начале
nos=0;
Yandex
Объявления
16.11.2012, 15:01     Укажите на ошибку - при запуске runtime error
Ответ Создать тему
Опции темы

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