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

Ошибка. ОС Windows инициировала точку останова в файле - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран количество гласных букв в строке http://www.cyberforum.ru/cpp-beginners/thread1200591.html
Написать программу, которая считывает текст из файла и выводит на экран количество гласных букв в строке текста
C++ Подсчет количества предложений и слов в предложении Нужно написать программу, которая в текстовом файле считает количество предложений и для каждого выводит количество слов в нем. Как-то не очень получается. Подскажите хоть в каком направлении дальше идти. Подсчет не верный, вывод тоже корявый. В чем ошибка не пойму. #include <iostream.h> #include <conio.h> #include <fstream.h> void main() { FILE *aa, *bb; char c,g; int i,n,j; i=1; http://www.cyberforum.ru/cpp-beginners/thread1200588.html
C++ Какие функции команды fseek() ?
Какие функции команды fseek() ?
Строки с++ C++
При прогоне игнорирует 16-ю строку Небольшая часть программы: char c = getchar(); int str = {0}; // Результирующая строка int k = 0;
C++ Написать программу, которая считывает текст из файла и выводит на экран количество гласных букв в строке текст http://www.cyberforum.ru/cpp-beginners/thread1200572.html
Написать программу, которая считывает текст из файла и выводит на экран количество гласных букв в строке текста
C++ Задача про поезд: будет ли поезд на платформе? помогите с задачей: поезд прибывает на станцию в а часов b минут и отправляется в с часов d минут. пассажир пришел на платформу в n часов m минут. будет ли стоять поезд на платформе? вот мой код,но нужно еще учесть 0.как это сделать? #include<iostream> using namespace std; int main() { setlocale(0, ""); int a,b,c,d,n,m; cout<<"Введите время прибывания поезда(часы и минуты... подробнее

Показать сообщение отдельно
1Prikol1
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 4

Ошибка. ОС Windows инициировала точку останова в файле - C++

05.06.2014, 22:24. Просмотров 352. Ответов 7
Метки (Все метки)

Доброго всем времени суток. Есть задание : Найти самое большое слово в файле и подсчитать количество таких слов.
Собственно написал программку и выдает ошибку , которая выше.Кто чем сможет помогите плиз, желательно с пояснением!Заранее спасибо.

Вот сам код
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream>
#include <cstdio>
#include <fstream>
#include <iomanip>
#include <limits>
#include <windows.h>
using namespace std;
int podchet(char *a,char* max,int j);
char* bolshoe(char *a);
 
 
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int i = 0,j = 0, m =0;
    char a;
    ifstream F;
    F.open ("G:\\Предметы 2 часть\\Информатика\\ЛР 8\\lol.txt",ios::in);
    ifstream f;
    f.open ("G:\\Предметы 2 часть\\Информатика\\ЛР 8\\lol.txt",ios::in);
    
    if (!F)
        cout << "Фаил не открылся!\n";
    if (!f)
        cout << "Фаил не открылся!\n";
 
        while (!F.eof())
        {
            F >> a;
            j++;
        }
    
        m = j;
    F.close();
    
    char *text = new char[m];
    
    i = 0;
    char sim;
    while (!f.eof())
        {
            f.get(sim);
            text[i] = sim;
            i++;
        }
    text[m] = '\0';
    f.close();
        
 
    
    char* s1;
    s1 = bolshoe(text);
 
    cout<<"Самое большое слово : "<<s1<<endl;
        if (podchet(text,s1,j) == 1) 
       cout<<"Самое большое слово встречается один раз"<<endl;
    else 
        cout<<"Количество повторений самого большого слова : "<<podchet(text,s1,j)<<endl;
 
        system("pause");
    }
    
char* bolshoe(char *text)
{
    
    char* max = new char[200];
    char* ptr=strtok(text,"№;:«»!@#$%^&*() _,-+={}[]\''/?><.");
    max=ptr;
    do {
            if(strlen(max)<strlen(ptr))  
        max=ptr;
    }
    while(ptr=strtok(NULL,"№;:«»!@#$%^&*() _,-+={}[]\''/?><."));
    return max;
}
 
int podchet(char *text,char* s1,int j)
{
 
        int r = 0,q;
        q=strlen(s1);
    int poisk = 0;
    for(int i1 = 0; i1 < j+1; i1++)
    {
        if(text[i1] == s1[poisk])
        {
            if(poisk == q)
            {
                r++;
                poisk = 0;
            }
            else
                poisk++;
        }
        else
            poisk = 0;
 
    }
    return r;
}
ну и вот , что пишет вижуалка

HEAP[laba8v2.exe]: Invalid address specified to RtlValidateHeap( 00720000, 00724C80 )
ОС Windows инициировала точку останова в laba8v2.exe.

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

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

Выведенное на экран окно содержит дополнительные данные для диагностики ошибки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru