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

In fisierul “graf.in” exista pe prima linie numarul de noduri ale unui graf neorientat, iar pe urmatoarele linii, dispuse doua cate doua, extremitatile muchiilor grafului respectiv. Realizati un program complet care sa afiseze pe ecran numarul de muchii ce trebuiesc adaugate grafului astfel incat acesta sa devina complet. Pentru 5 noduri. Raspuns ASAP e urgent.

Răspunsuri la întrebare

Răspuns de andrei750238
1

#include <fstream>

#include <iostream>

using namespace std;

bool m[100][100];

int main(){

ifstream f("graf.in");

int n,i,j;

f >> n;

while(!f.eof()){

 f >> i >> j;

 m[i][j] = 1;

 m[j][i] = 1;

}

int nr=0;

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

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

  if(m[i][j]) nr++;

 }

}  

cout << n(n-1)/2 - nr;

}


andrei750238: Nu am avut cum sa testez programul din pacate, sper ca e ok.
andrei750238: Numarul de muchii intr-un graf complet cu n muchii : n(n-1)/2

Programul nostru numara cate muchii unice avem deja (calculand suma deasupra diagonalei principale in matricea de adiacenta).

Numarul de muchii care trebuie adaugate e egal cu numarul total de muchii - numarul de muchii pe care il avem noi
Alte întrebări interesante