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

Ошибка: subscript out of range - C++

Восстановить пароль Регистрация
 
Les_Paul
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 22
26.01.2013, 23:02     Ошибка: subscript out of range #1
При выполнении проги после ввода второй строки вылезает ошибка ("subscript out of range"), однако не получается локализовать ( отладку по шагам пробовал - не нашёл). Нужна помощь, хотя бы в указании на место ошибки.
Вот собственно код:
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
// task1.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <string>
#include "Sentence.h"
#include "Word.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    string snt;
    string wrd;
    
    setlocale(LC_ALL,"Russian");
    cout<<"Введите основную строку: ";
    getline(cin,snt);
    cout<<"Введите слово: ";
    getline(cin,wrd);
    string snt1 = Search(snt, wrd);
    cout<<"Конечная строка: "<<snt1<<endl;
    return 0;
}
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
#pragma once
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <string>
#include "Word.h"
 
using namespace std;
string Search(string snt, string wrd)
{
    int a=0;
    int b=0;
    int m=0;
    int j=wrd.length();
    int i=snt.length();
    string snt2;
    string snt1;
    
    for(int m=0;m<i;m++)    
    {
        snt2[m]=snt[m];
        if(snt[m]==' ')
        {
            a=b;
            b=m;
            if((b-a)!=j)
            {
                snt1+=snt2;
            }
            else
            {
                snt1+=wrd;
            }
        }
    }
    return snt1;
}
С уважением.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2013, 23:02     Ошибка: subscript out of range
Посмотрите здесь:

Ошибка String subscript out of range C++
Ошибка string subscript out of range C++
C++ Ошибка "String subscript out of range"
C++ Ошибка: Vector subscript out of range
C++ String subscript out of range
C++ Ошибка vector subscript out of range
C++ Ошибка expression string subscript out of range
C++ Ошибка при быстрой сортировке файла: "string subscript out of range"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
26.01.2013, 23:20     Ошибка: subscript out of range #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
snt2[m]=snt[m];
Допустим тут.
snt2 - пустая строка
Les_Paul
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 22
26.01.2013, 23:26  [ТС]     Ошибка: subscript out of range #3
сенк, разобрался
Yandex
Объявления
26.01.2013, 23:26     Ошибка: subscript out of range
Ответ Создать тему
Опции темы

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