произведения элементов массива с нечетными номерами
мои набросы
Any dob_nep(Any *mas, int size)
{
Any dob = 1;
for (int i=0; i<size; i++)
{
// а дальше хз
}
}
поправьте или переделайте плиз ...
если кто-то хочет даю ответ, не знаю ли правильно но по подсчетам вручную и программою всё сходиться вот пример
t
Any dob_nep(Any *mas, int size)
{
Any dob = 1;
for (int i=0; i<size; i++)
if (mas%2)
{
dob*=mas;
}
return dob;
}
int mas[8]={1,2,3,4,5,6,7};
int rez = dob_nep(mas,8);
cout <<rez;
T mul_odd(T(& mas)[size])
{
T res = 1;
for (int i = 0; i < size; i++)
if (i % 2)
{
res *= mas;
}
return res;
}
int main()
{
int mas[] = {1,2,3,4,5,6,7};
cout << mul_odd(mas) << endl;
return 0;
}
Почти ничего нового, лишь некоторые особенности работы с шаблонами.
Лучше вместо i++ поставить i+=2. Тогда:
{
int mas[] = { 1,2,3,4,5,7 };
int sum = 0;
for(int i = 1; i < 6; i+= 2)
sum += mas;
cout << sum << endl;
_getch();
}
На выходе:
1. Итераций цикла в 2 раза меньше
2. Нету лишней проверки и деления на каждой итерации
Проще, конечно. И лучше.
В каком месте он оправдан? Лишними N операциями вычисления % и N операциями сравнения с нулём, где N - длина массива?
Я щитаю, что лучше указать на такую вещь, чем пропустить её мимо, т.к. человек пишет на C++ очевидно предполагая использовать такое преимущество C++, как скорость исполнения кода (по мне так больше там преимуществ нету).
Элементов с нечетными значениями в массиве может быть от 0 до N. Что непонятно?
Ну так несовершенный код использовал не botasa, а я. И я с первого твоего намёка согласился, что остались недоработки. Разжёвывать не требовалось.
Например, ты в своем примере рассчитываешь не произведение, а сумму. То есть решаешь какую-то левую задачу. Но есть ли смысл к этому придираться, если общий смысл твоих рассуждений ясен?
и зачем хуливар устраивать? общалки мало? тем более что для автора топика вещи не очевидные, раз он написал то что написал. ему показали более правильное решение и это хорошо, особенно после того, как человек сам что то сделал. а вы тут его рефакторингом каким то пугаете и отвлекаете от сути примера даного Norgat'ом.
не понятно то, вам уважаемый, что речь о нечетных индексах. перечитайте первое сообщение топика.
Между Norgat-ом и мной вышло недопонимание. Мы его решаем. Мы ничем не меряемся. Вывод: вопрос в цитате не имеет смысла в этом конкретном случае.
Я читал не только первое, но и второе. И третье.
отлично, но думаю стоит ориентироваться на первоначальное задание, а не на путаницу в голове топикастартера.
зы любите вы, уважаемый, поспорить. прям хлебом не корми )