-
Автор темы
- #1
You are given an array (which will have a length of at least 3, but could be very large) containing integers. The array is either entirely comprised of odd integers or entirely comprised of even integers except for a single integer N. Write a method that takes the array as an argument and returns this "outlier" N.
Вам дан массив (длина которого должна быть не менее 3, но может быть и очень большой), содержащий целые числа. Массив либо полностью состоит из нечетных целых чисел, либо полностью состоит из четных целых чисел, за исключением единственного целого числа N. Напишите метод, который принимает массив в качестве аргумента и возвращает это "исключение" N.
У меня вот такая вот хуета из костылей получилась но кодварс ругается на stoi
Кому не сложно объясните в чём проблема , а про трэш код просто забудьте я калека
Вам дан массив (длина которого должна быть не менее 3, но может быть и очень большой), содержащий целые числа. Массив либо полностью состоит из нечетных целых чисел, либо полностью состоит из четных целых чисел, за исключением единственного целого числа N. Напишите метод, который принимает массив в качестве аргумента и возвращает это "исключение" N.
C++:
#include <iostream>
#include <string>
using namespace std;
int FindOutlier(std::vector<int> arr)
{
int result = 0;
string arr1 (arr.begin(), arr.end());
reverse(arr1.begin(), arr1.end());
int massiveint = stoi(arr1);
int l = arr1.size();
int ch = 0;
int ne = 0;
int c = 0;
int n = 0;
int del = 1;
int i;
for (i=0;l;i++)
{
if (arr[l-1] % 2 == 0)
{
ch+=1;
c = massiveint % 10;
}
else
{
ne+=1;
n = massiveint % 10;
}
del *= 10;
massiveint /= 10;
l -= 1;
}
if (ne > ch)
{
result = c;
}
else
{
result = n;
}
return result;
}
Кому не сложно объясните в чём проблема , а про трэш код просто забудьте я калека