👤

#413 Adiacenta1

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

Date de intrare
Fiecare dintre liniile fișierului adiacenta1.in 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 adiacenta1.out va conţine n linii; pe fiecare dintre ele vor fi câte n valori separate prin exact un spațiu, reprezentând matricea de adiacență a grafului dat.

Restricţii şi precizări
graful dat va avea cel mult 100 de vârfuri
muchiile se pot repeta în fișierul de intrare
numărul de vârfuri ale grafului va fi egal cu cea mai mare valoare din lista muchiilor

Codul meu de 20 de puncte
#include
#include

using namespace std;

ifstream f("adiacenta1.in");
ofstream g("adiacenta1.out");

int n,i,j,matrice[1005][1005]={0};

int main()
{
while(f>>i>>j)
{
matrice[i][j]=1;
matrice[j][i]=1;
n++;
}
f.close();

for(int k=1;k<=n/2+1;k++)
{
for(int h=1;h<=n/2+1;h++)
g< g< }
g.close();
return 0;
}


Răspuns :

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("adiacenta1.in");

ofstream g("adiacenta1.out");

int n,i,j,matrice[101][101]={0};

int main()

{

   int maxV = -1;

while(f>>i>>j)

{

matrice[i][j]=1;

matrice[j][i]=1;

   if(i>j){

       if(i>maxV){

        maxV = i;

       }

   }else{

       if(j>maxV){

        maxV = j;

       }

   }

}

f.close();

for(int k=1;k<=maxV;k++)

{

   for(int h=1;h<=maxV;h++){

 g<<matrice[k][h]<<" ";

   }

   g<<endl;

}

g.close();

return 0;

}

Explicație:

Ar trebui sa fii atent la precizarile si explicatiile date de ei.

Nu dai n++, pentru ca muchiile se pot repeta, dar ei iti spun ca cea mai mare valoare acolo da numarul de varfuri. Deci vei cauta cea mai mare valoare

matricea este de 101 x 101, pentru ca iti zic ca 100 este maximul de varfuri. La tine e memorie in plus

Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


En Learnings: Alte intrebari