12.5.2. Napisati program koji će za učitanu vrijednost N izračunati vrijednost izraza i ispisati:

Opis rješenja: Kod prve varijante koristi se varijabla znak za promjenu predznaka (znak := -znak;).

Listing programa:

// 12501032
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
      int i, n, k;
      double s, p, s1, s2;
      
      cout << ("k = ");
      cin >> k;
      cout << ("n = ");
      cin >> n;

      s1 = 0;
      s2 = 0;
      p = 1;
      for (i=1; i<=n; i++) {
          p = p * i;
          if ((i % 2 < 0)||(i % 2 > 0))
             s1 = s1 + k * p;
          else
            s2 = s2 + k * p;
      }
	  
      s = s1 - s2;
      cout << "s = " << s << endl;
      return 0;
}

II Varijanta
// 12501032
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
      int i, k, n, znak;
      double s, p;
      
      cout << ("k = ");
      cin >> k;
      cout << ("n = ");
      cin >> n;

      p = 1;		// pocetna vrijednost proizvod
      s = 0;
      znak = 1;

      for (i=1; i<=n; i++) {
          p = p * i;            // p *= i;
          s = s + znak * k * p; // s += znak * k * p;	
          znak = -znak;         // znak *= -1;
      }                         // for - kraj petlje

      cout << "s = " << s << endl;
      return 0;
}

Ispis na ekranu:

Index