Created
February 17, 2019 13:51
-
-
Save alexchirea/d1755b3eb8dbcbefa32b5cdef908fd4c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
using namespace std; | |
struct elev { | |
char nume[20]; | |
float medie; | |
struct elev *urm; | |
}; | |
struct elev *start=0, *stop=0; | |
void insersare(char n[20], float m) { | |
struct elev *nod = new struct elev; | |
nod->medie = m; | |
strcpy(nod->nume, n); | |
nod->urm = 0; | |
if(start == NULL) { | |
start = stop = nod; | |
return; | |
} | |
else { | |
stop->urm = nod; | |
stop = nod; | |
return; | |
} | |
} | |
void afisare() { | |
struct elev *p = start; | |
while (p!=0) { | |
cout << p->nume << ' ' << p->medie << endl; | |
p=p->urm; | |
} | |
return; | |
} | |
float mediaClasei() { | |
// parcurge toata lista | |
// returneaza media clasei | |
struct elev *p = start; | |
float medie = 0; | |
int k = 0; | |
while (p) | |
{ | |
medie += p->medie; | |
k++; | |
p = p-> urm; | |
} | |
return medie / k; | |
} | |
float sumaclasa (struct elev* a) | |
{ | |
if (!a) | |
return 0; | |
else | |
return a->medie +sumaclasa(a->urm); | |
} | |
void stergere (char a[20]) | |
{ | |
struct elev * b , *aux, *ant; | |
ant = b = start; | |
while (b) { | |
if (strcmp(b->nume, a) == 0) | |
{ | |
if (start == b) | |
{ | |
aux = start; | |
start = start->urm; | |
delete aux; | |
} | |
else if (stop == b) | |
{ | |
ant->urm=0; | |
stop=ant; | |
delete b; | |
return; | |
} | |
else { | |
aux=b; | |
ant->urm=b->urm; | |
delete aux; | |
} | |
b=ant; | |
} | |
ant=b; | |
b=b->urm; | |
} | |
} | |
int main() { | |
insersare("andrei", 8.55); | |
insersare("alex", 12.00); | |
insersare("Bogdan" , 6.52); | |
insersare("Catalin" , 8.64); | |
stergere("Catalin"); | |
afisare(); | |
cout<<sumaclasa(start); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment