c# index out of bounds of array Vyřešeno

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: říjen 10
Pohlaví: Muž
Stav:
Offline

c# index out of bounds of array  Vyřešeno

Příspěvekod agil » 08 črc 2013 11:50

zdravím, mám problém, stím, že když je políčko mina, tak všechna políčka kolem něj dostanou hodnotu 1, ale v případě, že je mina na kraji pole, tak se dostanu mimo pole, nevíte někdo jendoduché řešení? :D

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 (Array.pole[a, b + 1] != 1)
                            {
                                //dolu
                                Array.poleM[a, b + 1] += 1;

                                //dolu
                            }
                            if (Array.pole[a + 1, b] != 1)
                            {
                                //doprava
                                Array.poleM[a + 1, b] += 1;
                                //doprava
                            }
                            if (Array.pole[a - 1, b] != 1)
                            {
                                //doleva
                                Array.poleM[a - 1, b] += 1;
                                //doleva
                            }
                            if (Array.pole[a, b - 1] != 1)
                            {
                                //nahoru
                                Array.poleM[a, b - 1] += 1;
                                //nahoru
                            }
                            if (Array.pole[a - 1, b - 1] != 1)
                            {
                                //vlevo nahore
                                Array.poleM[a - 1, b - 1] += 1;
                                //vlevo nahore
                            }
                            if (Array.pole[a + 1, b - 1] != 1)
                            {
                                //vpravo nahore
                                Array.poleM[a + 1, b - 1] += 1;
                                //vpravo nahore
                            }
                            if (Array.pole[a - 1, b + 1] != 1)
                            {
                                //vlevo dole
                                Array.poleM[a - 1, b + 1] += 1;
                                //vlevo dole
                            }
                            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!

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# index out of bounds of array

Příspěvekod CZechBoY » 08 črc 2013 11:59

zdravím,
zjisti si, jestli ten bod pole[a+1, b] je v rámci toho pole a pak až s nim něco dělej
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: říjen 10
Pohlaví: Muž
Stav:
Offline

Re: c# index out of bounds of array

Příspěvekod agil » 08 črc 2013 12:12

jo, to sem zkoušel,ale nevím jak to zjistit, zkoušel sem tohle.. if ((Array.pole[a, b - 1] != 1) && (Array.pole[a, b -1 ]< Array.y) && (b-1 >=0 ))
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: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# index out of bounds of array

Příspěvekod CZechBoY » 08 črc 2013 12:14

co je vůbec Array?
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: říjen 10
Pohlaví: Muž
Stav:
Offline

Re: c# index out of bounds of array

Příspěvekod agil » 08 črc 2013 12:16

třída, ve ktery mam inicializovany pole, to pak volám přes konstruktor.... pole ma indexy 0-19
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: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# index out of bounds of array

Příspěvekod CZechBoY » 08 črc 2013 12:18

no chtěl jsem třeba seznam vlastností a tak, ale budiž :D
zkontroluj
a>0, b>0
a < Array.x, b < Array.y
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: říjen 10
Pohlaví: Muž
Stav:
Offline

Re: c# index out of bounds of array

Příspěvekod agil » 08 črc 2013 12:22

pořád neufnguje

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

http://postimg.org/image/ezh3tgtw1/ nechápu, rpoč to je červený u b, vždyt 6 leží v poli
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: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# index out of bounds of array

Příspěvekod CZechBoY » 08 črc 2013 12:29

tu megapodmínku nemusíš mít u všech podmínek
když hledáš index a+1, b tak ti stačí ověřit jestli a < Array.x
zas když hledáš a, b-1 tak ti stačí ověřit b > 0

jo a tyhle podmínky na hranice pole by měly být dřív než kontrolování hodnoty na tom indexu
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: říjen 10
Pohlaví: Muž
Stav:
Offline

Re: c# index out of bounds of array

Příspěvekod agil » 08 črc 2013 12:39

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

//dolu
}

nefunguje :D
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: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# index out of bounds of array

Příspěvekod CZechBoY » 08 črc 2013 12:41

co to píše?
v Array.y je uložená výška pole teda jo?

to poleM kontrolovat nemusíš?
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: říjen 10
Pohlaví: Muž
Stav:
Offline

Re: c# index out of bounds of array

Příspěvekod agil » 08 črc 2013 12:45

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

//dolu
}

ted to ukazuje problém na tohle if (Array.pole[a, b + 1] != 1) ...b= 19, a = 7... to nechápu , vždyt to splnuje podmínku

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

no poleM bych nekontroloval, protože má stejný rozmery jako pole

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

pořád index out of rang exception
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: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# index out of bounds of array

Příspěvekod CZechBoY » 08 črc 2013 12:51

jaká je hodnota b a Array.y v tom bodě kdy to spadne?
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


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Valve index Příloha(y)
    od Pedrossos » 20 kvě 2025 17:38 » v Problémy s hardwarem
    2
    1916
    od Pedrossos Zobrazit poslední příspěvek
    10 čer 2025 11:51
  • Index webu Příloha(y)
    od Tondaaaa » 18 srp 2024 00:15 » v Web-tipy a vaše weby
    5
    11920
    od HelFix Zobrazit poslední příspěvek
    28 srp 2024 12:14

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti