Другие языки программирования и технологии

Помогите с подпрограммой в с++.

Нужно ввести массив из 6 чисел в теле программы и передать его подпрограмме. Найти номер последнего непарного элемента массива. Как это сделать?
Увы, никак! В С++ нет подпрограмм!
MO
Movsar Osabaev
76 473
Лучший ответ
Условие задания неопределённое без указания, как сформирован массив.
Что значит парные и непарные? Парными считаются соседние или произвольно расположенные?
Если элемент с каким-нибудь значением один или их чётное количество - это понятно.
А как поступать, если их, например три? Считать 2 парных и один непарный или составляющими 3 пересекающиеся пары?

Но есть подозрение, что непарный - это корявый перевод украинского слова "непарний" - нечётный.
Тогда всё встаёт на свои места.

#include<iostream>
using namespace std;

//Функция (подпрограмма) определения номера последнего нечётного
int FindLastOdd(int a[], int n)
{
int k = -1;
for (int i = 0; i < n; i++)
if (a[ i ] & 1) // это можно заменить на if (a[ i ] % 2) или на if (a[ i ] % 2 != 0)
k = i;
return ++k;
}

//Главная функция программы (тело)
int main()
{
const int n = 6;
setlocale(LC_ALL,"Russian");
int a[ n ], k;
cout << "Введите массив: " << endl;
for (int i = 0; i < n; i++)
{
cout << "A[" << i + 1 << "]: ";
cin >> a[ i ];
}
k = FindLastOdd(a, n);
if (!k) // это равнозначно if (k == 0)
cout << "Нечетных нет";
else
cout << "Последний нечетный A[" << k << "] = " << a[ k - 1 ] << endl;
cin.get();
return 0;
}