С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 2
1

Ошибка сегментации при работе со строками

17.05.2017, 15:13. Показов 1001. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача: Дан файл содержащий строки вещественных чисел. Вычислить минимум и
максимум в каждой строке. Результат записать в файл.

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
void file_minmax(const char *name_in, const char *name_out)
{
    std::ifstream fin(name_in);
    double min[INT_MAX];
    double max[INT_MAX];
    int i;
    char *str = new char [INT_MAX];
    for (i = 0; fin.getline(str, INT_MAX); i++) { // считываем по строчке, пока не исчерпаем файл
        char *p = std::strtok(str, " ");
        min[i] = max[i] = std::stod(p);
        while (p != NULL) { // разбиваем строку на "слова", конвертируем в double, сравниваем с максимумом и минимумом 
            double temp = std::stod(p);
            if (max[i] < temp)
                max[i] = temp;
            if (temp < min[i])
                min[i] = temp;
            p = std::strtok(NULL, " ");
        }
    }
    delete [] str;
    fin.close();
    std::ofstream fout(name_out);
    for (int j = 0; j < i; j++)
        fout << min[j] << '\t' << max[j] << std::endl;
    fout.close();
}
Ошибка: zsh: segmentation fault (core dumped)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2017, 15:13
Ответы с готовыми решениями:

Ошибка при работе со строками
Доброго времени суток! Казалось бы, простая проблема, но разобраться пока что никак не удаётся....

Ошибка при работе со строками
Добрый день! Я писал программу, которая после приставки под вставляет символ 'Ъ'. Я её написал, но...

Ошибка при работе со строками - поиск и удаление в строке
void __fastcall TForm1::Button2Click(TObject *Sender) { Memo1-&gt;Clear(); String t; t =...

Ошибка при работе со строками
Не пойму, как именно работают ф-ии gets и puts. На gets программа просто вылетает. #include...

2
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
17.05.2017, 16:43 2
Тебе не хватит ни стека, ни динамической памяти под INT_MAX. Разумные размеры задавай.
0
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 2
18.05.2017, 01:32  [ТС] 3
да, проблема была в этом, спасибо!
0
18.05.2017, 01:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2017, 01:32
Помогаю со студенческими работами здесь

Ошибка при работе со строками
Привет! Имеется простой файл index html, в котором 2 поля и кнопка, для передачи параметров. ...

Логическая ошибка в работе со строками
компилятор ошибки не ловит, а возвращает не то что надо. //считанный текст кодирует в свинячую...

Аппаратная ошибка видео (Ошибка при работе с видеоустройствами привела к некорректной работе Windows).
Аппаратная ошибка видео. Последнее время во время игры Call of Duty: Modern Warfare 2 в...

Ошибка сегментации при записи строки
Доброго времени суток уважаемые форумчане!Помогоите исправить ошибку. Начну с условия задания,...

Ошибка сегментации при выводе графа
Вечер добрый, г-да программисты! Ниже приведены фрагменты из программы, описывающей и выводящей...

Ошибка сегментации при срабатывании деструктора
Всем привет. Помогите, пожалуйста, разобраться с деструкторами. Суть проблемы заключается вот в...


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

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