Sunteți pe pagina 1din 3

1. Se citeşte de la tastatură matricea de adiacenţă a unui graf neorientat cu n vârfuri.

Să se scrie muchiile
grafului în fişierul muchii.txt (pe fiecare rând se vor scrie extremităţile unei muchii separate prin spaţiu).

2. Se citesc de la tastatură m perechi de numere întregi, reprezentând extremităţile muchiilor unui graf
neorientat cu n vârfuri şi m muchii. Fiind date 3 vârfuri a, b şi c, să se afişeze acela care are gradul cel
mai mic.

3. Se citeşte de la tastatură matricea de adiacenţă a unui graf neorientat cu n vârfuri. Să se afişeze vârful
(vârfurile) de grad maxim în graf, precum şi vârfurile izolate din graf.

4. Se citeşte de la tastatură matricea de adiacenţa a unui graf neorientat cu n vârfuri. Să se tipărească


vârfurile al căror grad este egal cu o valoare dată p.

5. Se citesc de la tastatură 2 numere întregi m şi n, apoi m perechi de numere întregi, reprezentând


extremităţile muchiilor unui graf neorientat cu m muchii şi n vârfuri. Să se construiască matricea de
adiacenţă şi apoi să se scrie gradele vârfurilor în fişierul graf.txt (pe fiecare rând se vor scrie un nod şi
gradul său separate prin spaţiu).

6. Se defineşte o muchie a unui graf neorientat ca o înregistrare cu trei câmpuri: cele 2 extremităţi şi un
cost asociat muchiei (un număr întreg). Definim un graf neorientat ca un vector de muchii. Fiind dat
vectorul de muchii al unui graf neorientat G=(X,U) cu m muchii şi n vârfuri, să se tipărească muchia,
muchiile de cost minim.

7. Se defineşte o muchie a unui graf neorientat ca o înregistrare cu trei câmpuri: cele 2 extremităţi şi un
cost asociat muchiei (un număr întreg). Definim un graf neorientat ca un vector de muchii. Fiind dat
vectorul de muchii al unui graf neorientat G=(X,U) cu m muchii şi n vârfuri, să se construiască şi să se
afişeze matricea sa de adiacenţă, apoi să se determine costul mediu al grafului.

8. Fişierul graf.txt conţine mai multe secvenţe de vârfuri ale unui graf neorientat dat, vârfurile componente
ale fiecărei secvenţe fiind scrise pe un rând, separate prin spaţiu. Să se tipărească acele secvenţe care
reprezintă lanţuri, precizându-se pentru fiecare astfel de lanţ dacă este elementar sau nu.

9. Se citeşte de la tastatură o secvenţă de p numere întregi, reprezentând vârfuri ale grafului. Să se verifice
dacă secvenţa citită este un ciclu, elementar sau neelementar, tipărindu-se un mesaj corespunzător.

10. Se dă un graf neorientat cu n vârfuri, nu neapărat conex, pentru care se citeşte de la tastatură matricea de
adiacenţă. Să se scrie în fişierul comp.txt toate componentele sale conexe (vârfurile care alcătuiesc o
componentă conexă vor fi scrise pe un rând, separate prin spaţii).

11. Se defineşte o muchie a unui graf neorientat ca o înregistrare cu două câmpuri: cele 2 extremităţi ale
muchiei. Definim un graf neorientat ca un vector de muchii. Fiind dat vectorul de muchii al unui graf
neorientat G=(X,U) cu m muchii şi n vârfuri, să se determine dacă este conex sau nu.

12. Se dă un garf memorat prin matricea de adiacenţă şi un nod al său x. Să cere să se parcurgă graful în
lăţime, pornind de la nodul x.
13. Se citesc de la tastatură 2 numere întregi m şi n, apoi m perechi de numere întregi, reprezentând
extremităţile muchiilor unui graf neorientat cu m muchii şi n vârfuri. Să se construiască matricea de
adiacenţă şi apoi să se verifice dacă graful obţinut este graf complet.

14. Se citeşte un graf neorientat din fişierul graf.txt. Fişierul conţine: pe primul rând numărul de vârfuri n şi
pe următoarele rânduri câte o pereche de numere întregi separate prin spaţiu. Să se verifice dacă graful
dat este hamiltonian, tipărindu-se un mesaj corespunzător.

15. Să se scrie un program care pentru un graf care nu este conex, adaugă numărul minim de muchii astfel
încât graful să devină conex. Se vor lista muchiile adăugate.

16. Să se scrie un program care să testeze dacă într-un graf există un ciclu de lungime 4.

17. Se citeşte de la tastatură matricea de adiacenţă a unui graf orientat cu n noduri. Să se afişeze nodurile cu
proprietatea ca numărul arcelor care ies din nod este egal cu numărul arcelor care intră în nod.

