Wypełnij tablicę 20 elementową liczbami z zakresu 10 - 9999 i wykorzystując funkcje rekurencyjne wykonaj następujące zadania:
1. Obliczyć sumę cyfr poszczególnych liczb i wyświetlić w programie
2. Posortować liczby w tablicy i wyświetlić liczby posortowane w programie
3. Pobrać pierwszy element tablicy i przedstawić w postaci binarnej – wykorzystując funkcję rekurencyjną sortowania szybkiego
Proszę o pomoc


Odpowiedź :

Odpowiedź:

#include <iostream>

#include <vector>

#include <algorithm>

#include <string>

using namespace std;

string binarny(int liczba){

string wynik;

while(liczba != 0){

if(liczba&1){

wynik = "1" + wynik;

} else {

wynik = "0" + wynik;

}

liczba >>=1;

}

return wynik;

}

int main(){

srand(time(NULL));

vector<int> lista = {};

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

int x = rand() % 9999;

if(x < 10){

i--;

continue;

}

lista.push_back(x);

}

int suma = 0;

for(int& element : lista){

suma += element;

}

cout << "Suma: " << suma << endl;

cout << "Pierwsza binarna: " << binarny(lista[0]) << " (decymalna: " << lista[0] << ")" << endl;

sort(lista.begin(), lista.end());

cout << "Sortowane:";

for (int& element : lista){

cout << " " << element;

}

cout << endl;

return 0;

}

pokombinowałem na telefonie ale działa