Когда я компилирую свой код, он работает, компилируется без ошибок, однако, когда я запускаю код, он выдает следующую ошибку «Ошибка сегментации» без дополнительной информации.Однако, когда я посмотрел «Ошибка сегментации», это обычно связано с указателями, и я вообще не использовал указатели.
Я уже просмотрел все это на предмет опечаток, в которых я мог бы сказать:& 'вместо' && 'и так далее.Я также рассмотрел ошибку и перекомпилировал код.
#include <iostream>
#include <vector>
std::string answer(int placement, std::vector<int> peopleInLinE, int Fifties, int twentyFives)
{
if (((peopleInLinE[placement] - 25) % (Fifties * 50)) == 0)
{
Fifties -= peopleInLinE[placement] / (Fifties * 50);
} else if (((peopleInLinE[placement] - 25) % (twentyFives * 25)) == 0)
{
twentyFives -= peopleInLinE[placement] / (twentyFives * 25);
} else if (peopleInLinE[placement] == 100)
{
if (Fifties >= 1 && twentyFives >= 1)
{
Fifties -= 1;
twentyFives -= 1;
} else if (twentyFives >= 3)
{
twentyFives -= 3;
} else {
return "NO";
}
} else {
return "NO";
}
return "YES";
}
std::string tickets(const std::vector<int> peopleInLine){
int twentyFiveS;
int FiftieS;
for (int placemenT; peopleInLine.size(); placemenT++)
{
if (answer(placemenT, peopleInLine, FiftieS, twentyFiveS) == "NO") {
return "NO";
}
}
return "YES";
}
int main() {
std::cout << tickets({25, 50, 100, 25});
return 0;
}
Причина, по которой некоторые переменные имеют случайные заглавные буквы, заключается в том, что я не знал, говорилось ли это, что две вещи имеютточно такое же написание, так что это одно и то же, поэтому я изменил написание, чтобы попытаться выяснить это.
Этот код предназначен для задачи "Вася - Клерк" на Codewars, я включил весь файл,потому что я понятия не имею, где может быть ошибка.
Единственное сообщение об ошибке, которое я получил, это «Ошибка сегментации» без других объяснений.