Ошибка Floating point exception (core dumped)

323
09 июля 2022, 12:00

Есть код для деления чисел на наибольший общий множитель:

#include <iostream>
using namespace std;
int gcd(int a, int b) {
    return (a == 0) ? b: gcd(b % a, a);
}
 
int main() {
    int n, m = 0;
    cin >> n;
    int arr[n];
    for (int i = 0; i < n; i++) {
        int a;
        cin >> a;
        arr[i] = a;
        m = gcd(m, a);
    }
    for(int i = 0; i < n; i++) cout << arr[i]/m << " ";
    return 0;
}

На 6 тест выдает ошибку:

Failed test #6 of 10. Runtime error
Error:
Floating point exception (core dumped)

Не совсем понимаю, в чем проблема

Задача: Для умного города выбирают компанию, которая будет разрабатывать беспилотные автобусы. Для этого все компании-участники представили свои прототипы, а жюри оценивало проделанную работу каким-либо целым неотрицательным количеством баллов. Члены жюри сложили все свои оценки, чтобы получить итоговую оценку прототипа. Однако из-за большого количества членов жюри числа получились плохо воспринимаемыми для человека.

Ваша задача состоит в том, чтобы сделать оценки более удобными для восприятия человеком. Это подразумевает под собой выполнение следующих пунктов:

Все оценки должны оставаться целыми числами. Соотношения между оценками разных прототипов не должны измениться. Числа должны быть минимально возможными с учётом выполнения всех остальных пунктов. Если оценки упростить не получается, то следует оставить их в первоначальном виде. Ввод:

В первой строке идёт целое число N - количество оцененных прототипов. (1 <= N <= 500)

В следующей строке находятся N оценок компонентов до приведения к удобному виду. Каждая оценка не превышает 10 000 000 000 баллов и больше или равна 0.

Вывод:

Строка с N целыми числами - оценками компонентов после приведения к удобному виду в соответствующем порядке.

READ ALSO
Не могу перегрузить оператор +

Не могу перегрузить оператор +

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

225
Как добавить boost thread через cmake?

Как добавить boost thread через cmake?

Не могу понять как подтянуть бинарь буста через cmake, заголовки подключаются, но бинарь не находится, что я написал неправильно? В данном примере...

239
Не пойму как работает void в c++

Не пойму как работает void в c++

Не пойму как работает void в с++Где-то читал, что если перед функцией ничего не стоит, то подразумевается что там стоит void

248