SHARE
TWEET

Untitled

a guest Nov 21st, 2019 92 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     int a,poczatek;
  9.  
  10.     fstream plik;
  11.     plik.open( "In0305.txt" );
  12.     plik >> a >> poczatek;
  13.     int tab1[a][a];
  14.     int tab2[a][a];
  15.     for (int i = 0; i<a; i ++)
  16.     {
  17.         for (int j= 0; j < a;j++)
  18.         {
  19.             plik >> tab1[i][j];
  20.         }
  21.  
  22.     }
  23. //odwracanie tablicy
  24.      for(int i = 0; i < a; i++)
  25.  
  26.    {
  27.        for(int j = 0;j < a; j++)
  28.          tab2[j][i]=tab1[i][j];
  29.    }
  30.  
  31.  
  32.  
  33. for (int i =0; i <a;i++)
  34. {
  35.     for (int j=0;j<a;j++)
  36.     {
  37.         cout<< tab2[i][j] << " ";
  38.     }
  39.     cout<<endl;
  40. }
  41.  
  42. int tabsort[a][a];
  43.  
  44.  
  45.  
  46. for (int i =0; i <a;i++)
  47. {
  48.     for (int j=0;j<a;j++)
  49.     {
  50.        tabsort[i][j] = 0;
  51.     }
  52.  
  53. }
  54. // wypelnianie pierwszego wiersza wartosciami liczby z pliku
  55. poczatek = poczatek -1;
  56. for  (int i = 0; i < 6; i++)
  57. {
  58.     tabsort[0][i] = tab2[poczatek][i];
  59. }
  60.  cout<<endl;
  61.  
  62. for (int i =0; i <a;i++)
  63. {
  64.     for (int j=0;j<a;j++)
  65.     {
  66.         cout<< tabsort[i][j] << " ";
  67.     }
  68.     cout<<endl;
  69. }
  70. int maxi=100;
  71. int mini;
  72. int b,c,d =1;
  73. int tabdist[a];
  74.  
  75. for (int i = 0; i <a; i++)
  76. {
  77.     tabdist[i] = 0;
  78. }
  79. // szukanie najmniejszej liczby w 1 wierszu
  80.  for (int i =0; i <a;i++)
  81. {
  82.     for (int j=0;j<a;j++)
  83.     {
  84.         if ( tabsort[i][j] != 0 && tabsort[i][j] != -1 )
  85.         {
  86.             if (tabsort[i][j] <maxi)
  87.             {
  88.             maxi = tabsort[i][j];
  89.  
  90.             c = j;
  91.             }
  92.  
  93.         }
  94.  
  95.     }
  96.  
  97. }
  98. tabdist[a-1]= 0;
  99. tabdist[c]= maxi;
  100. cout << maxi << endl;
  101.  cout << " " << c << endl;
  102.  
  103. // wypisywanie - pod najmniejsza liczba i poczatkiem
  104.     for (int j=1;j<a;j++)
  105.     {
  106.         tabsort[j][c]= -2;
  107.         tabsort[j][poczatek] = -2;
  108.     }
  109.  
  110.     for (int i =0; i <a;i++)
  111. {
  112.     for (int j=0;j<a;j++)
  113.     {
  114.         cout<< tabsort[i][j] << "  ";
  115.     }
  116.     cout<<endl;
  117. }
  118. cout << endl;
  119. int f=1;
  120.  
  121. //while(d<a)
  122. //{
  123.  
  124. // dodawanie
  125.  
  126.     for (int j = 0 ; j <a; j++)
  127.     {
  128.         if (tabsort[f][j]!= -2 )
  129.         {
  130.             if(tab2[c][j]!= -1)
  131.             {
  132.                     tabsort [f][j] = tab2[c][j]+maxi;
  133.             }
  134.             else
  135.                 tabsort [f][j] = tab2[c][j];
  136.         }
  137.  
  138.         if ( tabsort[f-1][j] < tabsort[f][j] && (tabsort[f-1][j] == -1 || tabsort[f-1][j] == -2))
  139.             tabsort[f][j] = tabsort[f][j];
  140.             else
  141.             tabsort[f][j] = tabsort[f-1][j];
  142.     }
  143. // szukanie min
  144. maxi = 100;
  145.  for (int j=0;j<a;j++)
  146.     {
  147.         if ( tabsort[f][j] != -2 && tabsort[f][j] != -1 )
  148.         {
  149.             if (tabsort[f][j] <maxi)
  150.             {
  151.             maxi = tabsort[f][j];
  152.  
  153.             c = j;
  154.             }
  155.  
  156.         }
  157.  
  158.     }
  159.  
  160.     for (int i=f+1;i<a;i++)
  161.     {
  162.         tabsort[i][c]= -2;
  163.     }
  164. tabdist[c]= maxi;
  165. cout << maxi << " " << c << endl;
  166. //d++;
  167. //f++;
  168. //}
  169.  
  170.  
  171.  
  172.  
  173. for (int i =0; i <a;i++)
  174. {
  175.     for (int j=0;j<a;j++)
  176.     {
  177.         cout<< tabsort[i][j] << "  ";
  178.     }
  179.     cout<<endl;
  180. }
  181. cout << endl;
  182. for (int i = 0;i <a; i++)
  183. {
  184.     cout << tabdist[i] << " ";
  185. }
  186.  
  187.  
  188. //d++
  189. //}
  190.  
  191.     return 0;
  192. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top