Advertisement
Guest User

pagerank_rozsosp_v4

a guest
Mar 1st, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. void kiir (double tomb[], int db){
  5.     int i;
  6.     for (i = 0; i < db; ++i){
  7.         printf("%lf\n", tomb[i]);
  8.     }
  9. }
  10.  
  11. double tavolsag (double PR[], double PRv[], int n){
  12.     int i;
  13.     double osszeg = 0.0;
  14.     for (i = 0; i < n; ++i)
  15.     osszeg += (PRv[i] - PR[i]) * (PRv[i] - PR[i]);
  16.  
  17.     return sqrt(osszeg);
  18.    
  19. }
  20.  
  21. int main (){
  22.  
  23.     double L[4][4] = {
  24.         {0.0, 0.0, 1.0 / 3.0, 0.0},
  25.         {1.0, 1.0 / 2.0, 1.0 / 3.0, 0.0},      
  26.         {0.0, 1.0 / 2.0, 0.0, 0.0},
  27.         {0.0, 0.0, 1.0 / 3.0, 1.0}              
  28.         };
  29.  
  30.     double PR[4] = { 0.0, 0.0, 0.0, 0.0 };
  31.     double PRv[4] = { 1.0 / 4.0, 1.0 / 4.0, 1.0 / 4.0, 1.0 / 4.0 };
  32.  
  33.     int i, j;
  34.     double d = 0.5;
  35.  
  36.     for (;;){
  37.         for (i = 0; i < 4; ++i)
  38.         {
  39.             PR[i]=0.0;
  40.             for (j = 0; j < 4 ; ++j){
  41.                 PR[i] += (PRv[j] * L[i][j] + (1-d)/4);
  42.             }
  43.             PR[i] *= d;
  44.         }
  45.        
  46.  
  47.         if(tavolsag(PR,PRv, 4) < 0.000000001)
  48.             break;
  49.  
  50.         for (i = 0; i < 4; ++i){
  51.                 PRv[i]=PR[i];
  52.         }
  53.     }
  54.     kiir (PR, 4);
  55.     return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement