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

Dvodimenzionalni nizovi, C#

[es] :: .NET :: Dvodimenzionalni nizovi, C#

Strane: 1 2

[ Pregleda: 9588 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

EmmaR
Srbija

Član broj: 269847
Poruke: 466



+172 Profil

icon Dvodimenzionalni nizovi, C#03.11.2011. u 23:12 - pre 151 meseci
Kako se radi sa višedimenzionalnim nizovima u C#? Kreiranje, dodela vrednosti ? Testerasti nizovi? Neki opšti primer?





ER
 
Odgovor na temu

Dejan Carić
Oslo, Norway

Član broj: 230976
Poruke: 232
*.dynamic.isp.telekom.rs.

Sajt: www.dcaric.com


+26 Profil

icon Re: Dvodimenzionalni nizovi, C#04.11.2011. u 00:02 - pre 151 meseci
http://msdn.microsoft.com/en-us/library/aa288453.aspx
http://msdn.microsoft.com/en-us/library/2yd9wwz4.aspx
http://www.functionx.com/csharp/Lesson23.htm
http://www.dotnetperls.com/multidimensional-array
...
 
Odgovor na temu

EmmaR
Srbija

Član broj: 269847
Poruke: 466



+172 Profil

icon Re: Dvodimenzionalni nizovi, C#04.11.2011. u 00:48 - pre 151 meseci
Hvala.

Ne nađoh sledeće:
- Da li je moguće uz pomoć foreach naredbe kod višedimenzionih nizova napraviti raspored matrice:
11 12 13 14
21 22 23 24
31 32 33 34
41 42 43 44

Nešto ovako?
Code:
int[,] dvabroja = new int[3,2] { {1,2},{3,4},{5,6} };

            //ne radi
            foreach (int red in dvabroja)
            {
                foreach (int clan in dvabroja[red])
                {
                    Console.Write(clan + "  ");
                }
               Console.WriteLine("");
             }



- Kako odrediti dužinu niza?
ER
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Dvodimenzionalni nizovi, C#04.11.2011. u 08:24 - pre 151 meseci
foreach nije olaksana for petlja, to je jezicka konstrukcija koja olaksava upotebu enumeratora u .NETu tako da prvo moras razumeti sta su i kako rade enuemratora, za pocetak vidi [ulr=http://msdn.microsoft.com/en-us/library/system.array.getenumerator.aspx]ovde[/url]. Za multidimenzionalni niz enumerator "spljeska" dimenzije u jednu. Da bi uradila to sto hoces, moras da koristis niz nizova, onda svaki za seeb ima svoje enumerator


Code (csharp):

            int[][] dvabroja = new int[][] { new int[] { 1, 2 }, new int[] { 3, 4 }, new int[] { 5, 6 } };

            foreach (int[] red in dvabroja)
            {
                foreach (int clan in red)
                {
                    Console.Write(clan + "  ");
                }
                Console.WriteLine("");
            }
 




Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Qler01

Član broj: 186964
Poruke: 328
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: Dvodimenzionalni nizovi, C#05.02.2012. u 16:59 - pre 148 meseci
Traba mi mala pomoc kod nizova
imam jedan zadatak
2. Unesi 10 brojeva, ispisati samo parne.
kako to da uradim da ispisem samo parne?

moj kod je sledeci

int[] niz;
int broj;
int brojac;
Console.Write("Unesi broj clanova niza");
broj = int.Parse(Console.ReadLine());
niz = new int[broj];
for (brojac = 0; 2*brojac==broj; brojac++)
{
Console.Write("Unesi {0} broj clanova niza", brojac);
niz[brojac] = int.Parse(Console.ReadLine());
}
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
*.dynamic.isp.telekom.rs.



+987 Profil

icon Re: Dvodimenzionalni nizovi, C#05.02.2012. u 19:47 - pre 148 meseci
Code (csharp):

            int[] niz;
            int broj;
            Console.Write("Unesi broj clanova niza: ");
            broj = int.Parse(Console.ReadLine());
            niz = new int[broj];
            for (int i = 0; i < broj; i++) niz[i] = int.Parse(Console.ReadLine());
            Console.WriteLine("Parni brojevi:");
            niz = Array.FindAll(niz, s => s % 2 == 0);
            for (int i = 0; i < niz.Length; i++) Console.WriteLine(niz[i]);
            Console.ReadKey();
 
 
Odgovor na temu

Cerberaspeed
Igor Stankovic

Član broj: 229937
Poruke: 13
*.dynamic.isp.telekom.rs.



Profil

icon Re: Dvodimenzionalni nizovi, C#13.05.2012. u 21:19 - pre 145 meseci
Moze li mi iko ukratko objasniti sta su enumeratori isto je jos bitnije cemu sluze.hvala
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
*.dynamic.isp.telekom.rs.



+987 Profil

icon Re: Dvodimenzionalni nizovi, C#13.05.2012. u 21:41 - pre 145 meseci
http://www.csharp-station.com/Tutorial/CSharp/lesson17
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: Dvodimenzionalni nizovi, C#23.05.2012. u 17:25 - pre 145 meseci
Za Qler01

Svaki paran broj je deljiv sa 2, znači radiš proveru pomoću modulo operatora da vidiš jel ima ostataka, ako nema(vraca nulu) onda je paran broj u suprotnom je neparan

Code (csharp):
private bool IsEven(int value)
        {
            return value % 2 == 0;
        }


private bool IsOdd(int value)
        {
            return value % 2 == 1;
        }

 

http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

Mare_TS
Marko Pravdic
Software Engeneer - Microsoft .NET
Beograd, Banovo Brdo

Član broj: 62586
Poruke: 35



+1 Profil

icon Re: Dvodimenzionalni nizovi, C#24.05.2012. u 11:11 - pre 145 meseci
Evo i ja da doprinesem malo i uvedem jedan zanimljiv koncept - extenzija :)

Ako postaviš ovakvu metodu u bilo koju tvoju klasu
Code:
        public static bool IsEven(this int broj)
        {
            if (broj % 2 == 0)            
                return true;
            return false;
        }

onda možeš na ovaj način da ispišeš sve parne brojeve
Code:
for (int i = 0; i < niz.Length; i++) 
         if (niz[i].IsEven()) 
             Console.WriteLine(niz[i]);

naravno podrazumeva se da je niz inicijalizovan pre toga ;)
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12850



