Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dvodimenzionalni niz i for petlja - jel moze neko da mi objasni ?

[es] :: C/C++ programiranje :: C/C++ za početnike :: Dvodimenzionalni niz i for petlja - jel moze neko da mi objasni ?

[ Pregleda: 3765 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

[REaS0n]

Član broj: 49101
Poruke: 195
*.mediaworksit.net.



+2 Profil

icon Dvodimenzionalni niz i for petlja - jel moze neko da mi objasni ?19.03.2007. u 11:51 - pre 208 meseci
Ovo je kod iz jedne knjige koji mi bas nije jasan pa ako neko od iskusnijih ima vremena bilo bi lepo kad mi liniju po liniju objasnio,hvala..
Code:
#include <stdio.h>

main()
{
    int t, i, num[3][4];
    
    for(t=0; t<3; ++t)
      for(i=0; i<4; ++i)
      num[t][i] = (t*4)+i+1;
      /* now print them out */
      for(t=0; t<3; ++t) 
     {
       for(i=0; i<4; ++i)
       printf("%3d ", num[t][i]);
       printf("\n");
       }
       return 0;
       }
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Dvodimenzionalni niz i for petlja - jel moze neko da mi objasni ?19.03.2007. u 17:06 - pre 208 meseci
To je dakle ovaj kod (samo malo modifikovan):
http://www.java2s.com/Code/C/Data-Type/Twodimensionalintarray.htm

Citat:

Code:

#include <stdio.h> // <--- Ukljucuje se biblioteka potrebna zbog funkcije za ispis na ekran (printf)

int main(void) // <--- glavna funkcija. nema argumente (void), ima povratnu vrednost (int)
{
  int t, i, num[3][4]; // <--- t, i - promenljive potrebne dvostrukoj petlji, num - matrica dimenzija 3x4 (od [0,0] do [2,3] )

  for(t = 0; t < 3; ++t) // <--- dvostruka...
    for(i = 0; i < 4; ++i) // <--- ... petlja
      num[ t ][ i ] = ( t * 4 ) + i + 1; // <--- elementima matrice dodeljuju se redom vrednosti od 1 do 12

  /* now print them out */
  for(t = 0; t < 3; ++t) { // <--- opet dvostruka ...
    for(i = 0; i < 4; ++i)   // <--- ...petlja
      printf("%3d ", num[ t ][ i ]); // <--- ispis malocas dodeljenih vrednosti na ekran, "%3d " - da bi se vodilo racuna o razmaku i poziciji
    
    printf("\n"); // <--- predji u novi red, cim ispises tekuci red matrice
  }

  return 0; // <--- povratna vrednost glavne funkcije
}


 
Odgovor na temu

[REaS0n]

Član broj: 49101
Poruke: 195
*.mediaworksit.net.



+2 Profil

icon Re: Dvodimenzionalni niz i for petlja - jel moze neko da mi objasni ?20.03.2007. u 17:52 - pre 208 meseci
zahvaljujem x files,ali meni sledece nije jasno
Code:
for(t = 0; t < 3; ++t) // <--- dvostruka...
    for(i = 0; i < 4; ++i) // <--- ... petlja
      num[ t ][ i ] = ( t * 4 ) + i + 1; // <--- elementima matrice dodeljuju se redom vrednosti od 1 do 12

kako to da se dodeljuju vredonosti od 1 do 12,ako krene od t=0 (0*4)+0+1 =1 t =1,onda (1*4)+0+1 =5,onda t=2 (2*4)+0+1=9
za drugu petlju, (0*4)+0 +1 = 1, (0*4)+ 1+1 =2,(0*4)+2+1 =3,(0*4)+3+1 =4....znachi brojevi koje si dobijaju su 1,2,3,4,5,9.?
 
Odgovor na temu

SuPeR_MaSteR
Marko Stamenković

Član broj: 88590
Poruke: 115
*.inffo.net.



Profil

icon Re: Dvodimenzionalni niz i for petlja - jel moze neko da mi objasni ?20.03.2007. u 19:06 - pre 208 meseci
Pri prvom prolazu t = 0, i = 0:
num[0][0] = (0*4)+0+1 =1,
zatim t =0, i = 1
num[0][1] = (0*4)+1+1 =2..
i tako redom.
Prvo se izvrsava unutrasnja petlja pa tek onda spoljasnja.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Dvodimenzionalni niz i for petlja - jel moze neko da mi objasni ?20.03.2007. u 19:10 - pre 208 meseci
Citat:

kako to da se dodeljuju vredonosti od 1 do 12,ako krene od t=0 (0*4)+0+1 =1 t =1,onda (1*4)+0+1 =5,onda t=2 (2*4)+0+1=9
za drugu petlju, (0*4)+0 +1 = 1, (0*4)+ 1+1 =2,(0*4)+2+1 =3,(0*4)+3+1 =4....znachi brojevi koje si dobijaju su 1,2,3,4,5,9.?

Nisi isprobao program na racunaru?

Code:

for(t = 0; t < 3; ++t) // <--- dvostruka...
    for(i = 0; i < 4; ++i) // <--- ... petlja
      num[ t ][ i ] = ( t * 4 ) + i + 1; // <--- elementima matrice dodeljuju se redom vrednosti od 1 do 12


Petlja i se vrti brže nego t, ona se zapravo okrene cela (4 puta) za svako t (3 puta):


1-> t=0, i=0; = > 0*4 + 0 + 1 = 1
2-> t=0, i=1; ... itd
3-> t=0, i=2;
4-> t=0, i=3;
5-> t=1, i=0;
6-> t=1, i=1;
7-> t=1, i=2;
8-> t=1, i=3;
9-> t=2, i=0;
10-> t=2, i=1;
11-> t=2, i=2; ... itd
12-> t=2, i=3; = > 2*4 + 3 + 1 = 12


 
Odgovor na temu

[REaS0n]

Član broj: 49101
Poruke: 195
*.mediaworksit.net.



+2 Profil

icon Re: Dvodimenzionalni niz i for petlja - jel moze neko da mi objasni ?21.03.2007. u 10:24 - pre 208 meseci
@ X Files
isprobao sam program i video sam sta se dobije ali greska je bila u mom razumevanju kako rade ove dvostruke petlje,uglavnom sad mi je jasno hvala
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Dvodimenzionalni niz i for petlja - jel moze neko da mi objasni ?

[ Pregleda: 3765 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.