Informatică, întrebare adresată de IancuCatalin, 8 ani în urmă

2. In fisiereul " date. in" se afla pe prima linie un numar natural n (n<100), iar pe a doua linie se afla n numere intregi cu exact 3 cifre fiecare, reprezentand, in ordine: prima cifra (de la stanga la dreapta) nota la matematica a unui elev, a doua cifra, nota la romana, iar ultima cifra nota la informatica. Cele trei note, sunt considerate fara punctul din oficiu. Scrieti un program C++, care determina si afiseaza in fisierul "date out" pe fiecare linie urmatoarele:
a. Media notelor obtinute la matematica;
b. Cea mai mare nota obtinuta la romana.
c. Care este si cati elevi au obtinut nota minima la informatica.

Răspunsuri la întrebare

Răspuns de alexbarack77
2

Răspuns:

Explicație:

#include <iostream>

#include <fstream>

using namespace std;

int main()

{

   ifstream in("date.in");

   ofstream out("date.out");

   int n,a[10],mini=99,maxi=0,ct1=0;

   float s=0,ct=0,med;

   in>>n;

   for (int i=0; i<n; i++)

   {

       in>>a[i];

       s=s+a[i]%1000/100;

       ct++;

       if (a[i]%100/10>maxi)

           maxi=a[i]%100/10;

       if (mini>a[i]%10)

           mini=a[i]%10;

   }

   for (int j=0; j<n; j++)

       if (a[j]%10==mini)

           ct1++;

   med=s/ct;

   out<<"Media notelor la matematica este: "<<med<<endl;

   out<<"Cea mai mare nota la romana este: "<<maxi<<endl;

   out<<"Cea mai mica nota la informatica este "<<mini<<" si a fost obtinuta de "<<ct1<<" elevi.";

   return 0;

}


IancuCatalin: lifesaver :))
alexbarack77: Eh:))
alexbarack77: Mă bucur dacă e de ajutor
IancuCatalin: ms ms
Alte întrebări interesante