+4784 Profil

icon Re: Dvodimenzionalni nizovi, C#24.05.2012. u 15:20 - pre 145 meseci
Nikako ne kapiram zasto ljudi pisu ovakav kod:
Citat:
Mare_TS:
Code:
        public static bool IsEven(this int broj)
        {
            if (broj % 2 == 0)            
                return true;
            return false;
        }



return value % 2 == 0; je sasvim dovoljno.
Nista licno. Vidjam to cesto. Obicno i sa nepotrebnim else.

Inace, podrzavam extension metode :)
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
82.117.203.*



+987 Profil

icon Re: Dvodimenzionalni nizovi, C#24.05.2012. u 15:25 - pre 145 meseci
Iz knjige Java™ Puzzlers: Traps, Pitfalls, and Corner Cases , ali isto tako vazi i za C#

Citat:

Puzzle 1: Oddity
The following method purports to determine whether its sole argument is an odd number. Does the method work?


public static boolean isOdd(int i) {

return i % 2 == 1;

}

Solution 1: Oddity
An odd number can be defined as an integer that is divisible by 2 with a remainder of 1. The expression i % 2 computes the remainder when i is divided by 2, so it would seem that this program ought to work. Unfortunately, it doesn't; it returns the wrong answer one quarter of the time.

Why one quarter? Because half of all int values are negative, and the isOdd method fails for all negative odd values. It returns false when invoked on any negative value, whether even or odd.

This is a consequence of the definition of Java's remainder operator (%). It is defined to satisfy the following identity for all int values a and all nonzero int values b:

(a / b) * b + (a % b) == a


In other words, if you divide a by b, multiply the result by b, and add the remainder, you are back where you started [JLS 15.17.3]. This identity makes perfect sense, but in combination with Java's truncating integer division operator [JLS 15.17.2], it implies that when the remainder operation returns a nonzero result, it has the same sign as its left operand.

The isOdd method and the definition of the term odd on which it was based both assume that all remainders are positive. Although this assumption makes sense for some kinds of division [Boxing], Java's remainder operation is perfectly matched to its integer division operation, which discards the fractional part of its result.

When i is a negative odd number, i % 2 is equal to -1 rather than 1, so the isOdd method incorrectly returns false. To prevent this sort of surprise, test that your methods behave properly when passed negative, zero, and positive values for each numerical parameter.

The problem is easy to fix. Simply compare i % 2 to 0 rather than to 1, and reverse the sense of the comparison:


public static boolean isOdd(int i) {

return i % 2 != 0;

}

If you are using the isOdd method in a performance-critical setting, you would be better off using the bitwise AND operator (&) in place of the remainder operator:


public static boolean isOdd(int i) {

return (i & 1) != 0;

}

The second version may run much faster than the first, depending on what platform and virtual machine you are using, and is unlikely to run slower. As a general rule, the divide and remainder operations are slow compared to other arithmetic and logical operations. It's a bad idea to optimize prematurely, but in this case, the faster version is as clear as the original, so there is no reason to prefer the original.

