kostantinaras

PDP

Mar 19th, 2012
80
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. unsigned long int n,n1,n_base,n_try,up_timh_n_try,up_timh_n_base,*pinakas;
  5. int main(void)
  6. {
  7. //--------------------------------------------
  8.    FILE * in = fopen ("operators.in", "r");
  9.    FILE * out = fopen ("operators.out", "w");
  10.    fscanf (in , "%ld/n", &n);
  11. //--------------------------------------
  12.  
  13.      
  14. pinakas = (unsigned long int *) malloc(n * 4);      
  15.  
  16. long int up_timh1,up_timh;
  17.  
  18.       n--;
  19.       n1=0;
  20. //--------------------------------------
  21.    fscanf(in,"%ld",&pinakas[0]);
  22. n1++;
  23. read:                                 //for (n1++;n1<=n;n1++)
  24. fscanf(in," %ld",&pinakas[n1]);       //{
  25. n1++;                                  //fscanf(in," %ld",&pinakas[n1]);
  26. if(n1<=n)                             //}
  27.  goto read;
  28.  //---------------------------------------
  29.  
  30.  
  31. n_try=n;
  32. n_base=0;
  33. //--------------------------------------------
  34. up_timh=2147483647;
  35. //---------------------------------------------------------------
  36. //----------------------------------------------------------------
  37. //------------------------------------------------------------
  38.  loop:
  39.      
  40.      
  41.                 n1=up_timh1=pinakas[n_base] + pinakas[n_try];
  42.          
  43.          if(up_timh1 < 0)
  44.            n1=up_timh1*= -1;
  45.          
  46.          if(up_timh1 < up_timh)
  47.              {
  48.               up_timh=up_timh1;
  49.               up_timh_n_try=n_try;
  50.               up_timh_n_base=n_base;
  51.              }
  52.        
  53.        
  54.        
  55.     main_loop:  //------------------------------------------
  56.        
  57.         n_try--;
  58.        
  59.         if (n_base == n_try)
  60.            goto print;
  61.            
  62.                   up_timh1=pinakas[n_base] + pinakas[n_try];
  63.          
  64.          if(up_timh1 < 0)
  65.              up_timh1*= -1;
  66.             if (up_timh1 < n1)
  67.                {
  68.            
  69.        
  70.         //----------------------------------------------   
  71.        
  72.         if(up_timh1 < up_timh)
  73.                        {
  74.                         up_timh=up_timh1;
  75.                         up_timh_n_try=n_try;
  76.                         up_timh_n_base=n_base;
  77.                         }
  78.        
  79.        
  80.        
  81.          
  82.                      
  83.            
  84.                       n1 = up_timh1;
  85.                       goto main_loop;
  86.              }
  87.                    
  88.  
  89. next_base:  //------------------------------------
  90.        
  91.        
  92.         n_try++;
  93.        
  94.        
  95.                    
  96.        
  97.         n_base++;
  98.         if (up_timh == 0)
  99.            goto print;
  100.            
  101.         goto loop;
  102.  
  103.  
  104. //--------------------------------------------------------
  105. //--------------------------------------------------------
  106. //--------------------------------------------------------
  107. print:
  108.  
  109.  fprintf(out,"%ld %ld\n",pinakas[up_timh_n_base],pinakas[up_timh_n_try]);
  110.  
  111.  
  112. //---------------------------------------
  113.  
  114. end:
  115. fclose(in); fclose(out);
  116.    return 0;
  117. }
RAW Paste Data