Advertisement
MeehoweCK

Untitled

Nov 8th, 2020
1,879
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.87 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include <ctime>
  4.  
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     const int N = 6;
  9.     int tab[N][N] ;
  10.     for ( int w = 0; w < N; w++)
  11.     {
  12.         for( int k = 0; k < N; k++)
  13.         {
  14.             tab[w][k] = rand ();
  15.         }
  16.     }
  17.     for ( int w = 0; w < N; w++)
  18.     {
  19.         for( int k = 0; k < N; k++)
  20.         {
  21.             std:: cout << tab[w][k] << '\t';
  22.         }
  23.         std:: cout << std:: endl;
  24.     }
  25.     int a = tab[0][0];
  26.     int b = tab[1][1];
  27.     int a_i = 0, a_j = 0, b_i = 1, b_j = 1;
  28.     if(b > a)
  29.     {
  30.         std:: swap (a, b);
  31.         std::swap(a_i, b_i);
  32.         std::swap(a_j, b_j);
  33.     }
  34.  
  35.     for(int i = 0; i < N; ++i)
  36.         for(int j = 0; j < N; ++j)
  37.         {
  38.             if(i == j || i == N - j - 1)
  39.             {
  40.                 // sprawdzamy czy dany element jest większy od dotychczas największego:
  41.                 if(tab[i][j] > a)
  42.                 {
  43.                     b = a;
  44.                     b_i = a_i;
  45.                     b_j = a_j;
  46.                     a = tab[i][j];
  47.                     a_i = i;
  48.                     a_j = j;
  49.                 }
  50.                 // sprawdzamy czy dany element jest większy od dotychczas drugiego największego:
  51.                 else if(tab[i][j] > b)
  52.                 {
  53.                     b = tab[i][j];
  54.                     b_i = i;
  55.                     b_j = j;
  56.                 }
  57.             }
  58.         }
  59.  
  60.  
  61.  
  62.     int c = tab[0][0];
  63.     int c_i = 0;
  64.     int c_j = 0;
  65.     int d = tab[0][1];
  66.     int d_i = 0;
  67.     int d_j = 1;
  68.     if(d < c)
  69.     {
  70.         std::swap(c, d);
  71.         std::swap(c_i, d_i);
  72.         std::swap(c_j, d_j);
  73.     }
  74.     for (int i = 0; i < N; i++ )
  75.     {
  76.         for(int j = 0; j < N; j++)
  77.         {
  78.             if(( i > 0 && i < N - 1) && (j > 0 && j < N -1))
  79.                 continue;
  80.             if(tab[i][j] < c)
  81.             {
  82.                 d = c;
  83.                 d_i = c_i;
  84.                 d_j = c_j;
  85.                 c = tab[i][j];
  86.                 c_i = i;
  87.                 c_j = j;
  88.             }
  89.             else if(tab[i][j] < d)
  90.             {
  91.                 d = tab[i][j];
  92.                 d_i = i;
  93.                 d_j = j;
  94.             }
  95.         }
  96.     }
  97.  
  98.     std:: cout << std::endl << "Najwieksze wartosci na przekatnych wynosza " << a << " oraz " << b << std::endl;
  99.     tab[a_i][a_j] = 0;
  100.     tab[b_i][b_j] = 0;
  101.     std::cout << std::endl;
  102.     std:: cout << "Najmniejsza liczba na obwodzie to:" << c ;
  103.     std:: cout << std::endl;
  104.     std:: cout << "Druga Najmniejsza liczba na obwodzie to:" << d ;
  105.     std:: cout << std::endl << std::endl;
  106.     tab[c_i][c_j] = c + d;
  107.     tab[d_i][d_j] = c + d;
  108.  
  109.     for ( int w = 0; w < N; w++)
  110.     {
  111.         for( int k = 0; k < N; k++)
  112.         {
  113.             std:: cout << tab[w][k] << '\t';
  114.         }
  115.         std:: cout << std:: endl;
  116.     }
  117.     return 0;
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement