Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int sumaVector(int v[], int length)
- {
- int i, suma;
- suma = 0;
- for(i = 0; i < length; i++)
- {
- suma += v[i];
- }
- return suma;
- }
- void swap(int* a, int *b)
- {
- int aux;
- aux = *a;
- *a = *b;
- *b = aux;
- }
- void sortare_vector(int v[], int length)
- {
- //Bubble Sort
- int i, j;
- for(i = 0; i < length - 1; i++)
- {
- for(j = 0; j < length - 1 - i; j++)
- {
- if(v[j] > v[j+1])
- {
- swap(&v[j], &v[j+1]);
- }
- }
- }
- }
- void copyVector(int src[], int dst[], int length)
- {
- int i;
- for(i = 0; i < length; i++)
- {
- dst[i] = src[i];
- }
- }
- void initializareVector(int v[], int length)
- {
- int i;
- for(i = 0; i < length; i++)
- {
- v[i] = 0;
- }
- }
- void afisare_matrice(int mat[][100], int n, int m)
- {
- int i, j;
- for(i = 0; i < n; i++)
- {
- for(j = 0; j < m; j++)
- {
- printf("%d ", mat[i][j]);
- }
- printf("\n");
- }
- }
- void ordonare_matrice(int mat[][100], int n, int m)
- {
- int suma[100], suma1[100], viz[100], i, j;
- int mat1[100][100];
- for(i = 0; i < n; i++)
- {
- suma[i] = sumaVector(mat[i], m);
- suma1[i] = suma[i];
- }
- sortare_vector(suma1, m);
- initializareVector(viz, m);
- for(i = 0; i < n; i++)
- {
- for(j = 0; j < n; j++)
- {
- if(suma[i] == suma1[j] && viz[j] == 0)
- {
- copyVector(mat[i], mat1[j], m);
- viz[j] = 1;
- break;
- }
- }
- }
- for(i = 0; i < n; i++)
- {
- copyVector(mat1[i], mat[i], m);
- }
- }
- int main()
- {
- freopen("input.in", "r", stdin);
- int a[100][100], i, j, n, m;
- scanf("%d %d", &n, &m);
- for(i = 0; i < n; i++)
- {
- for(j = 0; j < n; j++)
- {
- scanf("%d", &a[i][j]);
- }
- }
- ordonare_matrice(a, n, m);
- afisare_matrice(a, n, m);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement