Documente Academic
Documente Profesional
Documente Cultură
AL REPUBLICII MOLDOVA
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Informatică şi Ingineria Sistemelor
Tombrachevici Dan
Lucrare de laborator nr 5
Verificat:
Gutu Maria , doctor, conf. univ.
Departamentul Informatică şi IS,
Facultatea FCIM, UTM
Chișinău – 2020
Problema 1
1. Se dau două numere naturale a și b. Afișați toate numerele pare din intervalul [a;b].
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
void NumPare(int a , int b);
int main()
{
int a , b , i ;
printf("Introduceti a - ");
scanf("%d" , &a);
printf("Introduceti b - ");
scanf("%d" , &b);
NumPare(a , b);
return 0;
}
Problema 2
De la tastatură se introduce un număr natural n. Calculați suma numerelor naturale mai
mici sau egale cu n.
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
void Functie(int n);
int main()
{
int n ;
printf("Introduceti n - ");
scanf("%d" , &n);
Functie(n);
return 0;
}
void Functie(int n)
{
int i = 1 ;
int s = 0 ;
while (i<=n){
s+= i ;
i++;
}
printf("Suma numerelor naturale mai mici sau egale cu n este: %d" , s );
}
Problema 3
De la tastatură se introduce un număr natural n. Calculați suma numerelor pare din
domeniul [1;n].
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
void Functie(int n);
int main()
{
int n ;
printf("Introduceti n - ");
scanf("%d" , &n);
Functie(n);
return 0;
}
void Functie(int n)
{
int i = 1 ;
int s = 0 ;
do {
if(i % 2 == 0){
s+= i;
}
i++;
}
while(i<=n);
printf("Suma = %d" , s );
}
Problema 4
De la tastatură se introduce un număr natural n. Calculați suma primilor n termeni
1+1/2+1/3+...+1/n.
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
void Functie(float n);
int main()
{
float n ;
printf("Introduceti n - ");
scanf("%f" , &n);
Functie(n);
return 0;
}
void Functie(float n)
{
float i ;
float s = 0 ;
Problema 5
De la tastatură se introduce un număr natural n. Calculați suma primilor n termeni
1+1/2+/4+...+1/(2n)
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
void Functie(int n);
int main()
{
int n ;
printf("Introduceti n - ");
scanf("%d" , &n);
Functie(n);
return 0;
}
void Functie(int n)
{
int i = 1 ;
float s = 0 ;
while (i <= n){
if(i % 2 == 0){
s+= (float)1 / i;
}
i++;}
printf("Suma = %f" , s );
}
Problema 6
De la tastatură se introduce un număr natural n. Calculați suma primilor n termeni
1+1/3+1/5...+1/(2n-1).
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
void Functie(int n);
int main()
{
int n ;
printf("Introduceti n - ");
scanf("%d" , &n);
Functie(n);
return 0;
}
void Functie(int n)
{
int i = 1 ;
float s = 0 ;
do {
if(i % 2 != 0){
s+= (float) 1 / i;
}
i++;
}
while(i <= n);
printf("Suma = %f" , s );
}
Problema 7
De la tastatură se introduce un număr natural n. Calculați suma primilor n termeni
½+2/3+..+n/(n+1).
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
void Functie(float n);
int main()
{
float n ;
printf("Introduceti n - ");
scanf("%f" , &n);
Functie(n);
return 0;
}
void Functie(float n)
{
float i ;
float s = 0 ;
Problema 8
De la tastatură se introduce un număr natural n. Calculați suma primilor n termeni
½+2/(3*4)+..+n/((n+1)*(n+2)).
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
void Functie(int n);
int main()
{
int n ;
printf("Introduceti n - ");
scanf("%d" , &n);
Functie(n);
return 0;
}
void Functie(int n)
{
float i = 2;
float s = 0 ;
Problema 9
De la tastatură se introduce un număr natural n. Calculați suma primilor n termeni
1+2/(1+2)+3/(1+2+3)+...+n/(1+2+..+n).
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
void Functie(int n);
int main()
{
int n ;
printf("Introduceti n - ");
scanf("%d" , &n);
Functie(n);
return 0;
}
void Functie(int n)
{
int i = 1;
float s = 0 ;
float sum = 0 ;
do {
s+= i;
sum+= (float) i / s;
i++;}
while(i <= n);
printf("Suma termenilor este:%.2f" , sum);
}
Problema 10
De la tastatură se introduce un număr natural n. Calculați suma primilor n termeni
1+1/(1+2)+(1+2)/(1+2+3)+(1+2+3)/(1+2+3+4)+...+(1+2+3+...(n-1))/(1+2+..+n).
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
float Functie(float n);
int main()
{
float n , rez ;
printf("Introduceti n - ");
scanf("%f" , &n);
rez = Functie(n);
return 0;
}
float Functie(float n)
{
float i = 1;
float s = 0 ;
float numitor = 0 ;
float numarator = 0 ;
if(n == 0){
printf("Unde ati vazut sir din 0 elemente ???");
}
else{
for(i = 1; i <=n ; i++)
{
numitor+= i ;
numarator+= i - 1 ;
s+=(numarator / numitor) ;
}
}
return s;
}
Problema 11
De la tastatură se introduce un număr natural n. Calculați suma primilor n termeni 1+
√2+√3+...+√n.
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
float Functie(int n);
int main()
{
int n ;
float rez ;
printf("Introduceti n - ");
scanf("%d" , &n);
rez = Functie(n);
return 0;
}
float Functie(int n)
{
int i = 1 ;
float s = 0 ;
return s;
}
Problema 12
De la tastatură se introduce un număr natural n. Calculați suma primilor n termeni
1+√2+√2*3+...+√(2*3*...*n).
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
float Functie(int n);
int main()
{
int n ;
float rez ;
printf("Introduceti n - ");
scanf("%d" , &n);
rez = Functie(n);
return 0;
}
float Functie(int n)
{
float sum = 0;
float prod = 1;
int i = 1;
do {
prod*= i;
sum+= sqrt(prod);
i++;
}
while(i <= n);
return sum;
}
Problema 13
De la tastatură se introduce un număr natural n. Calculați suma primilor n termeni
1+√1+2+√1+2+3=..+√1+2+3+...+n.
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
float Functie(int n);
int main()
{
int n ;
float rez ;
printf("Introduceti n - ");
scanf("%d" , &n);
rez = Functie(n);
return 0;
}
float Functie(int n)
{
float s = 0;
float sum = 0;
int i ;
for (i = 1 ; i <= n ; i++){
s+= i;
sum += sqrt(s);
}
return sum;
}
Problema 14
Scrieți un program ce va calcula suma s=0.1+0.2+0.3+...+1.8.
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
float Functie(int n);
int main()
{
int n ;
float rez ;
//printf("Introduceti n - ");
//scanf("%d" , &n);
rez = Functie(n);
return 0;
}
float Functie(int n)
{
float sum = 0;
int i = 1 ;
while (i<=18){
sum+=(float)i/10;
i++;}
return sum;
}
Problema 15
Se dă un numar n , introdus de la tastatură . Să se scrie un program ce va calcula suma
cifrelor acestui număr , dacă suma este formată din mai multe cifre , atunci să se calculeze
iarăși suma acestor cifre . Această procedură să se repete până când va fi o singură cifră.
#include <stdio.h>
#include <stdlib.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
int Functie(int n);
int main()
{
int n ;
int rez ;
printf("Introduceti n - ");
scanf("%d" , &n);
rez = Functie(n);
return 0;
}
do {
while(n!= 0){
r = n % 10 ;
n = (n - r) / 10 ;
s += r ;
}
r=0;
n=s;
}while(s > 10);
return s;
}
Problema 16
Se dă un tablou liniar cu n componente numere întregi. Calculați suma componentelor lui.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n , arr[100] ;
int rez ;
srand(0);
for(int i = 0 ; i < n ; i++){
arr[i] = rand()%100;
}
for(int i = 0 ; i < n ; i++){
printf("%3d" , arr[i]);
}
printf("\n");
rez = Functie(arr , n);
return 0;
}
int main()
{
int n , arr[100] ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
arr[i] = rand()%100;
}
for(int i = 0 ; i < n ; i++){
printf("%3d" , arr[i]);
}
printf("\n");
rez = Functie(arr , n);
printf("Numarul elementelor pare = %d" , rez);
return 0;
}
return count;
}
Problema 18
Se dă un tablou liniar cu n componente numere întregi. Calculați media aritmetică a
componentelor lui.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
arr[i] = rand()%100;
}
for(int i = 0 ; i < n ; i++){
printf("%3d" , arr[i]);
}
printf("\n");
rez = Functie(arr , n);
return 0;
}
Problema 19
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n , arr[100] ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
arr[i] = rand()%100;
}
for(int i = 0 ; i < n ; i++){
printf("%3d" , arr[i]);
}
printf("\n");
rez = Functie(arr , n);
return 0;
}
return s;
}
Problema 20
Se dă un tablou liniar cu n componente numere întregi. Calculați media aritmetică a
componentelor pare din tabloul dat.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
int main()
{
int n , arr[100] ;
float rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
arr[i] = rand()%100;
}
for(int i = 0 ; i < n ; i++){
printf("%3d" , arr[i]);
}
printf("\n");
rez = Functie(arr , n);
return 0;
}
}
}
return media;
}
Problema 21
Se dă un tablou liniar cu n componente numere întregi. Afișați componentele ce au indicii
cu valoare pară.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n , arr[100] ;
int rez ;
printf("Introduceti lungimea sirului - \n");
scanf("%d" , &n);
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
arr[i] = rand()%100;
}
for(int i = 0 ; i < n ; i++){
printf("%3d" , arr[i]);
}
printf("\n");
Functie(arr , n);
return 0;
}
return ;
}
Problema 22
Se dă un tablou liniar cu n componente numere întregi. Afișați indicii componentelor cu
valoare pozitivă.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n , arr[100] ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
arr[i] = rand()%100;
}
for(int i = 0 ; i < n ; i++){
printf("%3d" , arr[i]);
}
printf("\n");
Functie(arr , n);
return 0;
}
return ;
}
Problema 23
Se dă un tablou liniar cu n componente numere întregi și un număr întreg m. Determinați
dacă printre valorile componentelor se conține valoarea dată m.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//20 bidimensionale 20 for ,if ,else 20 raportul 3
int main()
{
int n , m , arr[1000] ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
arr[i] = rand()%100;
}
for(int i = 0 ; i < n ; i++){
printf("%3d" , arr[i]);
}
printf("\n");
Functie(arr , n , m);
return 0;
}
return ;
}
Problema 24
Se dă un tablou liniar cu n component numere întregi. Înscrieți în alte două tablouri,
respectiv, componentele de pe poziții impare – în primul tablou, iar componentele de pe
poziții pare – în al doilea tablou.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
arr[i] = rand()%100;
}
for(int i = 0 ; i < n ; i++){
printf("%3d" , arr[i]);
}
printf("\n");
return 0;
}
return ;
}
Problema 25
Se dau două tablouri liniare cu câte n componente numere întregi. Înscrieți în al treilea
tablou la început componentele primului tablou, apoi componentele celui de-al doilea.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n , arri[1000] , arrp[1000] , arr[1000] ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
arr[i] = rand()%100;
arri[i] = rand()%100;
}
printf("Primul sir : ");
for(int i = 0 ; i < n ; i++){
printf("%3d" , arr[i]);
}
printf("\n");
return ;
}
Problema 26
Se dă un număr natural n. Înscrieți întru-n tablou liniar primele n numere prime.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void Functie(int n );
int main()
{
int n ;
int rez ;
printf("Introduceti n - ");
scanf("%d" , &n);
Functie( n );
return 0;
}
void Functie(int n ){
int arr[1000] ;
int p ;
return ;
}
Problema 27
. Se consideră tabloul A[1…n,1…m] de numere întregi, unde n, m <= 20. Să se scrie un
program care determină numărul elementelor mai mari decât media aritmetică a tuturor
elementelor pozitive.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n , m ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < m ; j++){
arr[i][j] = 1+rand()%100;
}
}
Functie(n , m , arr);
return 0;
}
return ;
}
Problema 28
. Se consideră tabloul A[1…n,1…m] de numere întregi, unde n, m <= 20. Să se scrie un
program care calculează suma si produsul .
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n , m ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < m ; j++){
arr[i][j] = 1+rand()%100;
}
}
Functie(n , m , arr);
return 0;
}
return ;
}
Problema 29
Se consideră tabloul A[1…n,1…m] de numere întregi, unde n, m <= 20. Să se scrie un
proram care determină elementul maxim.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < m ; j++){
arr[i][j] = 1+rand()%100;
}
}
Functie(n , m , arr);
return 0;
}
void Functie(int n , int m , int arr[n][m] ){
int max = 0 ;
return ;
}
Problema 30
Se consideră tabloul A[1…n,1…m] de numere întregi, unde n, m <= 20. Să se scrie un
proram care determină elementul maxim și poziția lui.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n , m ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < m ; j++){
arr[i][j] = 1+rand()%100;
}
}
Functie(n , m , arr);
return 0;
}
return ;
}
Problema 31
Se consideră tabloul Y[1…n,1…m] de numere întregi, unde n, m <= 20. Să se scrie un
proram care determină elementul minim și elementul maxim, precum și pozițiile acestora.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <limits.h>
int main()
{
int n , m ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < m ; j++){
arr[i][j] = 1+rand()%100;
}
}
return 0;
}
return ;
}
Problema 32
Se consideră tabloul A[1…n,1…m] de numere întregi, unde n, m <= 20. Să se scrie un
proram care determină elementul maxim de pe diagonala principală și elementul maxim de
pe diagonala secundara.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <limits.h>
int main()
{
int n , m ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < m ; j++){
arr[i][j] = 1+rand()%100;
}
}
Functie(n , m , arr);
return 0;
}
return ;
}
Problema 34
Se consideră tabloul A[1…n,1…m] de numere întregi, unde n, m <= 20. Să se scrie un
proram care afișează în linii separate elementele care se află pe diagonala principală și
elementele care se află pe diagonala secundara.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <limits.h>
int main()
{
int n , m ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < m ; j++){
arr[i][j] = 1+rand()%100;
}
}
Functie(n , m , arr);
return 0;
}
int main()
{
int n , m ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < m ; j++){
arr[i][j] = 1+rand()%100;
}
}
Functie(n , m , arr);
return 0;
}
int main()
{
int n , m ;
int rez ;
Functie(n , m , arr);
return 0;
}
return ;
}
Problema 37
. Se consideră tabloul A[1..n,1..n] de numere întregi, unde n ≤ 20. Să se scrieu un program
care schimbă în opus semnele elementelor situate deasupra diagonalei principale .
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <limits.h>
int main()
{
int n , m ;
int rez ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < m ; j++){
arr[i][j] = 1+rand()%100;
}
}
Functie(n , m , arr);
return 0;
}
return ;
}
Problema 38
Se consideră tabloul A[1..n,1..m] de numere întregi, unde n,m≤20. Să se scrie un program
care transcrie în tabloul unidimensional B elementele pozitive din A.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <limits.h>
int main()
{
int n , m ;
int count = 0 ;
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < m ; j++){
arr[i][j] = 1+rand()%100-40;
if(arr[i][j] > 0){
count++;
}
}
}
return ;
}
Problema 39
De la tastatură se introduc patru numere a , b , c , d . Scrieți un program C ce va determina
:
a. Numărul mai mare dintre ele
b. Numărul mai mic dintre ele
c. Cel mai mare divizor comun al lor
d. Cel mai mic multiplu comun al lor
e. Dacă unul dintre numere este divizor pentru toate celelalte
f. Dacă unul dintre ele este multiplu al celorlalte numere .
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
max = a ;
if(max < b)
max = b;
if(max < c)
max = c;
if(max < d)
max = d;
return max;
}
min = a ;
if(min > b)
min = b;
if(min > c)
min = c;
if(min > d)
min = d;
return min;
}
int divizor(int a , int b , int c , int d){
while(a!=b){
if(a > b)
a = a - b;
else
b = b - a;
}
while(c!=d){
if(c > d)
c=c-d;
else
d = d - c;
}
while(a!=c){
if(c > d)
a = a - c;
else
c=c-a;
}
return a;
}
int main()
{
int a , b , c , d , mare , mic , div , mult ;
printf("Introdu a ");
scanf("%d" , &a);
printf("Introdu b ");
scanf("%d" , &b);
printf("Introdu c ");
scanf("%d" , &c);
printf("Introdu d ");
scanf("%d" , &d);
mare = mai_mare(a , b , c , d) ;
mic = mai_mic(a , b , c , d);
div = divizor(a , b , c , d);
mult = multiplu(a , b , c , d , div);
Problema 40
De la tastatură se introduc patru numere a , b , c , d . Scrieți un program C ce va determina
:
a. Suma cifrelor fiecărui număr
b. Cifra cea mai mare din componența fiecărui număr
c. Numărul divizorilor fiecărui număr dat
d. Suma divizorilor fiecărui număr cu valoarea mai mică decât a numărului dat
e. Dacă printre numerele date sunt numere perfecte
f. Dacă numărul respectiv este prim sau nu
#include <stdio.h>
#include <stdlib.h>
while(a != 0){
rest = a % 10 ;
sa += rest ;
a = a / 10 ;
}
while(b != 0){
rest = b % 10 ;
sb += rest ;
b = b / 10 ;
}
while(c != 0){
rest = c % 10 ;
sc += rest ;
c = c / 10 ;
}
while(d != 0){
rest = d % 10 ;
sd += rest ;
d = d / 10 ;
}
return ;
}
int Maxnum(int a , int b , int c , int d ){
int amax = 0 , bmax = 0 , cmax = 0 , dmax = 0 ;
while(a != 0 ){
if(a % 10 > amax)
amax = a % 10 ;
a = a / 10 ;
}
while(b != 0 ){
if(b % 10 > bmax)
bmax = b % 10 ;
b = b / 10 ;
}
while(c != 0 ){
if(c % 10 > cmax)
cmax = c % 10 ;
c = c / 10 ;
}
while(d != 0 ){
if(d % 10 > dmax)
dmax = d % 10 ;
d = d / 10 ;
}
return ;
}
}
printf("\nSuma divizorilor numarului %d este %d\n" , a , sa);
printf("\nDivizorii numarului %d sunt : \n" , b);
for(int ib = 2; ib <= b / 2; ib++)
{
if(b % ib == 0){
printf("%3d" , ib);
sb += ib;
}
}
printf("\nSuma divizorilor numarului %d este %d\n" , b , sb);
printf("\nDivizorii numarului %d sunt : \n" , c);
for(int ic = 2; ic <= c / 2; ic++)
{
if(c % ic == 0){
printf("%3d" , ic);
sc += ic ;
}
}
printf("\nSuma divizorilor numarului %d este %d\n" , c , sc);
printf("\nDivizorii numarului %d sunt : \n" , d);
for(int id = 2; id <= d / 2; id++)
{
if(d % id == 0){
printf("%3d" , id);
sd += id;
}
}
printf("\nSuma divizorilor numarului %d este %d\n" , d , sd);
return ;
}
int Perfect(int a , int b , int c , int d){
int sa = 0 , sb = 0 , sc = 0 , sd = 0 ;
int ia = 2 , ib = 2 , ic = 2 , id = 2 ;
int main()
{
int a , b , c , d ;
printf("Introduceti a , b , c , d \n");
scanf("%d%d%d%d" , &a , &b , &c , &d);
Prim(a , b , c , d);
sumacifre(a , b ,c , d);
Maxnum(a , b , c , d);
AfisareDivizori(a , b , c , d);
Perfect(a , b , c , d);
return 0;
}
Problema 41
De la tastatură se introduc patru numere a , b , c , d . Scrieți un program C ce va determina
:
a. Numărul cel mai mare dintre oglinditul numerelor
b. Numărul cel mai mic dintre oglinditul numerelor
c. Numărul cel mai mare format dintre cifrele fiecărui numer repectiv
d. Numărul cel mai mic format dintre cifrele fiecărui numer repectiv
#include <stdio.h>
#include <stdlib.h>
int Oglindire(int a , int b , int c , int d){
int ogl_a = 0 , ogl_b = 0 , ogl_c = 0 , ogl_d = 0 ;
int max = 0 , min ;
while (a != 0)
{
ogl_a = ogl_a * 10 + a % 10;
a = a / 10;
}
printf("Numarul oglindit a este %d\n" , ogl_a);
while (b != 0)
{
ogl_b = ogl_b * 10 + b % 10;
b = b / 10;
}
printf("Numarul oglindit b este %d\n" , ogl_b);
while (c != 0)
{
ogl_c = ogl_c * 10 + c % 10;
c = c / 10;
}
printf("Numarul oglindit c este %d\n" , ogl_c);
while (d != 0)
{
ogl_d = ogl_d * 10 + d % 10;
d = d / 10;
}
printf("Numarul oglindit d este %d\n" , ogl_d);
if(max < ogl_a)
max = ogl_a ;
if(max < ogl_b)
max = ogl_b;
if(max < ogl_c)
max = ogl_c;
if(max < ogl_d)
max = ogl_d ;
min = ogl_a;
if(min > ogl_b)
min = ogl_b;
if(min > ogl_c)
min = ogl_c;
if(min > ogl_d)
min = ogl_d;
printf("Cel mai mare numar oglindit este = %d\n" , max);
printf("Cel mai mic numar oglindit este = %d\n" , min);
}
int main()
{
int a , b , c , d;
printf("Introduceti a , b , c , d\n");
scanf("%d%d%d%d" , &a , &b , &c , &d);
Oglindire(a , b , c , d);
return 0;
}