none
como somar a diagonal do For (Matriz) RRS feed

  • Pergunta

  • protected void Page_Load(object sender, EventArgs e)
            {
                
                int i;
                int j;
                int tot = 0;
                for (i = 0; i < 3; i++)
                {
                    for (j = 0; j < 3; j++)
                    {
                        tot++;
                        Response.Write("&nbsp;&nbsp;" + tot.ToString());   
                    }
                    Response.Write("<br>");
                }

                Response.Write("Total: " + "x");

            }
    terça-feira, 29 de janeiro de 2013 12:30

Respostas

  • Não entendi muito bem..

    Quais seriam os valores da tua matriz, o próprio for ?

    Mas então, para somar a diagonal da sua matriz basta somar todos os campos onde "i" = "j"

    Imagem para entender melhor : http://www.macsystemeduc.com.br/livros/ex12/Image106.gif

    Fica mais ou menos isso.

    for (i = 0; i < 3; i++)
    {
    	for (j = 0; j < 3; j++)
    	{
    		if (i == j)
    		{
    			diagonal++;
    		}
    	}
    }

    Abraço

    terça-feira, 29 de janeiro de 2013 13:23
  • Não precisa fazer 2 for, a matriz é quadrada logo o índice de i será o mesmo de j:

    protected void Page_Load(object sender, EventArgs e)
    {
        int tot = 0;    
        for (int i = 0; i < 3; i++)
        {
            tot += seuArray[i, i];
        }
        Response.Write("Total: " + tot.ToString());
    }

    Nesse caso, seuArray é um atrray do tipo int[i,j]

    Abraços!


    Thiago Coelho - Líder das Comunidades .NET Coders e Windows 8 Brasil
    thiagocoelho.net | @thiagokoelho

    terça-feira, 29 de janeiro de 2013 15:15

Todas as Respostas