Вишедимензионални низови

Много проблема могу веома ефикасно да се реше ако се употребе вошедимензионални низови. Пр. табела са две или више колоне може да се представи као дводимензионални низ, а више табела као тродимензионални низ.

пр. Потребно је да се у метеролошком заводу обради статистика месечних падавина за прва три месеца у години за неког града за период од 5 године (од 199101995). Циљ обраде је просечне месечне и годишње падавине. Да би се обрадили просечне падавине треба сумирати податке у одговарајућој врсти и поделити са 3, а за месечне падавине треба сабрати податке по колони за дати месец и затим поделити са 5.

Година јан
0
феб
1
март
2
Просек
91-0 xx xx xx
92-1 xx xx xx
93-2 xx xx xx
94-3 xx xx xx
95-4 xx xx xx
Просек

Матрица, појам који се користи у математици,  дводимензионални низ ; приказије се унутар угластих заграда и дефинисана је са бројем редова и колона.  Приступ елементима матрице је преко индекса редова и колона.

Значи, предходни пробле се своди на  дводимензионалну матрицу реда 5*3, 3 врсте и 3 колоне.

За решавање проблема користе се низ низова. Основни низ има 5 елемената, који су низови од 3 елемената. Декларишемо на сл. начин:

kisa[5][3]; 

Елемент матрице kisa[1][3] оперише са количуном падавина за јануар 1992год. Променом дригог индекса кретанје је по врсти, а променом првог индекса кретанје је по колони. Збир количине падавина за март 1991 и 1994 се представлја као klasa[0][3]+klasa[3][3].

Иницијализација дводимензионалних низова- иницијализовани елементи се наводе по врстама.

пр.

static int tabela[3][4]={{1,1,1,1}, {2,2,2,2},{3,3,3,3}}  ili

static int tabela[3][4]={

{1,1,1,1},

                                                        {2,2,2,2},

                                                        {3,3,3,3},

                                                         };

пр.

static int A[2][3]={

{1,2},

{3,4},

};

Реч је о матрици А чији су елементи 1 2 0

                                                                                3 4 0

Пр.

Декларација матрице А 2*3  са елементима 1 2 3

                                                                                    4 0 0

Static int A[2][3]={1,2,3,4}

Решење примера :

#include<stdio.h>
#include<math.h>
float kisa[5][12];
main()
{

/* deklaracija dvodimenzionalnog niza*/

/*deklaracija jednogdimenzionalnog niza*/
static float mesecp[12],godp[5];
int i, j;
mesecp[0]=0;
godp[0]=0;

printf(„Unesite podatke iz tabelu vrstu po vrstu“);
for (i=0;i<3;i++)
{
printf(„podaci za %d godinu\n“,i+1991);
for (j=0;j<3;j++)
{
scanf(„%f“,&kisa[i][j]);
mesecp[j]+=kisa[i][j];
godp[i]+=kisa[i][j];

}
godp[i]+=kisa[i][j];
godp[i]/=3;
}
printf(„godisnji proseci su:\n“);
for (i=0;i<5;i++)
printf(„Za %d g prosek %15.3f\n“,i+1991,godp[i]);
printf(„Mesecni proseci su :\n“);
for (j=0;j<3;j++)
printf(„za %d mesec prosek %15.3f\n“, j+1,mesecp[j]/5);
return 0;
}

Ostavite odgovor

Popunite detalje ispod ili pritisnite na ikonicu da biste se prijavili:

WordPress.com logo

Komentarišet koristeći svoj WordPress.com nalog. Odjavite se /  Promeni )

Google photo

Komentarišet koristeći svoj Google nalog. Odjavite se /  Promeni )

Slika na Tviteru

Komentarišet koristeći svoj Twitter nalog. Odjavite se /  Promeni )

Fejsbukova fotografija

Komentarišet koristeći svoj Facebook nalog. Odjavite se /  Promeni )

Povezivanje sa %s