Se citesc n numere întregi.Cerințe:
a)Numărați și afișați câte sunt impare.
b)Calculați suma cifrelor fiecărui număr citit și afișați rezultatele.
c)Verificați și afișați câte dintre cele n numere introduse au oglinditul un număr par
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
const int N_MAX = 5000;
int reverse(int num) {
int reverseNum = 0;
while (num != 0) {
reverseNum = reverseNum * 10 + num % 10;
num /= 10;
}
if (reverseNum % 2 == 0) {
return 1;
}
return 0;
}
int main(){
int oddCounter = 0;
int n = N_MAX;
int arr[n];
cout << "n=";
cin >> n;
for (int i = 0;i < n; i++) {
cout << "arr[" << i << "]=";
cin >> arr[i];
}
cout << "Vectorul introdus: \n";
for (int i = 0;i < n; i++) {
cout << arr[i] << " ";
}
for (int i = 0;i < n; i++) {
if (arr[i] % 2 == 1) {
oddCounter++;
}
}
cout << "\nAu fost introduse " << oddCounter << " numere impare.\n";
for (int i = 0;i < n; i++) {
int currentNumber = arr[i];
int currentNumberDigitsSum = 0;
while (currentNumber != 0) {
currentNumberDigitsSum += currentNumber % 10;
currentNumber /= 10;
}
cout << "Suma cifrelor numarului " << arr[i] << " este: " << currentNumberDigitsSum << endl;
}
int notOddReverse = 0;
for (int i = 0;i < n; i++) {
int thisNumber = arr[i];
if (reverse(thisNumber)) {
notOddReverse++;
}
}
cout << "Oglinditul a " << notOddReverse << " numere este par.";
return 0;
}
Explicație: