1

Тема: С, парність та непарність

Привіт, я тільки недавно в коді і мене дещо зацікавило. Мені потрібно, щоб усі парні числа в рядку підносилися до квадрату і додавалися, а всі непарні - просто додавалися. Тобто якщо в мене є рядок "6, 5, 3, 2, 1", то має відбуватися така дія: 6^2+5+3+2^2+1.

Правильний код:

if (idx %2 == 0){
    count +=num;
}
else{
    num = pow(num,2);
    count += num;
}
}
return count;
}

НЕправильний код:

if (idx %2 == 0){
     num = pow(num,2);
     count += num;
}
else{
count +=num;
}
}
return count;
}

Питання: чому треба писати так, як в першому? Адже if (idx %2 == 0) означає, що це парне число, то чому після if не можна записати так, як в другому? Чому воно не рахує парні числа в квадраті??

2

Re: С, парність та непарність

if(idx%2==0) перевіряє парність не числа num, а числа idx. Що це за числа і як вони між собою пов'язані - з вашого коду не зрозуміло, наведіть трохи більше. Там має бути цикл навколо.

Подякували: хто я, Olex_V2

3

Re: С, парність та непарність

#include <iostream>
using namespace std;

int main()
{
   int numbers[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
   int suma_neparnyh = 0, suma_parnyh = 0;
   for(int i = 0; i < 10; i++)
   {
      if(numbers[i] % 2 == 0) // якщо число парне
         suma_parnyh += numbers[i]; // то додаєм його сюди 
      else
         suma_neparnyh += numbers[i]; // ні? то сюди 
   }
   cout << "suma_parnyh = " << suma_parnyh << endl << "suma_neparnyh = " << suma_neparnyh;

}
Подякували: хто я1

4

Re: С, парність та непарність

#include <iostream>
using namespace std;

int main()
{
   int number;
   for(int i = 0; i < 3; i++)
   {
      cin >> number;
      if(number % 2 == 0) // якщо число парне
         cout << number << " - parne" << endl; 
      else
         cout << number << " - ne parne" << endl;
   }
}
Подякували: хто я1