while((a[i][j]!=0)&&(a[i][j]!=1)); } } int suma() { for(i=1;i<=n;i++) for(j=1;j<=n;j++) s=s+a[i][j]; return s; } int muchii() { for(i=1;i<n;i++) for(j=i+1;j<=n;j++) m=m+a[i][j]; return m; } void calculeaza() { if(s==2*m) cout<<"Da"; else cout<<"Nu"; } int main() { cout<<"n=";cin>>n; citire(); muchii(); suma(); calculeaza(); return 0;} Pentru a verifica dac gradele g(1),g(2),,g(n) pot reprezenta gradele vrfurilor unui graf neorientat, verificm daca suma acestor grade este egala cu dublul numrului de muchii. Funcia citire() citete elementele matricei dac i numai dac acestea sunt valori de 0 sau 1. Funcia muchii() calculeaz numrul de muchii a grafului, adic toate elementele de 1 de deasupra diagonalei principale. Acestea fiind valori de 1, vom calcula suma dintre ele. Funcia suma() calculeaz suma tuturor elementelor din matrice,ele fiind valori de 0 sau 1, nseamn ca va afla numrul tuturor valorilor de 1. Funcia calculeaz() verific daca suma tuturor elementelor din matrice este egal cu dublul sumei elementelor de pe diagonala principal. n caz afirmativ, nseamn c graful este graf neorientat, iar in caz contrar, graful nu este graf neorientat. n funcia main() citim mai nti numrul de vrfuri ale grafului. Apoi apelm fiecare funcie.