Jump to content

La Un Concurs De Matematica Participa Elevi Din Mai Multe Scoli...


Recommended Posts

  • Moderators
Posted

Datele problemei:

 

La un concurs de matematică participă elevi din mai multe şcoli din diferite oraşe. Pentru a se putea deosebi între ele lucrările lor, fiecare lucrare este codificată printr-un număr natural cu 3 cifre, să zicem abc, unde a (cifra sutelor) este codul oraşului, b (cifra zecilor) este codul şcolii din oraşul a, iar c (cifra unităţilor) este codul unui elev din şcoala b din oraşul a. Exemplu: lucrarea cu codul 328 este lucrarea elevului cu codul 8 de la şcoala cu codul 2 din oraşul cu codul 3.

Se cunosc: un cod (al lucrării unui elev H, prietenul nostru), numărul n de lucrări premiate şi codurile acestora.

Cerinţă

Se cere să se rezolve cerinţele:

a) Verificaţi dacă H este premiant, sau nu.

b) Determinaţi numărul de premii luate de elevii din oraşul lui H (inclusiv H, dacă a fost premiat).

c) Determinaţi numărul de premii luate de elevii din şcoala lui H (inclusiv H, dacă a fost premiat).

Date de intrare

De pe prima linie a fişierului de intrare concurs3.in se citeşte codul lui H; de pe linia a doua fişierului se citeşte valoarea n, iar de pe linia a treia se citesc cele n coduri premiate. Codurile premiate sunt separate prin câte un spaţiu.

Date de ieşire

Cele 3 răspunsuri se vor afişa în fişierul de ieşire concurs3, pe câte o linie. Pentru prima cerinţă se va afişa pe prima linie a fişierului un mesaj (DA sau NU), după cum H a luat, sau nu a luat premiu. La cerinţele b) şi c) se va scrie câte un număr pe linia a doua respectiv pe linia a treia a fişierului de ieşire.

Restricţii

  • n este un număr natural nenul, n<=20
  • Codul de oraş (cifra sutelor din fiecare cod) este de la 1 la 5, inclusiv.
  • Codurile şcolilor din fiecare oraş (cifra zecilor) este de la 0 la 9, inclusiv.
  • Codul elevilor (cifra unităţilor) este tot de la 0 la 9 inclusiv.
  • Mesajul DA/NU se va afişa cu majuscule.

Exemplu:

Intrare:

 

234
6
123 232 125 222 421 235
Ieşire:

 

NU //codul lui H nu se regăseşte printre cele citite (premiate), deci mesajul este NU
3 //lucrările premiate din orasul lui H (cu cifra sutelor egală cu 2) sunt în număr de 3: 232, 222 şi 225
2 /*lucrările premiate din şcoala lui H (cu cifra sutelor egală cu 2 şi cu cifra zecilor egală cu 3) sunt în număr de 2: 232 şi 235.*/
Rezolvare (codul este făcut integral de mine; în caz de erori, reveniţi cu un reply).

 

#include <iostream>
#include <conio.h>
using namespace std;
int main(void)
{
    unsigned n,h,x,ok1=0,i,ok2=0,ok3=0;
    cout<<"Introduceti codul elevului"<<endl; cin>>h;
    cout<<"Introduceti numarul de lucrari premiate"<<endl; cin>>n;
    cout<<"Introduceti codul lucrarii (cate unul pe linie)"<<endl;
    for (i=1;i<=n;i++)
    {
        cin>>x;
        if (x==h)
            ok1=1;
        if (x/100==h/100)
        {
            ok2++;
            if ((x/10%10)==(h/10%10))
                ok3++;

        }
    }
    if (ok1==1)
        cout<<"DA"<<endl<<ok2<<endl<<ok3;
    else
        cout<<"NU"<<endl<<ok2<<endl<<ok3;
    getch();
    return 0;
}
  • Upvote 2

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.