Guest User

Untitled

a guest
Jan 20th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.70 KB | None | 0 0
  1.     // tablica 2-wymiarowa
  2.      
  3.     #include <iostream>
  4.     #include <ctime>
  5.     #include <cstdlib>
  6.     #include <conio.h>
  7.     #include <algorithm>
  8.      
  9.     using namespace std;
  10.     const int MAX = 10;
  11.      
  12.      
  13.     int suma (int tab[]) {
  14.         int sum = 0;
  15.         for (int i = 0; i<MAX;i++) {
  16.             sum=sum+tab[i];
  17.         }
  18.      
  19.         return sum;
  20.     }
  21.      
  22.     // zwraca true jezeli s1 jest przed s2
  23.        int comp( const void* a, const void* b ) {  // funkcja porównująca
  24.          int* arg1 = (int*) a;
  25.          int* arg2 = (int*) b;
  26.      
  27.          int s1 = suma(arg1);
  28.          int s2 = suma(arg2);
  29.      
  30.          if( s1 < s2 ) return -1;
  31.          else if( s1 == s2 ) return 0;
  32.          else return 1;
  33.        }
  34.      
  35.     int main()
  36.     {
  37.             unsigned tab[10][10], temp = 0, suma = 0, tab_suma[10];
  38.      
  39.             srand((int) time(NULL));
  40.      
  41.             // wypelnianie i wypisanie tablicy
  42.             for (int i = 0; i < 10; i++)
  43.                     for (int j = 0; j < 10; j++)
  44.                     {
  45.                             tab[i][j] = rand() % 20;
  46.                             cout.width(5);
  47.                             cout << tab[i][j];
  48.                             if (j % 9 == 0 && j != 0)
  49.                                     cout << endl;
  50.                     }
  51.      
  52.             //sortowanie babelkowe tablicy
  53.      
  54.                     for (int i = 0; i < 10; i++)
  55.                             for (int n = 0; n < 90; n++)
  56.                             for (int j = 0; j < 10; j++)
  57.                             {
  58.                                     if (tab[i][j] > tab[i][j+1])
  59.                                     {
  60.                                             temp = tab[i][j];
  61.                                             tab[i][j] = tab[i][j+1];
  62.                                             tab[i][j+1] = temp;
  63.                                     }
  64.                             }
  65.      
  66.             //wypisywanie posortowanej tablicy
  67.             cout << endl;
  68.             for (int i = 0; i <= 9; i++)
  69.                     for (int j = 0; j <= 9; j++)
  70.                     {
  71.                             suma += tab[i][j];
  72.                             cout.width(5);
  73.                             cout << tab[i][j];
  74.                             if (j % 9 == 0 && j != 0)
  75.                             {
  76.                                     cout << "\tsuma = " << suma;
  77.                                     tab_suma[i] = suma;
  78.                                     suma = 0;
  79.                                     cout << endl;
  80.                             }
  81.                     }
  82.      
  83.                     cout << endl;
  84.      
  85.                     qsort(tab,MAX,sizeof(tab[0]),comp);
  86.      
  87.             int s=0;
  88.                     //wypisywanie posortowanej przez sume tablicy
  89.                             for (int i = 0; i < 10; i++){
  90.                                                                                             s=0;
  91.                                     for (int j = 0; j < 10; j++)
  92.      
  93.                                     {
  94.      
  95.                                             cout.width(5);
  96.                                             cout << tab[i][j];
  97.                                             s=s+tab[i][j];
  98.                                             if (j % 9 == 0 && j != 0)
  99.                                             {
  100.                                                     cout << "\tsuma = " << s;
  101.                                                     cout << endl;
  102.                                             }
  103.      
  104.                                     }
  105.                             }
  106.                             getch();
  107.      
  108.     }
Add Comment
Please, Sign In to add comment