infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: R3dC0d3 din Mai 12, 2011, 14:11:46



Titlul: Ajutor , Graf Orientat Probl
Scris de: R3dC0d3 din Mai 12, 2011, 14:11:46
Salut baieti , ma puteti ajuta si pe mine cu ceva ?
Vreau sa stiu cum ar trebui sa arate acest program in caz in care nu este bun al  meu !
Problema este :
Citat
"Se citeste de la tastatura matricea de adiacenta a unui graf orientat ! Sa se afiseze nodurile izolate!"
Eu am tratat astfel problema :
Cod:
#include<iostream.h>

int main() {

int a[ 50 ][ 50 ] , i , j , n , sw = 0 ;

cout << "Cate linii are matricea : " ;
cin >> n ;

for( i = 1 ; i <= n ; i ++ )
for( j = 1 ; j <= n ; j ++ ) {
cout << "a[ " << i << " ][ " << j << " ]= " ;
cin >> a[ i ][ j ] ;
}

cout << endl << endl ;

cout << "Nodurile izolate sunt : " ;

for( i = 1 ; i <= n ; i ++ ){
sw = 0 ;
for( j = 1 ; j <= n ; j ++ )
if( a[ i ][ j ] == 1 )
sw = 1 ;
if( sw == 0 )
cout << i << " " ;
}

}

Si daca se poate o solutie dar nu cea in care sa calculez gradul intern si cel extern si apoi suma lor !


Titlul: Răspuns: Ajutor , Graf Orientat Probl
Scris de: George Marcus din Mai 12, 2011, 14:50:21
Pare bun programul tau, nu vad de ce ai avea dubii.


Titlul: Răspuns: Ajutor , Graf Orientat Probl
Scris de: Savin Tiberiu din Mai 13, 2011, 12:01:54
Acolo unde faci foru ala in care verifici linia I daca contine vreun 1, ar trebui sa verifici si coloana i. Practic singura diferenta ar fi ca in acel if schimbi conditia asa:

Cod:
if (a[i][j] == 1 || a[j][i] == 1) {
  sw = 1;
}


Titlul: Răspuns: Ajutor , Graf Orientat Probl
Scris de: George Marcus din Mai 13, 2011, 12:50:27
Corect! E  orientat... #-o