Jump to content

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


Courage

Recommended Posts

  • Moderators

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
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • 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.