subprogram palindrom

Sa se scrie o functie care sa verifice daca un numar intreg este sau nu palindrom (este egal cu rasturnatul sau).

#include <iostream.h>
int palindrom(long int x)
{
long int z=0,y;
y=x;
while(x!=0){ z=z*10+x%10; x=x/10; }
if(z==y) return 1;
else return 0;
}
void main()
{
long int a,b;
cout<<“Dati numarul a= “;cin>>a;
if(palindrom(a)) cout<<“numarul “<<a<<” este palindrom”<<endl;
else cout<<“numarul “<<a<<” NU este palindrom”<<endl;
}

 

functie suma cifrelor

Sa se scrie o functie care sa afiseze suma cifrelor unui numar intreg dat paramentru.

#include <iostream.h>
long int n;
void cifre(long int n)
{
int s=0;
while(n!=0) { s+=n%10; n=n/10; }
cout<<“Suma cifrelor este “<<s<<endl;;
return;
}
void main()
{
cout<<“Dati numarul n= “;cin>>n;
cifre(n);
}

{module orizontal600}

suma elementelor aflate pe diagonala principala

Sa se scrie o functie care sa calculeze si sa afiseze urma unei matrice patratice date ca parametru.Urma unei matrice patratice este suma elementelor aflate pe diagonala principala.

#include <iostream.h>
#include <math.h>
int urma(int a[10][10],int n)
{
int suma=0,i,j;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j) suma+=a[i][j];
return suma;
}
void main(void)
{
int a[10][10],i,j,n,u;
cout<<“Dati numarul de linii si coloane n = “;cin>>n;
cout<<“Dati elementele matricei “<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
cout<<“Matricea data este: “<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++) cout<<a[i][j]<<” “;
cout<<endl;
}
u=urma(a,n);
cout<<“Urma matricei este “<<u;
}

{module orizontal600}

subprogram cmmdc cmmmc

Sa se scrie cate o functie care sa determine:
– cel mai mare divizor comun a doua numere intregi date ca parametri.
– cel mai mic multiplu comun a doua numere intregi date ca parametri
Indicatii:
– Pentru determinarea cmmdc se va folosi algoritmul lui Euclid prin impartiri
repetate.
– Pentru determinarea cmmmc se va folosi relatia dintre cmmmc si cmmdc: cmmmc(a,b)=(a*b)/cmmdc(a,b)

#include <iostream.h>
int cmmdc(int a, int b)
{
int r;
r=a%b;
while(r!=0)
{
a=b;
b=r;
r=a%b;
}
return b;
}
int cmmmc(int a, int b)
{
return(a*b/cmmdc(a,b));
}
void main(void)
{
int x,y,d,m;
cout<<“Dati primul numar “;cin>>x;
cout<<“Dati al doilea numar “;cin>>y;
d=cmmdc(x,y);
cout<<“C.m.m.d.c este “<<d<<endl;
m=cmmmc(x,y);
cout<<“C.m.m.m.c este “<<m<<endl;
}

{module orizontal600}

subprogram numar prim

Sa se scrie o functie care sa verifice daca un numar intreg esta numar prim

#include<iostream.h>
#include<conio.h>
#include<math.h>

int prim(int n,int i)
{ if (i>(int)(sqrt(n)+1)) return 1;
else
if (n%i==0) return 0;
else return prim(n,i+1);

void main()
{ int n;
cout<<“n=”;cin>>n;
if (prim(n,2)) cout<<“nr. este prim”<<endl;
else cout<<“nr. nu este prim”<<endl;
getch();
}

{module orizontal600}