infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: AlexAndru Dobre din Februarie 18, 2014, 21:07:40



Titlul: Subprograme si functia sort
Scris de: AlexAndru Dobre din Februarie 18, 2014, 21:07:40
Salut tuturor! Am si eu 2 intrebari , mi-a aratat un prieten cum a folosit intr-un subprogram de tip void return; ,dar nu returna nimic,imi puteti explica ce face pentru ca eu stiu ca in functia void nu se foloseste return?
Si inca ceva legat de functia:
bool exc(int a, int b)
{
    return a<b;
}
sort(v+1, v+n+1, exc);
Cum se foloseste functia sort si am vazut ca altii in loc de exc au pus altceva?Pot sorta cum imi doresc eu vectoru,imi puteti explica?


Titlul: Răspuns: Subprograme si functia sort
Scris de: Lup Vasile din Februarie 23, 2014, 16:46:00
Chiar daca subprogramul e de tip void, cand ajunge la return se iese din subprogram. In functia exc, poti pune ce conditie de sortare vrei tu. Poti sorta vectoru descrescator.(return a>b).
Asa, poti sorta si un vector de structuri. ex:
Cod:
struct element {int a,b;};
element  v[300];
bool exc(element e1,element e2)
{
    if (e1.a==e2.a) return e1.b<e2.b;
    else return e1.a<e2.a;
}

si in main() scrii sort(v+1,v+n+1,exc)
asta iti va sorta elementele din v in ordinea crescatoare a lui a, iar in caz de egalitate dupa b