Array.Copy metoda

poruka: 9
|
čitano: 1.762
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Array.Copy metoda

Pozz!

Recimo da imam jedno polje koje se sastoji od npr polje[1,2,3,4...n] i da moram od toga istog polja da napravim drugo koje ce se sastojati od svih clanova prvog polja ali vise puta, npr cetiri puta- polje2[1,1,1,1,2,2,2,2,3,3,3,3...n,n,n,n], dali je to moguce napraviti pomocu array.copy metode?

 
0 0 hvala 0
16 godina
neaktivan
offline
Re: Array.Copy metoda
15 godina
neaktivan
offline
Re: Array.Copy metoda

Ja bih rekao da je moguce

 

http://msdn.microsoft.com/en-us/library/z50k9bft.aspx

 

Ali jako sam tanak sa C#, pa je moguce i da sam u krivu...

So then I typed GOTO 500 - and here I am!
17 godina
offline
Re: Array.Copy metoda
kiflica kaže...

Pozz!

Recimo da imam jedno polje koje se sastoji od npr polje[1,2,3,4...n] i da moram od toga istog polja da napravim drugo koje ce se sastojati od svih clanova prvog polja ali vise puta, npr cetiri puta- polje2[1,1,1,1,2,2,2,2,3,3,3,3...n,n,n,n], dali je to moguce napraviti pomocu array.copy metode?

Pa u cemu je problem da to provrtis kroz 2 for petlje? Za ovo sto ti trazis ne postoji gotova metoda. Ali u svakom slucaju nije ju problem isprogramirati.

Mentalist je moj idol... I torrente isto
17 godina
offline
Array.Copy metoda

To je lako u C# napraviti, zato valjda nisu ugradili taj metod (ako nisu).

U C++ je malo druga priča ako dinamički alociraš niz - onda treba dodatni parametar duljinaNiza ubaciti u funkciju ili ići preko vector containera.

 

 

 static int[] VisestrukaKopija(int[] niz, int brojPonavljanja)
        {
            int[] nizPonavljanje = new int[niz.Length * brojPonavljanja];
            for (int i = 0; i < niz.Length; i++)
            {
                for (int j = i * brojPonavljanja; j < i * brojPonavljanja + brojPonavljanja; j++)
                {
                    nizPonavljanje[j] = niz[i];
                }
            }
            return nizPonavljanje;

        }

Poruka je uređivana zadnji put pon 30.5.2011 16:24 (Floki).
 
0 0 hvala 1
16 godina
neaktivan
offline
Re: Array.Copy metoda

@Floki

 

Kad pises kod pokusaj se stavit u poziciju onoga ko ga prvi put cita :P

 

for (int j = i * brojPonavljanja; j < i * brojPonavljanja + brojPonavljanja; j++)

 

To nije krivo al je zbunjujuce (barem meni), for je tu da nesto odvrti i ako je moguce (a u ovom slucaju je) trebalo bi odma bit ocito sta on to odvrti

 

Ova "formula" koju si ti izvea oznacava poziciju pa je onda i nekako logicno da ju napises na misto pozicije

 

       for (int i = 0; i < niz.Length; i++)

       {

         for (int j = 0 ; j < brojPonavljanja; j++)

         {

           nizPonavljanje[i * brojPonavljanja + j] = niz[i];

         }

       }

 

 

Note: Ovo je samo moje misljenje al mi se nekako cini da je ovako puno lakse citat i bolje pisat kod 

17 godina
offline
Array.Copy metoda

Ok, samo ja ne vidim toliki problem u tom što sam poziciju direktno izračunao u petlji , a ne vrtio petlju standardnim inkrementom, pa računao poziciju u indexu polja

 
0 0 hvala 0
16 godina
neaktivan
offline
Re: Array.Copy metoda
Floki kaže...

Ok, samo ja ne vidim toliki problem u tom što sam poziciju direktno izračunao u petlji , a ne vrtio petlju standardnim inkrementom, pa računao poziciju u indexu polja

 

Pa nisan ja reka da je problem samo kazem da je nekako teze citat.

 

Pretpstavimo da ti je neko da taj komad koda na 10 sec i reka ajd reci mi sta on radi, mora bi se dobro zagledat (zbog suvisnog mnozenja) u oba fora da bi skuzia o cem se radi

 

Po sistemu kojem san ja napisa dovoljno ti je pogledat ovaj dio < X da skuzis da za svako polje on ponavlja nesto y puta, i onda ako te zanima ides dole "proucavat formulu".

 

Malo san previse oduzia ali poanta ja da je po drugom sistemu dovoljno bacit pogled na ova 2 fora da steknes generalni dojam o cem se radi dok u prvom slucaju trebas procitat cilu tu formulu unutar fora koja je suvisna za povrsno razumjevanje koda

17 godina
offline
Array.Copy metoda

Sa pozicije preglednosti si u pravu - to ne mogu osporiti

Sa poziccije izvođenja koda - sve je isto - potpuno isti broj iteracija imaju oba primjera.

Međutim, realno rečeno - ljudi koji to čitaju su čitali milijun puta složenije školske primjere -

ne znam , ako je problem to pročitati - nije baš neko mudro slovo

ali ajde dobro - tvoj primjer je pregledniji - to stoji

 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice