C++ Дана последовательность из n вещественных чисел, начинающаяся с отрица- тельного...

+825 голосов
4.4m просмотров

C++ Дана последовательность из n вещественных чисел, начинающаяся с отрица- тельного числа. Определить, какое количество отрицательных чисел записано в начале последовательности. Условный оператор не использовать.


Информатика (31 баллов) | 4.4m просмотров
+57

только C++ и никаких других кодов

Дан 1 ответ
+161 голосов

Использован тернарный оператор

Код:

  • #include
  • template
  • constexpr T how_many_nagatives(T seq[], int n, int i = 0) {
  •    return i == n || seq[i] >= 0 ? i : how_many_nagatives(seq, n, i+1);
  • }
  • int main() {
  •    constexpr int sequence[] = {-4, -6, 8, 10};
  •    constexpr int n = sizeof(sequence) / sizeof(*sequence);
  •    constexpr int k = how_many_nagatives(sequence, n);
  •    std::cout << k << std::endl;</li>
  •    return 0;
  • }
(7.2k баллов)