Informatică, întrebare adresată de Alexi599, 9 ani în urmă

Se cunoaste numarul de sportivi participanti la o competitie oarecare. Pentru fiecare dintre ei se cunoaste data nasterii(luna si anul). Cunoscandu-se data (luna si anul) la care se desfasoara competitia, sa se afiseze media de varsta a sportivilor exprimata in acelasi mod. Afisati si lista datelor de nastere ale sportivilor cu varsta mai mica decat cea medie.

Răspunsuri la întrebare

Răspuns de porecla666
0
#include <iostream>

using namespace std;

int main()
{
     int n,lc,ac,s=0;
     cin>>n;int lp[n],ap[n],v[n];
     for(int i=0;i<n;i++)
          cin>>lp[i]>>ap[i]; //lp[i] si ap[i] sunt luna, respectiv anul lui i
     cin>>lc>>ac; //lc si ac sunt luna, respectiv anul competitiei
     for(int i=0;i<n;i++)
     {
          v[i]=ac-ap[i]; //v[i] este varsta lui i
          if(lc<lp[i]) v[i]--; //se scade cu 1 daca inca nu s-a sarbatorit ziua
          s+=v[i]; //s este suma tuturor varstelor
     }
     cout<<s*1.0/n<<'\n'; //scoate 1.0 daca vrei numar intreg pentru medie
     for(int i=0;i<n;i++)
          if(v[i]<s*1.0/n) //scoate 1.0 daca vrei numar intreg pentru medie
               cout<<lp[i]<<' '<<ap[i]<<'\n';
     return 0; //am presupus ca nu-ti trebuie cu fisiere
}

Alexi599: De fapt, cu fisiere ar trebui.
Răspuns de JolieJulie
1
In poza poti ai un exemplu.
______________________
#include <iostream>
using namespace std;
struct sp
{
    char luna_an[10];
    int varsta;
};
sp s[100];
int n;
float mediev()
{
    int i,k=0,medie=0;
    float media;
    for(i=0; i<n; i++)
    {
        medie=medie+s[i].varsta;
        k++;
    }
    media=medie/k;
    return media;
    return 0;
}
void v_mica()
{
    int i;
    float m;
    m=mediev();
    for(i=0; i<n; i++)
        if(s[i].varsta<m)
            cout<<"Datele sport. cu varsta < medie:"<<s[i].luna_an<<" "<<endl;
}
void citire ()
{
    int i;
    cout<<"Numarul sportivilor:";
    cin>>n;
    for(i=0; i<n; i++)
    {
        cout<<"Luna si anul:";
        cin>>s[i].luna_an;
        cout<<"Varsta:";
        cin>>s[i].varsta;
    }
}
int main()
{
    citire();
    cout<<"Media varstelor: "<<mediev()<<endl;
    v_mica();
}


Anexe:
Alte întrebări interesante
Matematică, 8 ani în urmă