Guest User

Untitled

a guest
Feb 16th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. using Gee;
  2.  
  3. void fill_col(ref int[,] arr,int a){
  4. for (int i = 0; i < arr.length[0]; i++) {
  5. arr[i,a]=0;
  6. }
  7. }
  8.  
  9. void fill_row(ref int[,] arr,int a){
  10. for (int i = 0; i < arr.length[1]; i++) {
  11. arr[a,i]=0;
  12. }
  13. }
  14. //Не требуется для алгоритма
  15. void printMass(int[,] arr){
  16. print("\n");
  17. for (int i = 0; i < arr.length[0]; i++) {
  18. for (int j = 0; j < arr.length[1]; j++) {
  19. print(@"$(arr[i,j])");
  20. }
  21. print("\n");
  22. }
  23. }
  24. //Не требуется для алгоритма
  25. void generate_Mass(ref int[,] arr){
  26. for (int i = 0; i < arr.length[0]; i++) {
  27. for (int j = 0; j < arr.length[1]; j++) {
  28. if(Random.int_range(1,11)<2)
  29. arr[i,j]=0;
  30. else arr[i,j]=1;
  31. print(@"$(arr[i,j])");
  32. }
  33. print("\n");
  34. }
  35. }
  36.  
  37. void main(string[] args)
  38. {
  39. int n = 100000;
  40. int m = 10000;
  41. var cols = new HashSet<int> ();
  42. var rows = new HashSet<int> ();
  43. int[,] arr = new int[m, n];
  44.  
  45. generate_Mass(ref arr);print("\n");
  46.  
  47. double seconds=0;ulong microseconds=0;
  48. Timer timer = new Timer ();
  49. for (int i = 0; i < arr.length[0]; i++) {
  50. for (int j = 0; j < arr.length[1]; j++) {
  51. if(arr[i,j]==0){
  52. cols.add(j);
  53. rows.add(i);
  54. }
  55. }
  56. }
  57. foreach (int s in cols)
  58. fill_col(ref arr,s);
  59.  
  60. foreach (int s in rows)
  61. fill_row(ref arr,s);
  62.  
  63. timer.stop ();//Замеряю время
  64. seconds = timer.elapsed (out microseconds);
  65.  
  66. // printMass(arr);
  67. print (@"sec $seconds,microsec $microseconds\n");
  68.  
  69. }
Add Comment
Please, Sign In to add comment