E. 3. Se citesc de la tastatura n numere naturale. Sa se afiseze valoarea minima si de cate ori apare in sir.
4. Se citesc n numere de la tastatura. Sa se afiseze valoarea minima si maxima si de cate ori apar in sir.
5. Algoritmi pentru prelucrarea cifrelor unui numar.
- determinarea inversului unui numar
9. Se citeste un nr natural. Sa se afiseze inversul sumei cifrelor sale.
10. Calculati cmmmc a doua numere a si b date.
11. Se introduc n numere de la tastatura. Sa se stie cate numere sunt prime. in limbajul c++
Răspunsuri la întrebare
E.3:
#include <iostream>
using namespace std;
const int MAX_N = 1000;
int n, nums[MAX_N], minVal, minCount;
int main() {
cin >> n;
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
minVal = nums[0];
minCount = 1;
for (int i = 1; i < n; i++) {
if (nums[i] < minVal) {
minVal = nums[i];
minCount = 1;
} else if (nums[i] == minVal) {
minCount++;
}
}
cout << "Valoarea minima: " << minVal << endl;
cout << "Numarul de aparitii: " << minCount << endl;
return 0;
}
Nota:Programul citește numerele naturale ca intrare și utilizează o variabilă "minVal" pentru a ține valoarea minimă și o variabilă "minCount" pentru a ține numărul de apariții ale valorii minime. Programul parcurge numerele citite și verifică dacă o valoare este mai mică decât valoarea minimă curentă. Dacă este, atunci valoarea minimă este actualizată și numărul de apariții este setat la 1. Dacă este aceeași cu valoarea minimă curentă, atunci numărul de apariții este incrementat. În final, programul afișează valoarea minimă și numărul de apariții.
E.4:
#include <iostream>
using namespace std;
const int MAX_N = 1000;
int n, nums[MAX_N], minVal, minCount, maxVal, maxCount;
int main() {
cin >> n;
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
minVal = maxVal = nums[0];
minCount = maxCount = 1;
for (int i = 1; i < n; i++) {
if (nums[i] < minVal) {
minVal = nums[i];
minCount = 1;
} else if (nums[i] == minVal) {
minCount++;
}
if (nums[i] > maxVal) {
maxVal = nums[i];
maxCount = 1;
} else if (nums[i] == maxVal) {
maxCount++;
}
}
cout << "Valoarea minima: " << minVal << " Numarul de aparitii: " << minCount << endl;
cout << "Valoarea maxima: " << maxVal << " Numarul de aparitii: " << maxCount << endl;
return 0;
}
Nota:Programul citește numerele naturale ca intrare și utilizează variabilele "minVal", "minCount", "maxVal" și "maxCount" pentru a ține valoarea minimă, numărul de apariții ale valorii minime, valoarea maximă și numărul de apariții ale valorii maxime. Programul parcurge numerele citite și verifică dacă o valoare este mai mică sau mai mare decât valoarea minimă sau maximă curentă. Dacă este, atunci valoarea minimă sau maximă este actualizată și numărul de apariții este setat la 1. Dacă este aceeași cu valoarea minimă sau maximă curentă, atunci numărul de apariții este incrementat. În final, programul afișează valoarea minimă, numărul de apariții ale valorii minime, valoarea maximă și numărul de apariții ale valorii maxime.
E.5:
Un algoritm pentru determinarea inversului unui număr poate fi:
Inițializați o variabilă "invers" la 0.
Repetați următorii pași până când numărul este diferit de 0:
a. Adăugați ultima cifră a numărului la "invers" multiplicată cu 10.
b. Eliminați ultima cifră a numărului prin împărțirea la 10.
Returnați "invers" ca rezultat.
Exemplu de implementare în C++:
int reverseNumber(int num) {
int reverse = 0;
while (num != 0) {
reverse = (reverse * 10) + (num % 10);
num /= 10;
}
return reverse;
}
Nota:Acest algoritm merge prin fiecare cifră a numărului, adăugând cifra la "invers" multiplicată cu 10 și eliminând cifra din număr prin împărțirea la 10. Prin aceasta se obține inversul numărului.
E.9:
#include <iostream>
using namespace std;
int reverseNumber(int num) {
int reverse = 0;
while (num != 0) {
reverse = (reverse * 10) + (num % 10);
num /= 10;
}
return reverse;
}
int main() {
int num;
cin >> num;
int sum = 0, x = num;
while (x > 0) {
sum += x % 10;
x /= 10;
}
cout << reverseNumber(sum) << endl;
return 0;
}
Nota:Programul citește un număr natural ca intrare și utilizează funcția "reverseNumber" pentru a inversa un număr. Apoi, programul calculează suma cifrelor numărului și apoi apelează funcția "reverseNumber" pentru a inversa suma cifrelor numărului. În final, programul afișează suma cifrelor numărului inversat.
E.10:
int cmmmc(int a, int b) {
int cmmdc = __gcd(a, b);
return (a * b) / cmmdc;
}
E.11:
#include <iostream>
using namespace std;
bool isPrime(int n) {
if (n <= 1) return false;
for (int i = 2; i < n; i++)
if (n % i == 0) return false;
return true;
}
int main() {
int n, count = 0;
cin >> n;
for (int i = 0; i < n; i++) {
int x;
cin >> x;
if (isPrime(x)) count++;
}
cout << count << " numere sunt prime." << endl;
return 0;
}
Nota:Acest program cere utilizatorului să introducă un număr n, care reprezintă câte numere vor fi introduse în continuare. Apoi, utilizatorul introduce n numere. Programul verifică dacă fiecare număr este prim sau nu folosind o funcție auxiliară numită isPrime. Dacă un număr este prim, se incrementează un contor. La sfârșitul programului, se afișează numărul de numere prime găsite.
Sper să apreciezi efortul și mult succes!