[ AMD guy @ 05.07.2007. 14:44 ] @
C Program. Imam 2 funkcije citajMatricu i pisiMatricu
Kako da uredim kolone matrica po neopadajucem redosledu na osnovu njihove aritmeticke sredine
Anybody wanna help me :D

Code:

void citajMatricu (int x[50][50], int m, int n)         //funkcija za ucitavanje matrice....
{
    int i,j;

    printf("Ucitajte matricu...\n");

    for (i=0;i<m;i++)                                
    {                                                //ugnezdene petlje za ucitavanje matrice...
        for (j=0;j<n;j++)
        {
            printf("X[%d,%d] = ",i,j);
            scanf("%d",&x[i][j]);
        }

    printf("\n");                                    //kada se ucita jedan red, pravi se razmak, da bi korisnik shvatio 
                                                    //da pocinje ucitavanje novog reda
    }

}
 




Code:

void pisiMatricu (int x[50][50], int m, int n)        //funkcija za ispisivanje matrice...
{
    int i,j;

    printf("Ispis elemenata matrice...\n");
    printf("--------------------------------------------------------\n");
    for (i=0;i<m;i++)
    {                                                //ugnjezdene petelje za ispisivanje matrice...
        for (j=0;j<n;j++)
        {
            
            printf("%d\t",x[i][j]);
        }

    printf("\n");                                    //formatiranje prikaza (u obliku tabele): kada se ispisu vrednosti jedne vrste,
                                                    //prelazi se u novi red...
    }

    printf("--------------------------------------------------------\n\n");
}

[ fpedja @ 06.07.2007. 07:59 ] @
Cekaj malo, nisam siguran da sam te razumeo: kako mislis da uredis kolone matrice po aritmetickoj sredini? Mozes li malo da pojasnis? Evo ti procedura za sortiranje niza pa iskoristi!
Code:

        void Sort(int x[50], int n)
             {
               int i,pom;
               
               for (i=0;i<n;i++)
                   {
                     if x[i+1]<x[i]
                       {
                          pom=x[i];
                          x[i]=x[i+1];
                          x[i+1]=pom
                       }
               }
          }


Odnosno metoda zamene. Moze da se prosiri i na celu matricu. Nadam se da ce ti koristiti
[ AMD guy @ 06.07.2007. 08:29 ] @
Sorry, nisam bio jasan. Ok je za sortiranje, sada mi treba za sortiranu matricu da nadjem Aritmeticku Sredinu (tacnije za sortiranu kolonu matrice naci Aritmeticku Sredinu, jos tacnije samo za kolonu matrice treba da nadjem Aritmeticku Sredinu). Valjda je sad jasnije sta zelim. Vrste i kolone su sortirane ali samo za kolonu matrice mi treba aritmeticka vrednost. Pozzz i hvala unapred.
[ Jazzva @ 06.07.2007. 11:46 ] @
Neka imaš matricu mat[m][n]. Algoritam koji računa aritmetičke sredine kolona će izgledati ovako nekako:

Code:
for (i = 0; i < n; i++) {
    for (j = 0; j < m; j++) as[i] += mat[j][i];
    as[i] /= m;
}


as[n] je niz tipa float ili double u kome ćeš čuvati aritmetičke sredine kolona. Pre upotrebe izvrši inicijalizaciju niza na 0.
[ fpedja @ 06.07.2007. 12:07 ] @
Da se nadovezem na Jazzva, napises kao proceduru kojoj prosledjujes mat[m,n] i as, na pocetku procedure inicijalizujes as i dalje kod od kolege