Advertisement
Guest User

Untitled

a guest
Mar 5th, 2015
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void depth_search(int, const int* , int, int*);
  5. void print_matrix(const int*, int);
  6. void print_nodes(int*, int);
  7.  
  8. int main()
  9. {
  10. int numberOfNodes, x, y;
  11. int matrix[10][10];
  12. int nodes[10] = { 0, };
  13.  
  14.  
  15. FILE* in;
  16. in = fopen("in.txt", "r");
  17.  
  18. for (int i = 0; i < 10; i++)
  19. for (int j = 0; j < 10; j++)
  20. matrix[i][j] = 0;
  21.  
  22. fscanf(in, "%d", &numberOfNodes);
  23. //arr = (int**)malloc(numberOfNodes*sizeof(int*));
  24. /*for (int i = 0; i < numberOfNodes; i++)
  25. {
  26. arr[i] = (int*)calloc(numberOfNodes, sizeof(int));
  27. }*/
  28. while(!feof(in))
  29. {
  30. fscanf(in, "%d %d", &x, &y);
  31. matrix[x-1][y-1] = 1;
  32. }
  33.  
  34.  
  35. depth_search(0, &matrix[0][0], numberOfNodes, nodes);
  36. print_nodes(nodes, numberOfNodes);
  37. print_matrix(&matrix[0][0], numberOfNodes);
  38. return 0;
  39. }
  40.  
  41. void print_matrix(const int* matrix, int numberOfNodes)
  42. {
  43. printf("\n");
  44. for (int i = 0; i < numberOfNodes; i++)
  45. {
  46. for (int j = 0; j < numberOfNodes; j++)
  47. printf("%d",matrix[i*numberOfNodes + j]);
  48. printf("\n");
  49. }
  50. }
  51.  
  52. void depth_search(int node, const int* matrix, int numberOfNodes, int* nodes)
  53. {
  54. nodes[node] = 1;
  55. for (int i = 0; i < numberOfNodes; i++)
  56. if (matrix[node * numberOfNodes + i] == 1 && nodes[i] == 0)
  57. {
  58. depth_search(i, matrix, numberOfNodes, nodes);
  59. }
  60.  
  61. //return;
  62. }
  63.  
  64. void print_nodes(int* nodes, int numberOfNodes)
  65. {
  66. printf("\n");
  67. for (int i = 0; i < numberOfNodes; i++)
  68. {
  69. if (nodes[i] == 1)
  70. printf("%d ", i+1);
  71. }
  72.  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement