👤

Se da un vector cu n elemente. Sa se inlocuiasca fiecare element din sir cu media aritmetica a celorlalte.

Răspuns :

► PROGRAM C++ :

#include <iostream>

using namespace std;

int main(){

//Citire vector

int n;

float v[100];

cin >> n;

for(int i=0; i<n;i++) cin >> v[i];

//Determinare suma

int suma = 0;

for(int i=0; i<n;i++) suma += v[i];

//Inlocuire fiecare numar cu m.a. a celorlalte numere

for(int i=0; i<n;i++) v[i] = float(suma-v[i])/(n-1);

//Afisare rezultat

for(int i=0; i<n;i++) cout << v[i];

}

► Explicatie :

Citim numerele, calculam suma. Pentru fiecare element v[i] media aritmetica a celorlalte numere este suma - v[i] supra n-1.

In mod matematic fancy

[tex]\forall i \in \overline{0,n-1}, v_i \leftarrow \frac{\sum_{i=0}^{n-1}-v_i}{n-1}, unde\\\\v \in R^n, n \in N, n \geq 2[/tex]

► Nota :

Se putea realiza programul folosind doar doua instructiuni for, una in care avem citirea si calculul sumei iar alta in care avem calcularea noilor valori si afisarea acestora. Aceasta idee ramane "tema" pentru cititor.

Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!


En Trainingsy: Alte intrebari