Informatică, întrebare adresată de vargad682, 8 ani în urmă

. Să se scrie o aplicaţie C/C++ în care se alocă dinamic memorie pentru n numere
întregi (validati n prin reintroducerea valorii), numere ce vor fi citite de la tastatură.
Să se scrie funcţia care extrage radicalul din fiecare număr intreg valid (>0) şi
stochează valorile obţinute într-un alt tablou alocat dinamic. Să se afişeze numerele
iniţiale şi valorile din tabloul nou format. Eliberaţi la sfârşit memoria alocată.

Răspunsuri la întrebare

Răspuns de Beartooth
0

Răspuns:

#include <iostream>

#include <cmath>

using namespace std;

int main() {

   // Citeste numarul de numere

   int n;

   cout << "Introduceti numarul de numere: ";

   cin >> n;

   // Aloca dinamic memorie pentru tabloul de numere

   int* numbers = new int[n];

   // Citeste numerele de la tastatura

   cout << "Introduceti numerele: " << endl;

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

       cin >> numbers[i];

   }

   // Aloca dinamic memorie pentru tabloul de radicale

   int* radicals = new int[n];

   // Calculati radicalul pentru fiecare numar valid și adăugați-l la tabloul de radicați

   int radicals_count = 0;

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

       if (numbers[i] > 0) {

           radicals[radicals_count] = sqrt(numbers[i]);

           radicals_count++;

       }

   }

   // Afișați numerele inițiale și valorile din tabloul de radicați

   cout << "Numerele inițiale: ";

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

       cout << numbers[i] << " ";

   }

   cout << endl;

   cout << "Radicalii numerelor: ";

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

       cout << radicals[i] << " ";

   }

   cout << endl;

   // Eliberați memoria alocată pentru ambele tablouri

   delete[] numbers;

   delete[] radicals;

   return 0;

}

Explicație:

Această aplicație citește prima dată numărul de numere ce trebuie citite de la tastatură. Apoi, alocă dinamic memorie pentru un tablou de numere și citește numerele de la tastatură. După aceea, alocă dinamic memorie pentru un alt tablou și calculați radicalul pentru fiecare număr valid și adăugați-l la tabloul de radicați. La sfârșit, afișează numerele inițiale și valorile din tabloul de radicați și eliberează memoria alocată pentru ambele tablouri.

Alte întrebări interesante