infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Ranetescu Elisabeta Gabriela din Decembrie 12, 2013, 09:32:03



Titlul: Problema
Scris de: Ranetescu Elisabeta Gabriela din Decembrie 12, 2013, 09:32:03
Buna!Am de facut o problema acasa si nu stiu sa o fac .Ma puteti ajuta?Problema suna asa.
1)Scrieti un program C/C++ care citeste de la tastatura o valoare naturala nenula n, (3<= n<= 100) ,apoi cele n numere naturale x de cel mult 4 cifre;programul calculeaza si afiseaza pe ecran media aritmetica a numerelor din care se elimina valoarea minima si valoarea maxima.Valoarea afisata va avea cel mult 3 cifre dupa virgula.
Exemplu: daca se citesc pentru n valoarea 5,iar pentru x valorile (1,9,4,8,5), programul va afisa una dintre valorile 5,667 sau 5,666.
 Nu am nicio idee cum se rezolva .Ajutati-ma va rog frumos!


Titlul: Răspuns: Problema
Scris de: George Marcus din Decembrie 12, 2013, 12:17:03
Formula pentru media aritmetica e suma numerelor / numarul lor. Daca tu ai de eliminat minimul si maximul, afli valoarea minimului si a maximului, scazi din suma si imparti la numarul lor - 2.


Titlul: Răspuns: Problema
Scris de: Petronel Catalin Joldescu din Decembrie 12, 2013, 23:43:52
Uite, sper sa intelegi:

Cod:
#include <iostream>
#include <math.h>
using namespace std;

int main()
{
int n,min,max,i,S=0;
int V[i];
float med;
cin>>n;
for(i=0;i<n;i++)
cin>>V[i];
min=V[0];
for(i=0;i<n;i++)
if(V[i]<min)
min=V[i];
max=V[0];
for(i=0;i<n;i++)
if(V[i]>max)
max=V[i];
for(i=0;i<n;i++)
S=S+V[i];
S=S-min-max;
med=S/(n-2);
cout<<med;
}


Titlul: Răspuns: Problema
Scris de: Ranetescu Elisabeta Gabriela din Decembrie 13, 2013, 08:19:36
Multumesc mult:) am inteles.