Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- int main() {
- struct detalii {
- float nota[6], med;
- char nume[20], pren[20];
- } v[31], aux;
- ifstream f("elev.in");
- ofstream g("elev.out");
- int n, p; float m;
- f >> n;
- for (int i = 1; i <= n; i++) {
- p = 0; m = 0;
- for (int j = 1; j <= 5; j++) {
- f >> v[i].nota[j];
- if (v[i].nota[j]) {
- p++;
- m += v[i].nota[j];
- }
- }
- f >> v[i].nume >> v[i].pren;
- v[i].med = m / p;
- }
- p = 0;
- while (!p) {
- p = 1;
- for (int i = 1; i <= n - 1; i++)
- if (v[i].med < v[i + 1].med) {
- aux = v[i]; v[i] = v[i + 1]; v[i + 1] = aux; p = 0;
- }
- }
- for (int i = 1; i <= n; i++)
- g << v[i].med << ' ' << v[i].nume << ' ' << v[i].pren << endl;
- p = 0;
- while (!p) {
- p = 1;
- for (int i = 1; i <= n - 1; i++)
- if (strcmp(v[i].nume, v[i + 1].nume) > 0) {
- aux = v[i]; v[i] = v[i + 1]; v[i + 1] = aux; p = 0;
- }
- else
- if (!strcmp(v[i].nume, v[i + 1].pren)) {
- if (strcmp(v[i].pren, v[i + 1].pren) > 0) {
- aux = v[i]; v[i] = v[i + 1]; v[i + 1] = aux; p = 0;
- }
- }
- }
- for (int i = 1; i <= n; i++)
- g << v[i].med << ' ' << v[i].nume << ' ' << v[i].pren << endl;
- f.close();
- g.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment