Scrieţi un program, in limbajul C, cu pointeri care efectuează sortarea pe coloane, schimbând cu locul liniile matrice: după creşterea valorilor primelor elemente ale liniilor matricii;
Răspunsuri la întrebare
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a[ 100 ][ 100 ]; // cream matricea
int row, col; // variabilele ce raspund de numarul de coloane
int i, j;
printf( "Enter sizes of matrix: \n" ); // lungimea matricei
scanf( "%d %d", &row, &col );
for( i = 0; i < col; i++ ) // umplem matrice cu numere
{
for( j = 0; j < row; j++ )
{
a[ i ][ j ] = ( int )rand()%10;
printf( "%2d", a[ i ][ j ] );
}
printf("\n");
}
int k=0;
int temp=0;
for (i=0; i < row; i++) {
for (k=i+1; k < row; k++) {
if (a[0][i] > a[0][k]){
for (j=0; j < col; j++) {
temp = a[j][i];
a[j][i]=a[j][k];
a[j][k]=temp;
}
}
}
}
printf ("\n");
for( i = 0; i < col; i++ ) // afisam matricea ordonata
{
for( j = 0; j < row; j++ )
{
printf( "%2d", a[ i ][ j ] );
}
printf("\n");
}
}