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

De 1 Iunie – Ziua Copilului se organizează un spectacol de dans cu şi pentru copii. Acesta este programat să se desfăşoare în intervalul orar 10.30 -12.00.

În spectacol se înscriu n trupe de dans, iar pentru fiecare trupă se cunoaşte timpul necesar realizării dansului în minute şi numărul de copii din trupa.

Cerința
Cunoscând n, numărul de trupe înscrise, cele n perechi (t,c) unde t reprezintă timpul în minute şi c numărul de copii din trupa scrieţi un program care:

a) Verifică dacă toate cele n echipe înscrise în spectacol se încadrează în timpul alocat spectacolului şi afişează mesajul NU dacă timpul este mai mare decât cel programat, în caz contrar afişează mesajul DA.
b) Calculează cu câte minute este programul incomplet sau depăşit.
c) Calculează câţi copii au fost implicaţi în realizarea spectacolului.
d) Calculează care este cel mai mare şi cel mai mic timp alocat unui dans.

Date de intrare
Pe prima linie a fişierului dans.in se afla n, numărul de trupe înscrise, iar pe următoarele linii cele n perechi de forma de mai sus.

Date de ieșire
Datele conform cerintelor a) – d) se vor afişa în fişierul dans.out, răspunsul fiecărei cerinţe fiind scris pe câte o linie. La punctul d) cele 2 valori se vor despărţi prin spaţiu.

Restricții și precizări
1 ≤ n ≤ 100
5 ≤ t ≤ 15
De 1 Iunie – Ziua Copilului se organizează un spectacol de dans cu şi pentru copii. Acesta este programat să se desfăşoare în intervalul orar 10.30 -12.00.

În spectacol se înscriu n trupe de dans, iar pentru fiecare trupă se cunoaşte timpul necesar realizării dansului în minute şi numărul de copii din trupa.

Cerința
Cunoscând n, numărul de trupe înscrise, cele n perechi (t,c) unde t reprezintă timpul în minute şi c numărul de copii din trupa scrieţi un program care:

a) Verifică dacă toate cele n echipe înscrise în spectacol se încadrează în timpul alocat spectacolului şi afişează mesajul NU dacă timpul este mai mare decât cel programat, în caz contrar afişează mesajul DA.
b) Calculează cu câte minute este programul incomplet sau depăşit.
c) Calculează câţi copii au fost implicaţi în realizarea spectacolului.
d) Calculează care este cel mai mare şi cel mai mic timp alocat unui dans.

Date de intrare
Pe prima linie a fişierului dans.in se afla n, numărul de trupe înscrise, iar pe următoarele linii cele n perechi de forma de mai sus.

Date de ieșire
Datele conform cerintelor a) – d) se vor afişa în fişierul dans.out, răspunsul fiecărei cerinţe fiind scris pe câte o linie. La punctul d) cele 2 valori se vor despărţi prin spaţiu.

Restricții și precizări
1 ≤ n ≤ 100
5 ≤ t ≤ 15

Exemplu
dans.in

8
10 6
8 5
9 6
12 10
10 12
5 6
7 8
9 8
dans.out

DA
20
61
12 5

Explicație
Timpul total al dansurilor este 70 minute şi se încadrează în intervalul orar indicat.
Diferenţa între timpul folosit şi cel alocat este de 20 minute.
Sunt 61 de copii implicaţi.
Dansul cel mai lung durează 12 minute iar cel mai scurt durează 5 minute.

(Va rog sa fie programul in C++)
Dau coroana!!!

Răspunsuri la întrebare

Răspuns de milumil2000
1
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
#include <math.h>

using namespace std;

long i, n, t, c, copii=0, total=0, tmax=0, tmin=100, diferenta;

int main(){
    ifstream filein;
    filein.open("dans.in");

// citeste numarul de trupe
    filein >> n;

    ofstream fileout;
    fileout.open("dans.out");

// citeste date (timp, copii)
    for(i = 1; i <= n; i++){
        filein >> t >> c;
        copii=copii+c;
        total=total+t;
        if(t>tmax)tmax=t;
        if(t<tmin)tmin=t;

        }

    diferenta=sqrt((90-total)*(90-total));

//afiseaza rezultate
    if(total>90){
        fileout << "NU" << endl;
    }
    else fileout << "DA" << endl;
    fileout << diferenta << endl;
    fileout << copii << endl;
    fileout << tmax << " " << tmin;

filein.close();
fileout.close();
    }

milumil2000: asta e solutia corecta (are 100 puncte pe pbinfo.ro)
LorenaMaria2005: mersi
Alte întrebări interesante