n elevi au dat un test grila. O intrebare are 3 variante de raspuns, din care doar una e corecta.
Pentru fiecare raspuns corect, elevul primeste un punct.
a) Cunoscand variantele corecte, afisati punctajul fiecaruia.
b) Afisati elevii descrescator dupa punctaj
#include<iostream>Fisierul
#include<fstream>
using namespace std;
struct elev
{
char nume[100];
int pct;
};
elev e[100]; // variabila globala
int n;
char corect[20];
void citire()
{int i,j;
char a[100];
ifstream f("grila");
f>>n;
f>>corect;
for(i=0;i<n;i++)
{f>>e[i].nume;
f>>a;
for(j=0;j<strlen(corect);j++)
if(corect[j]==a[j])
e[i].pct++;
}
}
void afisare()
{int i;
for(i=0;i<n;i++)
cout<<e[i].nume<<"-"<<e[i].pct<<endl;
}
void ordonare()
{int i,j;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(e[i].pct<e[j].pct)
swap(e[i],e[j]);
}
int main()
{citire();
ordonare();
afisare();
}
4
abacabb
Gigi abcaaaa
Bogdan abacabb
Ion aaaaaab
Marcel cabbbaa
M clase
#include<iostream> // TRIER
#include<fstream>
using namespace std;
int m;
cin>>m;
char r,s[100]="grila";
for(i=0;i<m;i++)
{r=itoa(i);
strcat(s,r);
ifstream f(s);
}
struct elev
{
char nume[100];
int pct;
};
struct clasa
{elev x[20];
int n;
}
elev e[100]; // variabila globala
int n;
char corect[20];
void citire()
{int i,j;
char a[100];
ifstream f("grila");
f>>n;
f>>corect;
for(i=0;i<n;i++)
{f>>e[i].nume;
f>>a;
for(j=0;j<strlen(corect);j++)
if(corect[j]==a[j])
e[i].pct++;
}
}
void afisare()
{int i;
for(i=0;i<n;i++)
cout<<e[i].nume<<"-"<<e[i].pct<<endl;
}
void punctajclasa()
{
int main()
{citire();
ordonare();
afisare();
}