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

ajutooooooooooooooor program in c++ va rog mult!

Anexe:

Răspunsuri la întrebare

Răspuns de ValiV12
0

Salut, nu am destul timp cat sa gandesc problema, dar am cativa algoritmi gata-facuti care poate te pot ajuta

„Scrieţi un program care citeşte dintr-un fişier, graf.in, ordinul grafului neorientat pe linia1, pe linia 2 numărul de muchii, iar extremităţile muchiilor sunt introduse pe restul liniilor din fişier.

Fişierul de ieşire, graf.out, va afişa liniar astfel: ordinul grafului, extremităţile fiecărei muchii, matricea de adiacenţă, noduri terminale, noduri izolate dacă există altfel va afişa mesajul "nu terminale"sau "nu izolate". ”

#include <fstream>

using namespace std;

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

const int   dimmax=10;

int a [dimmax][dimmax], n, m;

void citeste ()

{int i, j;g<<"\nnr de noduri  ";f>>n; g<<n;

g<<"\nnr de muchii  ";f>>m; g<<m;

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

{g<<"\n nod 1 al muchiei"<<k<<":  ";f>>i;g<<i;

g<<"\n nod 2 al muchiei"<<k<<":  ";f>>j;g<<j; a[i][j]=1; a[j][i]=1; }}

void scrie (){g<<"\n\nmatrice de adiacenta:\n";

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

{for (int j=1;j<=n;j++) g<<a[i][j]<<" "; g<<'\n';}}

int grad (int i)

{int s=0; for (int j=1;j<=n;j++) s+=a[i][j]; return s;}

void nod(){int ok1=0,ok2=0;

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

{if (grad(i)==0){ok1=1; g<<"\n noduri izolate sunt:\n "; g<<i<<" ";}

 if (grad(i)==1) {ok2=1; g<<"\n noduri terminale sunt:\n "; g<<i<<" ";}}

if(ok1==0) g<<"\n\nnu izolate\n\n";

if(ok2==0) g<<"\n\nnu terminale\n\n"; }

int main()

{citeste(); scrie(); nod();}

Alte întrebări interesante