2015 m. lapkričio 17 d., antradienis

Skaičiaus skaitmenų atskyrimo algoritmai

Dviženklis skaičius:
S1 = S /10;
S2 = S % 10;
Skaičiaus sudarymas iš skaitmenų:
S = S1 * 10 + S2;

Triženklis skaičius:
S1 = S /100;
S2 = (S /10) % 10;
S3 = S % 10;
Skaičiaus sudarymas iš skaitmenų:
S = S1 * 100 + S2 * 10 + S3;

Keturženklis skaičius:
S1 = S /1000;
S2 = (S /100) % 10;
S3 = (S /10) % 10;
S4 = S % 10;
Skaičiaus sudarymas iš skaitmenų:
S = S1 * 1000 + S2 * 100 + S3 * 10 + S4;

Penkiaženklis skaičius:
S1 = S /10000;
S2 = (S /1000) % 10;
S3 = (S /100) % 10;
S4 = (S /10) % 10;
S5 = S % 10;
Skaičiaus sudarymas iš skaitmenų:
S = S1 * 10000 + S2 * 1000 + S3 * 100 + S4 * 10 + S5;
--------------------------------------
Pavyzdžiai:

Užduotis 1: Duotas keturženklis skaičius x. Parašykite algoritmą, kuris rastų skaičiaus x skaitmenų kvadratų sumą.

Sprendimas:

#include <iostream>
using namespace std;


int main()
{
   int x, x1, x2, x3, x4, kvsum;
   cout << "Iveskite keturzenkli skaiciu "; cin >>  x;
   x1 =  x /1000; // skaitmenų atskyrimo algoritmas
   x2 = (x /100) % 10;
   x3 = (x /10) % 10;
   x4 = x % 10;
   kvsum = x1*x1 + x2*x2 + x3*x3 + x4*x4; //rezultato - skaitmenų kvadratų sumos skaičiavimas
   cout << "Skaičiaus skaitmenų kv.suma yra: " << kvsum << endl; // rezultato išvedimas
  return 0;
}
___________________________

Užduotis 2: Duotas keturženklis skaičius x. Parašykite algoritmą, kuris skaičių x užrašytų atvirkščiai. (pvz.: x  - 1234, tai atvirkščias - 4321)

Sprendimas: 

#include <iostream>
using namespace std;

int main()
{
int x, x1, x2, x3, x4, atvsk;
cout << "Įveskite 4-ženklį skaičių "; cin >> x;
x1 = x /1000;                                                             // skaitmenų atskyrimo algoritmas
x2 = x /100 % 10;
x3 = x /10 % 10;
x4 = x % 10;

atvsk = (x4*1000)+(x3*100)+(x2*10)+x1;                  // atvirkščio skaičiaus sudarymas
cout <<"Atvirkščias skaičius " << atvsk << endl;       // atvirkščio skaičiaus išvedimas
return 0;
}


Užduotis 3: Atlikti mokytojos pateiktas 3 užduotis. Main.cpp programos tekstus atsiųsti el. paštu.