Răspuns :
Răspuns:
Exercitiul 1
#include <iostream>
using namespace std;
int main()
{
int x,t,max;
cout<<"Introduceti numarul : ";
cin>>x; // citim numarul de la tastatura;
t=x; // punem numarul intial intr-o variabila temporara
max=t%10; // maximul il presupunem ca find ultima cifra
t=t/10; // eliminam ultima cifra pentru ca o presupunem maxim mai sus
while(t!=0) // cat timp T diferit de 0
{
if(max < t%10) // daca maximul nostru este mai mic ca ultima cifra a numarului
{
max = t%10; // setam max ca ultima cifra a numarului
}
t=t/10; // eliminam ultima cifra pentru ca am prelucrat-o
}
cout << "Cifra cea mai mare din numarul "<<x<<" este "<<max; // afisam maximul
}
Exercitiul 2
#include <iostream>
using namespace std;
int main()
{
int x;
int nrDivizori = 0;
cout<<"Introduceti numarul : ";
cin>>x; // citim numarul de la tastatura;
for(int i=1;i<=x;i++) // trecem prin toate numerele incepand de la 1 pana la numarul introdus de utilizator
{
if(x%i == 0 && i%2 == 0) // daca restul impartirii dinte X si I este 0 (nu are rest) si I este par (impartiea la 2 nu are rest)
{
nrDivizori++; // crestem contorul pentru divizori
}
}
cout<<"Numarul de divizori pari ai numarului "<<x<<" este "<<nrDivizori; // afisam numarul de divizori
}
Exercitiul 3
#include <iostream>
using namespace std;
int main()
{
int x;
int nrDivizori = 0; // nr de divizori
float sum = 0; // suma divizorilor
cout<<"Introduceti numarul : ";
cin>>x; // citim numarul de la tastatura;
for(int i=1;i<=x;i++) // trecem prin toate numerele incepand de la 1 pana la numarul introdus de utilizator
{
if(x%i == 0) // daca restul impartirii dinte X si I este 0 (nu are rest)
{
nrDivizori++; // crestem contorul pentru divizori
sum+=i; // adaugam la suma noastra, divizorul
}
}
cout<<"Media aritmetica a divizorilor numarului "<<x<<" este "<<sum/nrDivizori; // afisam media aritmetica (suma numerelor impartit la cate numere sunt)
}
Exercitiul 4
#include <iostream>
using namespace std;
int main()
{
int a, b;
int nrPalindrom = 0;
cout << "Introduceti primul numar : ";
cin >> a; // citim numarul de la tastatura;
cout << "Introduceti al doilea numar : ";
cin >> b; // citim numarul de la tastatura;
for (int i = a; i <= b; i++) // trecem prin toate numerele incepand de la primul pana la ultimul numar introdus
{
int n = i; // punem numarul curent intr-o variabila temporara;
int intors = 0; // aici vom stoca numarul intors
int cifra; // aici vom stoca cifra numarului original
do // executa
{
cifra = n % 10; // luam ultima cifra a numarului nostru curent
intors = (intors * 10) + cifra; // adaugam ultima cifra ca prima cifra a numarului nostru inversat
n = n / 10; // eliminam ultima cifra a numarului curent
} while (n != 0); // cat timp n diferit de 10 (adica cat timp mai avem cifre
if (intors == i) // daca numarul nostru inversat est eegal cu numarul curent
{
nrPalindrom++; // crestem numarul de palindroame
}
}
cout << "Numarul de palindroame din intervalul [" << a << "," << b << "] este " << nrPalindrom; // afisam media aritmetica (suma numerelor impartit la cate numere sunt)
}
Exercitiul 5
#include <iostream>
using namespace std;
int main()
{
int numitor1, numitor2, numarator1, numarator2,numitor3,numarator3,numitorTemp1,numitorTemp2;
cout<<"Introduceti numaratorul primei fractii :";
cin >> numarator1; // citim numaratorul primei fracti
cout<<"Introduceti numitorul primei fractii :";
cin >> numitor1; // citim numitorul primei fracti
cout<<"Introduceti numaratorul pentru fractia 2 :";
cin >> numarator2; // citim numaratorul pt fractia doi
cout<<"Introduceti numitorul pentru fractia 2 :";
cin >> numitor2; // citim numitorul pt fractia doi
numitorTemp1 = numitor1; //luam doua variabile temporare ce ne vor ajuta la calcule
numitorTemp2 = numitor2; //luam doua variabile temporare ce ne vor ajuta la calcule
while(numitorTemp1 != numitorTemp2) // //cat timp cei doi numitori sunt diferiti
{
if(numitorTemp1 > numitorTemp2) //daca primul numitor e mai mare ca cel de-al doilea
numitorTemp1 = numitorTemp1-numitorTemp2; //primul numtiro devine scaderea dintre cele doua
else
numitorTemp2 = numitorTemp2 - numitorTemp1; // atlfel al doilea numitor devine scaderea dintre cele doua
}
// structura repetitiva de mai sus gaseste cel mai mare divizor comun dintre cei doi numitori;
numitor3 = (numitor1*numitor2)/numitorTemp1; // calculam numitorul pentru fractia finala folosindu-ne de cmmdc aflat mai sus
numarator3 = (numarator1)*(numitor3/numitor1) + (numarator2)*(numitor3/numitor2); // calculam numaratorul pentru fractia finala
cout<<"Suma fractiei "<<numarator1<<"/"<<numitor1<<" si "<<numarator2<<"/"<<numitor2<<" este "<<numarator3 << "/" << numitor3; // afisam fractia finala
}
Explicație:
Ca si explicatii, am adaugat direct comentarii in cod pe fiecare linie.
Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!