Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с полем объекта и for_each http://www.cyberforum.ru/cpp-beginners/thread699136.html
Доброй ночи, форум:) Собственно, прошу анализа и совета... В мейне создается объект и используется как предикат или функтор, не уверен как правильно. statistic SS(1); for_each(ii =...
C++ Предупреждения Possible use of '...' before definition Написал программу: #include <iostream.h> #include <conio.h> #include <math.h> #define eps 0.0001 float element_n(int n) { cout<<"Input n: "; cin>>n; http://www.cyberforum.ru/cpp-beginners/thread699120.html
Критическая секция и внешний элемент C++
#include<iostream> #include<windows.h> using namespace std; struct zayavka { int num1; int num2; int res; int oper;//1=сложение,2=вычитание,3=умножение,4=делениею
C++ Произведение элементов массива
Подсчитать произведение 10 чисел. Почти все получается, что-то не так с произведением, выдаёт неправильное число, помогите пожалуйста! #include "stdafx.h" #include <stdio.h> #include...
C++ В последовательности получить сумму всех членов http://www.cyberforum.ru/cpp-beginners/thread699092.html
Текст задачи: Даны натуральное число n, целые числа a, x_1, … , x_n. Если в последовательности x_1, … , x_n есть хотя бы один член, равный a, то получить сумму всех членов, следующих за первым таким...
C++ Сортировка пузырьком #include <stdio.h> #include <iostream> #include <conio.h> #define M 10 void main() { int i,j,n,k; int m; setlocale(LC_ALL,""); подробнее

Показать сообщение отдельно
Anpel_171
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 24

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

16.11.2012, 01:59. Просмотров 801. Ответов 2
Метки (Все метки)

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 минут
все, вопрос решил))

тему можно удалять
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru