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

Declaraţi un pointer global de tip float. În funcţia main() citiţi o valoare întreagă m
care reprezintă dimensiunea tabloului de numere reale. Alocaţi memoria necesară
pentru stocarea tabloului şi citiţi elementele de la tastatură. Determinaţi valoarea
medie a celor m elemente şi calculaţi Mn=(sum(pow((xi-xmed),n))/m, unde n=1,2,3.
Afişaţi rezultatele şi apoi eliberaţi memoria. Folosiţi funcţiile malloc() şi free().
Generaţi numerele din tablou folosind funcţia de bibliotecă care generează numere
aleatoare şi determinaţi pentru acestea media valorilor şi Mn. Realizati aceeasi
aplicatie folosind operatorii new şi delete

Răspunsuri la întrebare

Răspuns de MorowN
0

Răspuns:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <time.h>

// Declararea pointerului global

float *array;

// Functie pentru citirea elementelor din tablou

void read_array(int size) {

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

printf("Elementul %d: ", i+1);

scanf("%f", &array[i]);

}

}

// Functie pentru calcularea valorii medii din tablou

float mean(int size) {

float sum = 0;

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

sum += array[i];

}

return sum / size;

}

// Functie pentru calcularea lui Mn

float mn(int size, int n) {

float mean_value = mean(size);

float sum = 0;

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

sum += pow(array[i] - mean_value, n);

}

return sum / size;

}

int main(void) {

// Citim dimensiunea tabloului

int size;

printf("Dimensiunea tabloului: ");

scanf("%d", &size);

// Alocam memoria pentru tabloul de numere reale

array = (float *)malloc(size * sizeof(float));

if (array == NULL) {

printf("Eroare la alocarea memoriei pentru tablou.\n");

exit(1);

}

// Citim elementele din tablou

printf("Elementele din tablou:\n");

read_array(size);

// Calculam valoarea medie a elementelor din tablou

float mean_value = mean(size);

printf("Valo

Alte întrebări interesante