Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 6
1

ошибка в программе

17.12.2010, 20:33. Показов 1087. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Собственно уже не первый день пытаюсь написать программу которая из первого текстового файла вытаскивает все целые переменные и выводит их, вроде бы написал все правильно, но получаю вот такие ошибки:
ОС Windows инициировала точку останова в файл.exe.

Это может быть вызвано повреждением кучи и указывает на ошибку в файл.exe или в одной из загруженных им DLL.

Возможной причиной так же может быть нажатие пользователем клавиши F12, когда фокус принадлежит файл.exe

Выведенное на экран окно содержит дополнительные данные для диагностики ошибки

Необработанное исключение в "0x5c788378 (msvcr100d.dll)" в "файл.exe": 0xC0000005: Нарушение прав доступа при чтении "0x20202060".

текст программы:
#include<iostream>
#include<fstream>
using namespace std;
int main ()
{
char k;
int n=0;
ifstream x("input.txt");
while (x.get(k))
n++;
x.close ();
char*m;
m=new char[n];
ifstream x2("input.txt");
while (x2.getline(m,n))
{
int s=strlen(m);
for (int i=0; i<s; i++)
if (m[i]=='i'&&m[i+1]=='n'&&m[i+2]=='t'&&m[i+3]==' '&&m[i+4]!='m'&&m[i+5]!='a'&&m[i+6]!='i'&&m[i+7]!='n'&&(m[i+8]!='('||m[i+8]!=' ')&&m[i+4]!='*')
{
for (int j=i+4; j<s; j++)
if (m[j]=='=')
{
int k=j;
while (m[k]!=',')
{
m[k]=' ';
k++;
}
}
else
if (m[j]==',')
m[j]=' ';
else
cout << m[j] << ' ';
}
}
x2.close ();
delete [] m;
system ("pause");
return 0;
}
прошу помочь разобраться что я не так делаю
заранее благодарен
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2010, 20:33
Ответы с готовыми решениями:

ошибка в программе
Уважаемые программисты! Помогите, пожалуйста с программкой на FreePascal! Код: uses crt; type...

Ошибка в программе
uses GraphABC, ABCButtons; var a:array of ButtonABC; s,d:integer; f:text; begin while( s &lt;&gt;...

Ошибка в программе
Надо было сделать простейший калькулятор... program calc real a,b,c print*,'Vvedite a' read a...

Ошибка в программе
вот код программы: #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace...

2
22 / 22 / 2
Регистрация: 06.12.2010
Сообщений: 125
17.12.2010, 22:03 2
Лучший ответ Сообщение было отмечено loty как решение

Решение

C++
1
2
3
int s=strlen(m);
for (int i=0; i<s; i++)
if (m[i]=='i'&&m[i+1]=='n'&&m[i+2]=='t'&&m[i+3]==' '&&m[i+4]!='m'&&m[i+5]!='a'&&m[i+6]!='i'&&m[i+7]!='n'&&(m[i+8]!='('||m[i+8]!=' ')&&m[i+4]!='*')
что это за кошмар? чему, по-твоему равен m[i+1] (а тем более m[i+2] и даже m[i+8](!)), когда i==s-1? ты пытаешься читать данные за пределами твоей строки. вполне логично, что прога при этом падает.
вообще, там много сомнительных моментов, кроме этого.

P.S. научись пользоваться тегами кода для оформления постов. и форматируй код как-то более наглядно. в таком виде он нечитабелен.
0
1 / 1 / 1
Регистрация: 18.12.2010
Сообщений: 6
18.12.2010, 05:25 3
что это значит: "... которая из первого текстового файла вытаскивает все целые переменные ..."
0
18.12.2010, 05:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2010, 05:25
Помогаю со студенческими работами здесь

Ошибка в программе
Задание: Построить вектор L, каждый элемент которого равен минимальному элементу соответствующей...

Ошибка в программе
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { int...

Ошибка в программе
Даны натуральные числа An А2, ... Признак конца последовательности 0. Определить: а) количество и...

Ошибка в программе
Program P1; type Individ = class FIO: string; Document: string; public constructor...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru