Rozwiązane

C++ potrzebna pomoc
Zadanie 1
Napisz program, który wczyta liczbę całkowitą n z przedziału od 0 do 1000 oraz wyświetli sumę cyfr z których składa się podana liczba. Np.
Wejście: n=347
Wyjście: 14

Zadanie 2
Napisz program wczytujący liczbę i sprawdzający czy jest ona palindromiczna. Po sprawdzeniu program powinien zwrócić wynik tak lub nie. Na przykład:
Wejście :123 Wyjście: nie
Wejście :3223 Wyjście: tak

Zadanie 3
Napisz program losujący tablicę n liczb całkowitych z przedziału od 10 do 99. Program powinien wyświetlić tylko liczby parzyste w kolejności malejącej.



Odpowiedź :

REGNAD

Odpowiedź:

#include <iostream>

#include <cstdlib>

#include <ctime>

void zad1(int n) {

   int sum = 0;

   while (n > 0) {

       sum += n % 10;

       n /= 10;

   }

   std::cout << sum << std::endl;

}

void zad2(int n) {

   std::string n_str = std::to_string(n);

   bool is_palindrom = std::equal(n_str.begin(), n_str.begin() + n_str.length() / 2, n_str.rbegin());

   if (is_palindrom) {

       std::cout << "tak\n";

   } else {

       std::cout <<"nie\n";

   }

}

void zad3(int n){

   srand(time(nullptr));

   int *tab = new int [n];

   for(int i = 0; i < n; i++){

       tab[i] = rand() % 90 + 10;

   }

   std::sort(tab, tab + n, std::greater<>());

   for(int i = 0; i < n; i++){

       if(tab[i] % 2 == 0){

           std::cout << tab[i] << std::endl;

       }

   }

}

int main() {

   int n;

   std::cin >> n;

   zad1(n);

   zad2(n);

   zad3(n);

   return 0;

}

Wyjaśnienie:

Dałeś 3 zadania w jednym pytaniu to ja zrobiłem je wszystkie w jednym programie, ale wydzieliłem na funkcje