c# index out of bounds of array

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

agil
Level 2
Level 2
Příspěvky: 181
Registrován: 08 říj 2010 21:58

Re: c# index out of bounds of array

Příspěvek od agil »

no ted to píše, že b nevadí, ale a vadí ,hodnoty v nem jsou ruzny ..12.13.19...proste cokoliv
immortal-world.net - přijďte si zahrát!
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: c# index out of bounds of array

Příspěvek od CZechBoY »

no musíš zkontrolovat jestli to fakt nepřesahuje a porovnat si to sám
jestli se Array.y (Array.x) mění tak to zkontroluj
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
agil
Level 2
Level 2
Příspěvky: 181
Registrován: 08 říj 2010 21:58

Re: c# index out of bounds of array

Příspěvek od agil »

ted nerozumim, vždyt to mam správne napsany a array.y/x je pevně daná hodnota, to pole se přece nemění
immortal-world.net - přijďte si zahrát!
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: c# index out of bounds of array

Příspěvek od CZechBoY »

tak to teda funguje?
napiš stávající kod
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
agil
Level 2
Level 2
Příspěvky: 181
Registrován: 08 říj 2010 21:58

Re: c# index out of bounds of array

Příspěvek od agil »

No právě že nefunguje

Kód: Vybrat vše

  if ( b< Array.y ) 
                                if (Array.pole[a, b + 1] != 1)
                            {
                                //dolu
                                Array.poleM[a, b + 1] += 1;

                                //dolu
                            }
immortal-world.net - přijďte si zahrát!
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: c# index out of bounds of array

Příspěvek od CZechBoY »

na jakým řádku to píše tu chybu?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
agil
Level 2
Level 2
Příspěvky: 181
Registrován: 08 říj 2010 21:58

Re: c# index out of bounds of array

Příspěvek od agil »

if (Array.pole[a, b + 1] != 1)

ale nekdy to jde, enkdy nejde, podle toho jak se to vygeneruje

--- Doplnění předchozího příspěvku (08 Črc 2013 19:28) ---

NO, TAK SEM TO KONEČNĚ VYŘEŠIL, kdyby nekdo treba potreboval, tady je finalni kod

Kód: Vybrat vše

                for (int a = 0; a < Array.x; a++)
                {
                    for (int b = 0; b < Array.y; b++)
                    {


                        if (Array.pole[a, b] == 1)
                        {
                            Array.poleM[a, b] = 0;


                            if (b + 1 < Array.y)
                            {
                                if (Array.pole[a, b + 1] != 1)
                                {
                                    //dolu
                                    Array.poleM[a, b + 1] += 1;

                                    //dolu
                                }

                            }

                            if (a + 1 < Array.x)
                            {

                                if (Array.pole[a + 1, b] != 1)
                                {
                                    //doprava
                                    Array.poleM[a + 1, b] += 1;
                                    //doprava
                                }
                            }

                            if (a - 1 >= 0)
                            {

                                if (Array.pole[a - 1, b] != 1)
                                {
                                    //doleva
                                    Array.poleM[a - 1, b] += 1;
                                    //doleva
                                }
                            }

                            if (b - 1 >= 0)
                            {

                                if (Array.pole[a, b - 1] != 1)
                                {
                                    //nahoru
                                    Array.poleM[a, b - 1] += 1;
                                    //nahoru
                                }
                            }
                            if ((b - 1 >= 0) && (a - 1 >= 0))
                            {

                                if (Array.pole[a - 1, b - 1] != 1)
                                {
                                    //vlevo nahore
                                    Array.poleM[a - 1, b - 1] += 1;
                                    //vlevo nahore
                                }
                            }

                            if ((b - 1 >= 0) && (a + 1 < Array.x))
                            {
                                if (Array.pole[a + 1, b - 1] != 1)
                                {
                                    //vpravo nahore
                                    Array.poleM[a + 1, b - 1] += 1;
                                    //vpravo nahore
                                }
                            }

                            if ((b + 1 < Array.y) && (a - 1 >= 0))
                            {
                                if ((Array.pole[a - 1, b + 1] != 1))
                                {
                                    //vlevo dole
                                    Array.poleM[a - 1, b + 1] += 1;
                                    //vlevo dole
                                }
                            }

                            if ((b + 1 < Array.y) && (a + 1 < Array.x))
                            {

                                if ((Array.pole[a + 1, b + 1] != 1))
                                {
                                    //vpravo dole
                                    Array.poleM[a + 1, b + 1] += 1;
                                    //vpravo dole
                                }
                            }
                        }
                    }
                }
immortal-world.net - přijďte si zahrát!
Zamčeno
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Valve index
    od Pedrossos » » v Problémy s hardwarem
    2 Odpovědi
    3468 Zobrazení
    Poslední příspěvek od Pedrossos

Zpět na „Programování a tvorba webu“