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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Andryuxa
Заблокирован
#1

Вылет при работе программы с неизвестной ошибкой - C++

07.01.2013, 12:41. Просмотров 301. Ответов 1
Метки нет (Все метки)

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
#include <iostream>
#include <cstring>
 
using namespace std;
 
int main()
{
    int x=0;   // хранит количество слов в строке
    int num;   // будет хранить номер самого длинного слова
    char start[1000]; // искомая строка
    char* end[x]; // слова
    gets(start);
    for(int i=0; i<strlen(start); i++)  // пока 'i' меньше, чем длина искомой строки проверять строку на пробелы и добавлять слова в переменную
    { 
          if(!isspace(start[i])) end[x]+=start[i]; // добавляем буквы в слово, если нет пробела
          else x++;   // если пробел, то следующее слово                            
    }
    for(int i=0; i<x; i++) // пока 'i' меньше, чем количество слов, срванивать слова
    {
            if(strlen(end[i])>strlen(end[i+1])) num=i; // если слова под 'i' боьше следующего, то номер самого длинного стновится 'i'
    }
    puts(end[num]); // вывести самое длинное слово
    cout<<num;  // и его номер
    system("pause");
    return 0;
}
По сути программа должна вывести самое длинное слово и его порядковый номер. Все компилируется, вводится строка, и программа вылетает. Что делать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2013, 12:41     Вылет при работе программы с неизвестной ошибкой
Посмотрите здесь:

C++ Создание массива при работе программы
Пауза при работе программы. C++
Ошибка при работе программы C++
Вылет программы для вычисления СЛАУ методом Жордана-Гаусса при исполнении C++
При отладке программы вылетает окошко с ошибкой: использование переменной без инициализации C++
Вылет программы при удалении динамического массива C++
Ошибка при работе программы C++
C++ Программа вылетает с неизвестной ошибкой
C++ Вылет программы при создании объекта
Крэш программы при работе с кострукторами C++
При работе программы выдаёт ошибку C++
C++ вылет из программы при выполнении

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт С++
1897 / 1429 / 106
Регистрация: 29.05.2011
Сообщений: 2,985
07.01.2013, 13:04     Вылет при работе программы с неизвестной ошибкой #2
Тут ошибка:
C++
1
2
3
int x=0;   // хранит количество слов в строке
 
char* end[x]; // слова
Во-первых, такое съест не любой компилятор. По стандарту размер автоматического массива должен быть константой.
Во-вторых, размер массива равен нулю, то есть в него нельзя ничего записывать и из него нельзя считывать. Массив не может изменять свой размер динамически.
Так что либо задавайте достаточно большой размер при создании массива, либо используйте векторы.
Yandex
Объявления
07.01.2013, 13:04     Вылет при работе программы с неизвестной ошибкой
Ответ Создать тему
Опции темы

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