Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
IlushaMax
0 / 0 / 1
Регистрация: 09.04.2016
Сообщений: 84
#1

Signal 11 в IDEONE.COM - C++

05.02.2017, 22:32. Просмотров 200. Ответов 5
Метки нет (Все метки)

Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <iterator>
using namespace std;
int main(){
    vector<int> a;
    long n,n1,n2;
    cin>>n>>n1>>n2;
    copy(istream_iterator<int>(cin),istream_iterator <int> (),back_inserter(a));
    sort(a.begin(),a.end());
    if (n1>n2){swap(n1,n2);};
    double res=0.0;
    for(int i=a.size()-1;i>=a.size()-n1;i--){
        double sum=0.0;
        sum+=a[i];
        sum=sum/n1;
        res+=sum;
    }
    for(int i=a.size()-n1-1;i>=a.size()-n1-n2;i--){
        double sum=0.0;
        sum+=a[i];
        sum=sum/n2;
        res+=sum;
    }
    cout<<res;
    return 0;
}

Не могу понять в чем ошибка. Вроде связано как-то с выделением памяти. Подозреваю, что что-то напутал с векторами, поскольку сегодня впервые их попробовал и еще не знаю всех аспектов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2017, 22:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Signal 11 в IDEONE.COM (C++):

Подскажите онлайн компилятор, типа ideone - C++
Чтобы был С++14 и не зависал безбожно как вышеупомянутый ideone.

signal.h - C++
Доброго времени суток! Начал разбираться с сигналами и понял что как работать с ними под windows мало литературы... так вот, у меня есть...

Signal 11 (SIGSEGV) - C++
То ли я дурак, то ли лыжи не едут. Во время тестирования, прога проходит 6 тестов, на 7-ом возникает Run-time error с доп.информацией...

Ошибка выполнения signal 6 - C++
Происходит тут, причем вектор строк больше нигде не используется int n,m; cin&gt;&gt;n&gt;&gt;m; vector&lt;string&gt; tabl(n); Если...

Runtime Error, Signal 6 - C++
вопрос скорее теоретический, чем практический чем может быть вызван RE с возвращенным значением 6? нашел англоязычный сайт с таблицей...

Ошибка Signal: SIGABRT - C++
Здравствуйте. Есть задача. Вот условия: Вот мой код. Он компилируется, но перед выходом из программы вылезает ошибка (Signal:...

5
likehood
799 / 658 / 231
Регистрация: 25.12.2016
Сообщений: 2,196
Завершенные тесты: 3
05.02.2017, 22:56 #2
У меня нормально работает.
Возможно, при некоторых значениях n1 и n2 в 23 строке происходит выход за левую границу массива.

P.S. Кстати, значение переменной n нигде не используется, может здесь есть логическая ошибка.
0
IlushaMax
0 / 0 / 1
Регистрация: 09.04.2016
Сообщений: 84
05.02.2017, 22:57  [ТС] #3
Кажется понял в чем проблема. Может ли быть что когда ответ целое число, она ругается?
При тесте
2 1 1
1 5
Должно вывести 6,но выдает ошибку
При тесте
4 2 1
1 4 2 3
Ответ 6,5 без ошибки
0
likehood
799 / 658 / 231
Регистрация: 25.12.2016
Сообщений: 2,196
Завершенные тесты: 3
05.02.2017, 22:58 #4
Цитата Сообщение от IlushaMax Посмотреть сообщение
Может быть дать условие задачи?
Хуже не будет.
0
IlushaMax
0 / 0 / 1
Регистрация: 09.04.2016
Сообщений: 84
05.02.2017, 23:51  [ТС] #5
Кликните здесь для просмотра всего текста
Местные власти узнали о комбинаторных способностях Остапа Бендера и обратились к нему за помощью в вопросе урбанизации. Имеется n человек, которые хотят переехать жить в города. Состояние i-го из них равняется ai. Планируется построить два города и поселить в первый из них n1 человек, а во второй — n2 человек. Разумеется, каждый из n кандидатов может быть поселён не более, чем в один город. Таким образом, некоторое подмножество кандидатов размером n1 будут поселены в первый город, из оставшихся некоторое подмножество кандидатов размера n2 будут поселены во второй город, а остальным будет отказано в поселении.

Для улучшения показателей региона в глазах вышестоящего начальства местные власти решили выбрать соответствующие подмножества кандидатов таким образом, чтобы сумма средних арифметических состояний жителей этих двух городов была максимальна. Средним арифметическим состояний жителей города называется сумма всех состояний ai жителей города, поделённая на количество жителей (n1 или n2 соответственно). Деление следует осуществлять в вещественных числах без каких-либо округлений.

Помогите местным властям найти оптимальный способ заселить два города.
Входные данные

В первой строке входных данных записаны три числа n, n1 и n2 (1 ≤ n, n1, n2 ≤ 100 000, n1 + n2 ≤ n) — количество кандидатов на поселение в города, планируемое количество жителей первого города и планируемое количество жителей второго города соответственно.

Во второй строке записаны n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 100 000), i-е из которых соответствует уровню достатка i-го кандидата.
Выходные данные

Выведите одно вещественное число — максимально возможную сумму средних арифметических состояний жителей двух городов. Ваш ответ будет считаться правильным, если его абсолютная или относительная ошибка не будет превосходить 10 - 6.


Добавлено через 7 минут
Вообще условие достаточно непонятное с первого раза, поэтому вот цель: 1)отсортировать массив; 2)сделать так, чтобы n1 было меньше n2 3)посчитать сумму последних n1 элементов и найти среднее арифметическое 4)посчитать сумму последних n2 элементов массива (если убрать n1 последних) и найти второе среднее арифметическое 5) приплюсовать средние арифметические

Добавлено через 40 минут
Нашел ошибку.
0
likehood
799 / 658 / 231
Регистрация: 25.12.2016
Сообщений: 2,196
Завершенные тесты: 3
06.02.2017, 00:00 #6
Цитата Сообщение от IlushaMax Посмотреть сообщение
Нашел ошибку.
0
06.02.2017, 00:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2017, 00:00
Привет! Вот еще темы с ответами:

Signal: SIGABRT при delete[] - C++
Здравствуйте. Есть у меня такой метод: char *Request::addGetParam(char *link, const char *pKey, const char *val) const { char...

Ошибка в xcode signal sigabrt, c++ - C++
Делаю класс матриц, при компиляции вылизает ошибка &quot;Thread 1: signal SIGABRT&quot;. Возникает в диструкторе класса. Matrix::~Matrix() ...

Чем boost::signal отличается от std::function - C++
Чем boost::signal отличается от std::function ?

Program received signal SIGSEGV, Segmentation fault - C++
Когда запускаю дебагер: gdb ./preci Вюдает следуще. Я не могу понять с чем это могет быть связано. Код: GNU gdb 6.4.90-debian...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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