ajutooooooooooooooor program in c++ va rog mult!
Răspunsuri la întrebare
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();}