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
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 :))
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă