Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // tablica 2-wymiarowa
- #include <iostream>
- #include <ctime>
- #include <cstdlib>
- #include <conio.h>
- #include <algorithm>
- using namespace std;
- const int MAX = 10;
- int suma (int tab[]) {
- int sum = 0;
- for (int i = 0; i<MAX;i++) {
- sum=sum+tab[i];
- }
- return sum;
- }
- // zwraca true jezeli s1 jest przed s2
- int comp( const void* a, const void* b ) { // funkcja porównująca
- int* arg1 = (int*) a;
- int* arg2 = (int*) b;
- int s1 = suma(arg1);
- int s2 = suma(arg2);
- if( s1 < s2 ) return -1;
- else if( s1 == s2 ) return 0;
- else return 1;
- }
- int main()
- {
- unsigned tab[10][10], temp = 0, suma = 0, tab_suma[10];
- srand((int) time(NULL));
- // wypelnianie i wypisanie tablicy
- for (int i = 0; i < 10; i++)
- for (int j = 0; j < 10; j++)
- {
- tab[i][j] = rand() % 20;
- cout.width(5);
- cout << tab[i][j];
- if (j % 9 == 0 && j != 0)
- cout << endl;
- }
- //sortowanie babelkowe tablicy
- for (int i = 0; i < 10; i++)
- for (int n = 0; n < 90; n++)
- for (int j = 0; j < 10; j++)
- {
- if (tab[i][j] > tab[i][j+1])
- {
- temp = tab[i][j];
- tab[i][j] = tab[i][j+1];
- tab[i][j+1] = temp;
- }
- }
- //wypisywanie posortowanej tablicy
- cout << endl;
- for (int i = 0; i <= 9; i++)
- for (int j = 0; j <= 9; j++)
- {
- suma += tab[i][j];
- cout.width(5);
- cout << tab[i][j];
- if (j % 9 == 0 && j != 0)
- {
- cout << "\tsuma = " << suma;
- tab_suma[i] = suma;
- suma = 0;
- cout << endl;
- }
- }
- cout << endl;
- qsort(tab,MAX,sizeof(tab[0]),comp);
- int s=0;
- //wypisywanie posortowanej przez sume tablicy
- for (int i = 0; i < 10; i++){
- s=0;
- for (int j = 0; j < 10; j++)
- {
- cout.width(5);
- cout << tab[i][j];
- s=s+tab[i][j];
- if (j % 9 == 0 && j != 0)
- {
- cout << "\tsuma = " << s;
- cout << endl;
- }
- }
- }
- getch();
- }
Add Comment
Please, Sign In to add comment