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

Ошибка при запуске проекта - C++

Восстановить пароль Регистрация
 
heremustbename
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 2
24.06.2014, 06:06     Ошибка при запуске проекта #1
Доброго времени суток, спасибо что уделили время ^^ если есть возможность, не мог бы кто-нибудь помочь найти ошибку в коде? глаз уже замылился, а со стороны виднее. При запуске говорит Project Project2.exe raised exception class_STL::out_of_range with message 'Exception Object Address^ 0x5F5586'. Process stopped. Use Step or Run to continue и жалуется на вот эту строчку __stl_throw_out_of_range("basic_string").
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <iostream.h>
#include <fstream.h>
#include <string.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[]){
std::string a[100],b[100];
std::string f,f1,f2,p;
char q[100];
int i,j,k;
ifstream in("1.txt");
in.open(q);
f=q;
f1=q;
f2=f1.substr(1,f1.find("."));
do{
if(f2.find(" ")==0) f1.erase(1,f1.find("."));
else
f1.erase(1,f2.find(" "));
k=k+1;}
while(f2.length()>0);
for(i=1;i<k;i++){
if(f.find(" ")!=0) a[i]=f.substr(1,f.find(" ")); else
a[i]=f.substr(1,f.find("."));
f.erase(1,f.find(" "));}
while(f.length()>0){
if(f.find(" ")==0) f1.erase(1,f.find("."));
else
f1.erase(1,f.find(" "));
k=k+1;}
for(j=1;j<k;j++){
if(f.find(" ")!=0) b[j]=f.substr(1,f.find(" ")); else
b[j]=f.substr(1,f.find("."));
f.erase(1,f.find(" "));}
for(i=1;i<k;i++){
for(j=1;j<k;j++){
if(a[i]==b[j])cout<<a[i]<<" ";
else cout<<"no words like this";
}
}
return 0;
}
//---------------------------------------------------------------------------
Заранее спасибо за помощь~ извините если что не так оформила или не усмотрела похожую тему . _ .
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
24.06.2014, 06:30     Ошибка при запуске проекта #2
Цитата Сообщение от heremustbename Посмотреть сообщение
не мог бы кто-нибудь помочь найти ошибку в коде?
Задачу опишите? Из кода не очень понятно, что предполагается делать.
Для начала:

C++
1
2
3
4
5
6
7
char q[100]; 
int i,j,k; 
ifstream in("1.txt"); - открываем файл "1.txt"
in.open(q); - пытаемся открыть какой-то файл, имя которого должно бы быть в массиве q, но очевидно, его там нет.
 
f=q; - копируем в строки данные из того же массива.
f1=q;
heremustbename
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 2
24.06.2014, 06:34  [ТС]     Ошибка при запуске проекта #3
спасибо большое :3
Дан файл, содержащий текст на русском языке. Найти слово, встречающееся в каждом предложении, или сообщить, что такого слова нет.
Renji
1535 / 983 / 240
Регистрация: 05.06.2014
Сообщений: 2,963
24.06.2014, 06:38     Ошибка при запуске проекта #4
Use Step or Run to continue и жалуется на вот эту строчку __stl_throw_out_of_range("basic_string").
1) Пробежаться глазами по экрану, найти окошко с длинным списком имен процедур (стеком вызовов).
2) Потыкаться по этому списку пока не доберетесь до main, дважды кликнуть по строчке с этим самым main.
3) Посмотреть на какую строчку main курсор скакнул, отписаться сюда.

И сделать нормальные отступы.
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
24.06.2014, 07:17     Ошибка при запуске проекта #5
Цитата Сообщение от heremustbename Посмотреть сообщение
Найти слово, встречающееся в каждом предложении
Файл по одной строке можно читать так:

C++
1
2
3
4
5
6
7
   std::ifstream in("input.txt");
   while(in)
   {
      std::string in_line;
      std::getline(in,in_line);
      std::cout<<in_line<<"\n";      
   }
Добавлено через 22 минуты
Предложение по словам я бы разбирал так:

C++
1
2
3
4
5
6
7
8
   std::string test_phrase("hello, world!");
   std::stringstream ss(test_phrase);
   while(ss)
   {
      std::string word;
      ss>>word;
      std::cout<<word<<"\n";
   }
Yandex
Объявления
24.06.2014, 07:17     Ошибка при запуске проекта
Ответ Создать тему
Опции темы

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