Orar semigroup #2

Orar semigroup #2

17 februarie

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>
#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();
}
Fisierul
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();
}

joi, 17 februarie 2011 by DlMuresan
Categories: , , , , , , , , | 1 comment

One Comment

Leave a Reply