Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.32 KB | None | 0 0
  1. /*
  2. Cititi din fisierul graf.in nr. de noduri si matricea de
  3. adiacenta a unui graf neorientat si din fisierul
  4. secv.in nr. de noduri si nodurile dintr-o secventa
  5. si apoi verificati daca secventa este un lant in graful
  6. citit.
  7. */
  8. #include <iostream>
  9. #include <fstream>
  10.  
  11. using namespace std;
  12. int a[50][50],b[80],n,m,i,j;
  13.  
  14. void citire()
  15. {
  16. ifstream f1("graf.in");
  17. f1>>n;
  18. for(i=1;i<=n;i++)
  19. for(j=1;j<=n;j++)
  20. f1>>a[i][j];
  21. ifstream f2("secv.in");
  22. f2>>m;
  23. for(i=1;i<=m;i++)
  24. f2>>b[i];
  25. }
  26.  
  27. int lant()
  28. {
  29. int k;
  30. k=1;
  31. for(i=1;i<=m-1;i++)
  32. if(a[b[i]][b[i+1]]==0)
  33. k=0;
  34. return k;
  35. }
  36.  
  37. int main()
  38. {
  39. citire();
  40. if(lant()==0)
  41. cout<<"Nu este lant"<<endl;
  42. else
  43. cout<<"Este lant"<<endl;
  44.  
  45. return 0;
  46. }
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54. /*
  55. n, a => listele de adiacenta
  56. */
  57. #include <iostream>
  58. using namespace std;
  59.  
  60. int n,a[50][50],i,j;
  61.  
  62. void citire()
  63. {
  64. cout<<"n=";
  65. cin>>n;
  66. for(i=1;i<=n;i++)
  67. for(j=1;j<=n;j++)
  68. {
  69. cout<<"a["<<i<<"]["<<j<<"]=";
  70. cin>>a[i][j];
  71. }
  72. }
  73.  
  74. void afis_listead()
  75. {
  76. for(int i=1;i<=n;i++)
  77. {
  78. cout<<"Lista de adiacenta a nodului "<<i<<":"<<endl;
  79. for(int j=1;j<=n;j++)
  80. if(a[i][j]==1)
  81. cout<<j<<" ";
  82. cout<<endl;
  83. }
  84. }
  85.  
  86. int main()
  87. {
  88. citire();
  89. afis_listead();
  90. return 0;
  91. }
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100. /*
  101. n, a=> Muchiile
  102. */
  103. #include <iostream>
  104. using namespace std;
  105. int n,a[50][50],i,j;
  106.  
  107. void citire()
  108. {
  109. cout<<"n=";
  110. cin>>n;
  111. for(i=1;i<=n;i++)
  112. for(j=1;j<=n;j++)
  113. {
  114. cout<<"a["<<i<<"]["<<j<<"]=";
  115. cin>>a[i][j];
  116. }
  117. }
  118.  
  119. void afis_muchii()
  120. {
  121. for(int i=1;i<=n;i++)
  122. {
  123. for(int j=1;j<=n;j++)
  124. if(a[i][j]==1 && i<j) //sa nu se scrie de 2 ori
  125. cout<<i<<" "<<j<<endl;
  126. }
  127. }
  128.  
  129. int main()
  130. {
  131. citire();
  132. afis_muchii();
  133. return 0;
  134. }
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145. /*
  146. Cititi elementele intregi ale unei matrice
  147. patratice si stabiliti daca poate sa fie
  148. matricea de adiacenta a unui graf. In caz
  149. afirmativ stabiliti daca este un graf
  150. neorientat.
  151. n=3
  152. 0 1 0
  153. 1 0 1 => Da
  154. 0 1 0
  155. */
  156. #include <iostream>
  157.  
  158. using namespace std;
  159.  
  160. int n,a[50][50],i,j;
  161.  
  162. void citire()
  163. {
  164. cout<<"n=";
  165. cin>>n;
  166. for(i=1;i<=n;i++)
  167. for(j=1;j<=n;j++)
  168. {
  169. cout<<"a["<<i<<"]["<<j<<"]=";
  170. cin>>a[i][j];
  171. }
  172. }
  173.  
  174. int verifmatad()
  175. {
  176. int k;
  177. k=1;
  178. for(i=1;i<=n;i++)
  179. if(a[i][i]!=0)
  180. k=0;
  181. for(i=1;i<=n;i++)
  182. for(j=1;j<=n;j++)
  183. if(i!=j)
  184. if((a[i][j]!=0)&&(a[i][j]!=1))
  185. k=0;
  186. return k;
  187. }
  188.  
  189. int grafneor()
  190. {
  191. int ok;
  192. ok=1;
  193. for(i=1;i<=n-1;i++)
  194. for(j=i+1;j<=n;j++)
  195. if(a[i][j]!=a[j][i])
  196. ok=0;
  197. return ok;
  198. }
  199. int main()
  200. {
  201. citire();
  202. if(verifmatad()==0)
  203. cout<<"Nu este matrice de adiacenta";
  204. else
  205. {
  206. cout<<"Este matrice de adiacenta"<<endl;
  207. if(grafneor()==1)
  208. cout<<"Graful este neorientat";
  209. else
  210. cout<<"Graful este orientat";
  211. }
  212. return 0;
  213. }
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223. /*
  224. n, m, Muchiile => a
  225. */
  226. #include <iostream>
  227. using namespace std;
  228. int n,a[50][50],i,j,m,x,y;
  229.  
  230. void citire()
  231. {
  232. cout<<"n=";
  233. cin>>n;
  234. cout<<"m=";
  235. cin>>m;
  236. for(i=1;i<=m;i++)
  237. {
  238. cout<<"x=";
  239. cin>>x;
  240. cout<<"y=";
  241. cin>>y;
  242. a[x][y]=1;
  243. a[y][x]=1;
  244. }
  245. }
  246.  
  247. void afisare()
  248. {
  249. for(int i=1;i<=n;i++)
  250. {
  251. for(int j=1;j<=n;j++)
  252. cout<<a[i][j]<<" ";
  253. cout<<endl;
  254. }
  255. }
  256.  
  257. int main()
  258. {
  259. citire();
  260. afisare();
  261. return 0;
  262. }
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272. /*
  273. n, a=> Muchiile
  274. */
  275. #include <iostream>
  276. #include <fstream>
  277. using namespace std;
  278. int n,a[50][50],i,j,nr;
  279.  
  280. void citire()
  281. {
  282. ifstream f("matad.in");
  283. f>>n;
  284. for(i=1;i<=n;i++)
  285. for(j=1;j<=n;j++)
  286. f>>a[i][j];
  287. }
  288.  
  289. int numar_muchii()
  290. {
  291. nr=0;
  292. for(int i=1;i<=n;i++)
  293. for(int j=i+1;j<=n;j++) //deasupra diag. princ.
  294. if(a[i][j]==1)
  295. nr++;
  296. return nr;
  297. }
  298.  
  299. int main()
  300. {
  301. citire();
  302. cout<<numar_muchii();
  303. return 0;
  304. }
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312. ///Se citesc n si a
  313. ///pt. un graf neorientat.
  314. ///Sa se verifice daca este
  315. ///graful nul.
  316. #include <iostream>
  317. using namespace std;
  318. int n,a[50][50],ok=1;
  319. int main()
  320. {
  321. cout << "n=";
  322. cin>>n;
  323. for(int i=1;i<=n;i++)
  324. for(int j=1;j<=n;j++)
  325. {
  326. cin>>a[i][j];
  327. if(a[i][j]!=0)
  328. ok=0;
  329. }
  330. ///for(int i=1;i<=n;i++)
  331. ///for(int j=1;j<=n;j++)
  332. ///if(a[i][j]!=0)
  333. ///ok=0;
  334. if(ok==1)
  335. cout<<"Graf nul";
  336. else
  337. cout<<"Graful nu este nul";
  338. return 0;
  339. }
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350. ///Se citesc nr. de noduri
  351. ///si matricea de adiacenta
  352. ///a unui graf neorientat.
  353. ///Sa se afiseze gradul fiecarui nod.
  354. #include <iostream>
  355. using namespace std;
  356. int n,a[50][50];
  357. int grad(int x)
  358. {
  359. int s=0;
  360. for(int j=1;j<=n;j++)
  361. s=s+a[x][j];
  362. return s;
  363. }
  364. int main()
  365. {
  366. cout<<"n=";
  367. cin>>n;
  368. for(int i=1;i<=n;i++)
  369. for(int j=1;j<=n;j++)
  370. cin>>a[i][j];
  371. for(int i=1;i<=n;i++)
  372. cout<<grad(i)<<endl;
  373. return 0;
  374. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement