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

Cerința
Într-o clasă sunt n elevi, numerotați de la 1 la n, băieți și fete, pentru fiecare dintre ei cunoscându-se înălțimea, exprimată în centimetri. Să se determine câte fete sunt mai scunde decât cel mai scund băiat și câți băieți sunt mai înalți decât cea mai înaltă fată.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n caracteristicile celor n elevi, astfel: o literă (B sau F), care definește sexul elevului, și înălțimea acestuia, un număr natural nenul.

Date de ieșire
Programul va afișa pe ecran două numere A B, separate printr-un spațiu, însemnând: A – numărul de fete care sunt mai scunde decât cel mai scund băiat și B – numărul de băieți care sunt mai înalți decât cea mai înaltă fată.

Restricții și precizări
1 ≤ n ≤ 100
înălțimile elevilor vor fi mai mici decât 200
se garantează că există cel puțin o fată și cel puțin un băiat

Exemplu
Intrare

5
B 176
F 160
F 165
B 180
B 179
Ieșire

2 3

Răspunsuri la întrebare

Răspuns de Ouroboros
3
//Problema "Inaltimi1",#795, rezolvare 100p de Ouroboros

#include <iostream>

using namespace std;
struct element
{
    char c;
    int x;
};
int n,i,j,Fmax=0,Bmin=200,p,q,B;
element e[105];
int main()
{
    cin>>n;
    B='B';
    for(i=1;i<=n;++i)
    {
        cin>>e[i].c>>e[i].x;
        if( e[i].c==B)
           {
            if( e[i].x<Bmin )
                Bmin=e[i].x;
           }
        else
            if(e[i].x>Fmax)
                Fmax=e[i].x;
    }
    for(i=1;i<=n;++i)
    {
        if( e[i].c==B)
        {
            if( e[i].x>Fmax )
                p++;
        }
        else
            if(e[i].x<Bmin)
                q++;
    }
    cout<<q<<" "<<p<<'\n';

    return 0;
}



Ouroboros: am facut un struct
Ouroboros: dar poti sa faci si 2 vectori separati
Ouroboros: mie mi s-a parut mai usor asa
Ouroboros: apoi am comparat codurile ASCII sa vad daca e B sau , in caz contrar, F
Ouroboros: mersi
Alte întrebări interesante