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

Să se scrie un program C/C++ în care se citesc de la tastatură numere reale, ce vor fi stocate într-un
tablou unidimensional. Să se scrie o funcţie care copiază într-un alt tablou toate valorile din primul
tablou, care sunt mai mari decât valoarea medie a numerelor preluate. Se vor folosi pointeri şi se vor
afişa în main() valorile din cele două tablouri.

Răspunsuri la întrebare

Răspuns de alexandrajaba
1
Programul C/C++ ar putea arata astfel:

#include
using namespace std;

// functie care copiaza intr-un alt tablou valorile din primul
// tablou care sunt mai mari decat valoarea medie a numerelor
void copiaza_valorile_mai_mari_decat_media(double* valori, int n, double* valori_copiate) {
// calculam valoarea medie a numerelor
double suma = 0;
for (int i = 0; i < n; i++) {
suma += valori[i];
}
double media = suma / n;

// copiem in tabloul valori_copiate valorile din tabloul valori
// care sunt mai mari decat valoarea medie a numerelor
int k = 0;
for (int i = 0; i < n; i++) {
if (valori[i] > media) {
valori_copiate[k] = valori[i];
k++;
}
}
}

int main() {
// citim dimensiunea tabloului
int n;
cout << "Introduceti dimensiunea tabloului: ";
cin >> n;

// citim val

VxF: Codul postat a pățit ceva că e incomplet.
Alte întrebări interesante