Informatică, întrebare adresată de rontaila, 8 ani în urmă

Salut, nu am fost la grafuri cand s-au predat deoarece eram plecat din tara si acum imi vine cam greu sa rezolv exercitii. Ma poate ajuta cineva cu urmatoarea problema?

Cerinţa
Se dă lista muchiilor unui graf neorientat. Să se afișeze matricea de adiacență a grafului.

Date de intrare
Fişierul de intrare adiacenta.in conţine pe prima linie numerele n și m, reprezentând numărul de vârfuri ale grafului și numărul de muchii date în continuare. Fiecare dintre următoarele m linii conține câte o pereche de numere i j, cu semnificația că există muchie între i și j.

Date de ieşire
Fişierul de ieşire adiacenta.out va conţine n linii, pe fiecare linie fiind câte n valori separate prin exact un spațiu, reprezentând matricea de adiacență a grafului dat.

Restricţii şi precizări
1 ≤ n ≤ 100
1 ≤ i , j ≤ n
muchiile se pot repeta în fișierul de intrare



Link problema: https://www.pbinfo.ro/?pagina=probleme&id=412


ovdumi: ai fost la cules in spania?
rontaila: Nu, in Germania
ovdumi: pai si acolo se culege?
rontaila: Da, daca vrei vorbesc cu baietii si mergem amandoi =)))))))
ovdumi: mai bine ma duc in Machu Picchu

Răspunsuri la întrebare

Răspuns de larea99
1

#include <iostream >

using namespace std;


int main ()

{

int n,m;

cin >> n >> m;

int mt[n+1][n+1];

for(int i=1 ; i <= n ; i++)

for(int j=1 ; j <= n; j++) mt [i][j]=0;

int a b;

for ( int i=1; i <= m; i++)

{ cin >> a >> b;

mt[a][b]=1;

mt [b][a]=1;

}

for(int i=1 ; i <= n ; i++)

{for(int j=1 ; j <= n; j++)

cout << mt[i][j] <<' '

cout<<endl;

}

return 0;

}

Am f[cut varianta pentru citire tastaura te las pe tine sa o faci pentru fiser in principiu se declara o matrice de n lini si n coloane se initializeaza toate elementele cu 0 apoi  faci un for in care daca ezista muchia muchie intre nodurile a si b se  atribuie acelei poziti valuarea 1 si deoarece nu este orientat inseamna ca este si intre b si a muchie



Alte întrebări interesante