18. Se defineşte un arc al unui graf orientat ca o înregistrare cu trei câmpuri: nodul din care iese arcul, nodul
din care intră arcul şi un cost asociat arcului. Definim un graf orientat ca un vector de arce. Fiind dat
vectorul de arce al unui graf orientat G=(X,U) cu m arce şi n noduri, să se construiască şi să se afişeze
matricea de adiacenţă, apoi să se determine costul mediu al grafului.

19. Să se verifice dacă o secvenţă de noduri reprezintă un drum elementar sau ne-elementar într-un graf
orientat. Numărul de noduri şi matricea de adiacenţă se citesc de la tastatură, iar secvenţa testată se
găseşte în fişierul drum.txt (nodurile sunt scrise pe un singur rând, separate prin spaţii).

20. Fie un graf neorientat cu n vârfuri, a cărui matrice de adiacenţă se citeşte din fişierul gr.txt. Fişierul
conţine: pe primul rând valoarea lui n, apoi pe fiecare din următoarele n rânduri, elementele unei linii a
matricei separate prin spaţii. Fiind dat un nod x introdus de la tastatură, să se determine numărul
drumurilor care încep în nodul x, precum şi numărul drumurilor care se încheie în x.

21. Se citesc de la tastatură m perechi de numere întregi reprezentând extremitățile arcelor unui graf orientat
G cu m arce și n noduri, precum și alte m0 perechi de numere întregi reprezentând extremitățile arcelor
unui alt graf neorientat G1 cu m0 muchii și n0 noduri. Realizați un program care verifică dacă G1 este
graf parțial al lui G, afișând un mesaj corespunzător.

22. Fie un graf orientat cu n vârfuri, a cărui matrice de adiacență se citește din fișierul gr.txt. Fișierul
conține: pe primul rând valoarea lui n, apoi pe fiecare din următoarele n rânduri elementele unei linii a
matricei separate prin spații. Se citește de la tastatură o secvență de p numere întregi reprezentând
vârfuri ale grafului. Să se verifice dacă secvența citită este un drum, elementar sau neelementar,
tipărindu-se un mesaj corespunzător.

23. Se citește de la tastatură matricea de adiacență a unui graf orientat cu n noduri. Să se afișeze nodurile cu
proprietatea că numărul arcelor care ies din nod este maxim.
24. Din fișierul graf.txt se citește o matrice. Pe fiecare rând al fișierului se găsesc elementele unei linii a
matricei separate prin spații și nu se cunoaște anticipat numărul de linii și de coloane din matrice. Să se
verifice dacă această matrice poate fi matricea de adiacență a unui graf neorientat, iar în caz afirmativ să
se afișeze pe ecran vârfurile de grad impar din graf.

25. Fie un graf neorientat G cu n cu n vârfuri a cărui matrice de adiacență se citește de la tastatură. Mulțimea
M de numere întregi reține vârfurile unui graf G1 pentru care se citesc extremitățile muchiilor de la
tastatură și se construiește vectorul de muchii. Să se verifice dacă G1 este subgraf al lui G.

26. Se citesc de la tastatură m perechi de numere întregi (x, y) reprezentând extremitățile arcelor unui graf
orientat cu n noduri și m arce. Scrieți un program care testează dacă în graful astfel definit există noduri
izolate.

27. Se citește matricea de adiacență a unui graf orientat din fișierul adiac.txt. Fișierul conține: pe primul
rând numărul n de noduri ale grafului, apoi, pe fiecare din următoarele n rânduri, elementele unei linii a
matricei de adiacență separate prin spații. Realizați un program care construiește matricea drumului
aferentă grafului, apoi determină numărul drumurilor care încep în nodul x, precum și numărul
drumurilor care se încheie în x.

28. Se dă un grup de n persoane care se cunosc sau nu între ele. De la tastatură se introduc m perechi de
numere întregi (x, y) cu semnificația persoana x o cunoaște pe persoana y. Relația de cunoștință nu este
neapărat reciprocă. Numim celebritate o persoană care este cunoscută de către toate celelalte persoane
din grup dar ea nu cunoaște pe niciun alt membru al grupului. Să se determine dacă în grup există sau nu
o astfel de celebritate.

29. Fie graful orientat G=(X, U) și mulțimea YX. Să se listeze mulțimea arcelor care au o extremitate într-
un nod din Y și altă extremitate într-un nod din X-Y.

30. Scrieți un program care citește un graf neorientat dintr-un fișier text și afișează DA dacă graful are cel
puțin un ciclu și NU în caz contrar.

31. O editură are depozite de carte în orașele o1, o2,…, op. Un editor de carte aflat în orașul c (citit de la
tastatură) solicită un număr de cărți. Care este orașul în care există depozitul cel mai apropiat de c, de
unde acestea se pot expedia?

32. Se citește un graf orientat dintr-un fișier text. Fișierul conține pe prima linie un număr natural n
reprezentând numărul de noduri, apoi un număr de perechi de forma (x, y), reprezentând extremități ale
muchiilor grafului. Se cere să se listeze toate nodurile pentru care d+(x)=d-(x).

S-ar putea să vă placă și