Autor Zpráva
juraj
Profil
Zdravím
ako mám upraviť tento kód, aby v poli bricks spočítalo všetky jednotky a na výstupe, aby sa zobrazila hláška,že počet jednotiek v poli je 13.
V javascripte som začiatočník ďakujem za cenné rady
<script>

         var bricks = [
                    [0,0,0,1,1,1,0,0,],
                    [0,0,1,1,1,1,1,0],
                    [0,0,1,1,1,1,1,0]
                    
                               ];

for (var i=0;i<bricks.length;i++)
{
document.write(bricks.length + "<br>");//vypise pocet riadkov
   for (var j=0; j < bricks[j].length; j++) {
document.write(bricks[i] + "<br>");

//document.write(bricks[j].length + "<br>");
}


}

</script>
preca1
Profil
Zdravim,
1. musíš si vytvořit proměnnou, do který si budeš ukládat počet jedniček.
2. Při procházení vnořenými poli pak u každý hodnoty musíš zjistit, jestli je rovná 1. Pokud je, zvýšíš počet jedniček o 1.
3. Po tom, co projdeš všechny pole, vypíšeš hodnotu. Nepoužíval bych document.write.

A vypadá to, že na řádku 13 máš logickou chybu.


Musíš si uvědomit přes co iteruješ. Chce to trochu abstraktní myšlení, ale to musíš zvládnout. Máš pole v poli. Takže nejdřív iteruješ přes jedno pole a ve vnořenym cyklu iteruješ přes vnořený pole.

Kdyby něco, tak se klidně dál zeptej.
juraj
Profil
preca1:
zdravím
môžeš mi to napísať do kódu?
ďakujem


dd


preca1:
<script>
 
         var bricks = [
                    [0,0,0,1,1,1,0,0,],
                    [0,0,1,1,1,1,1,0],
                    [0,0,1,1,1,1,1,0]
                    
                               ];
 
for (var i=0;i<bricks.length;i++)
{
var pokus=bricks;
if (pokus = 1){
document.write(bricks.length + "<br>");
}
   for (var j=0; j < bricks[j].length; j++) {
//document.write(bricks[i] + "<br>");
 
//document.write(bricks[j].length + "<br>");
}
 
 
}
 
</script>
ak som to upravil takto nevyhodi mi nič
juraj
Profil
Prosím
nikto nevie poradit?
weroro
Profil
<script>

var bricks = [
              [0,0,0,1,1,1,0,0],
              [0,0,1,1,1,1,1,0],
              [0,0,1,1,1,1,1,0]
             ];
var findNum = 1; // co hladame
var foundNum = 0; // pocet

document.write(bricks.length + '<br>'); //vypise pocet riadkov

for (var i = 0; i < bricks.length; i++)
{
    for (var j = 0; j < bricks[i].length; j++)
    {
        if (bricks[i][j] == findNum)
        {
            foundNum++;
        }
    }
}

document.write(foundNum + '<br>'); //vypise celkový pocet hladaných cisel

</script>
pcmanik
Profil
juraj:
var pocet = bricks.length,
    i = 0,
    jednotky = 0,
    j, pocet2;

for (; i < pocet; i++) {
    pocet2 = bricks[i].length;

    for (j = 0; j < pocet2; j++) {
       if (bricks[i][j] === 1) jednotky++;
    }
}

// weroro ma predbehol :)
juraj
Profil
pcmanik:weroro:
ďakujem vám za všse cenné rady

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0