In summary, think about the signs of the operands and of the result whenever you use the remainder operator. The behavior of this operator is obvious when its operands are nonnegative, but it isn't so obvious when one or both operands are negative.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12850



+4784 Profil

icon Re: Dvodimenzionalni nizovi, C#24.05.2012. u 16:07 - pre 145 meseci
Cini mi se da se nismo razumeli. Nisam mislio na nacin dolazenja do resenja nego na strukturu koda:
Code:

if (uslov)
    return true;
else  //Ili bez else
    return false;


vs.

Code:
return uslov

 
Odgovor na temu

ravni

Član broj: 8894
Poruke: 373



+15 Profil

icon Re: Dvodimenzionalni nizovi, C#24.05.2012. u 16:47 - pre 145 meseci
Citat:
Mare_TS: Evo i ja da doprinesem malo i uvedem jedan zanimljiv koncept - extenzija :)

Ako postaviš ovakvu metodu u bilo koju tvoju klasu
Code:
        public static bool IsEven(this int broj)
...

Ne moze bas bilo koja. Klasa mora biti staticka. Takodje, mora se uvesti namespace klase sa using na mestu koriscenja (sto nekad nije ocigledno).
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: Dvodimenzionalni nizovi, C#29.05.2012. u 08:24 - pre 144 meseci
Citat:
Mare_TS: Evo i ja da doprinesem malo i uvedem jedan zanimljiv koncept - extenzija :)

Ako postaviš ovakvu metodu u bilo koju tvoju klasu
Code:
        public static bool IsEven(this int broj)
        {
            if (broj % 2 == 0)            
                return true;
            return false;
        }

onda možeš na ovaj način da ispišeš sve parne brojeve
Code:
for (int i = 0; i < niz.Length; i++) 
         if (niz[i].IsEven()) 
             Console.WriteLine(niz[i]);

naravno podrazumeva se da je niz inicijalizovan pre toga ;)


Jel tako rade ekstenzije, vidim da je IsEven metod ima jedan parametar a kod for petlje se ne prosledjuje nista iako je metod tako definisan da zahteva 1 parametar.
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

smark
Principal Manager, Software Development,
Microsoft
Prague

Član broj: 20964
Poruke: 437
*.interoute.com.

Sajt: cz.linkedin.com/in/msmark..


+11 Profil

icon Re: Dvodimenzionalni nizovi, C#29.05.2012. u 10:25 - pre 144 meseci
Nije to obican metod, vidis da u parametru stoji: this int broj.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12850



+4784 Profil

icon Re: Dvodimenzionalni nizovi, C#29.05.2012. u 10:51 - pre 144 meseci
Citat:
AMD guy: Jel tako rade ekstenzije, vidim da je IsEven metod ima jedan parametar a kod for petlje se ne prosledjuje nista iako je metod tako definisan da zahteva 1 parametar.

To kompajler prepakuje tako da umesto niz[i].IsEven() bude u stvari ImeKlase.IsEven(niz[i]). Pomocu onog "this" u definiciji funkcije odredjujes koji je parametar zapravo to na cemu pozivas funkciju (u ovom slucaju niz[i]).


[Ovu poruku je menjao Shadowed dana 31.05.2012. u 22:41 GMT+1]
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: Dvodimenzionalni nizovi, C#31.05.2012. u 11:52 - pre 144 meseci
Hvala.
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

Marko Simulak
123456adada

Član broj: 272268
Poruke: 104



+1 Profil

icon Re: Dvodimenzionalni nizovi, C#03.06.2012. u 23:35 - pre 144 meseci
Videh da vec ima slicna tema, pa rekoh da ne otvaram novu..
Pozdrav :D, radim neke zadatke sa matricama, i nesto me zeza ispis
Code:
 
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                    Console.Write("{0: 0}", a[i, j]);
                Console.WriteLine();
            }
            p = Convert.ToDouble(z / br);
            Console.WriteLine("Prosek parnih elemenata je: {0:0.00}", p); //nece da mi ispise decimalno, zaokruzi
            Console.WriteLine("{0:0.00}", 12.15465);                     //hoce da mi ispise decimalno (12.15)

            Console.Read();
           

 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
*.adsl.beocity.net.

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Dvodimenzionalni nizovi, C#04.06.2012. u 01:45 - pre 144 meseci
Ovde već imaš zaokruživanje:

Code:
z / br


Probaj:


Code:
            p = Convert.ToDouble(z) / br; 

 
Odgovor na temu

[es] :: .NET :: Dvodimenzionalni nizovi, C#

Strane: 1 2

[ Pregleda: 9588 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

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