none
Declare uma matriz 5 x 5. Preencha com 1 a diagonal principal e com 0 os demais elementos. Escreva ao final a matriz obtida RRS feed

  • Pergunta

  • Primeiro quero saber como faça para matriz já receber e imprimir o valor 0,depois da diagonal principal da matriz que ela leia e imprima os valores digitados
    terça-feira, 15 de novembro de 2016 17:54

Respostas

  • Segue exemplo:

    using System;
    					
    public class Program
    {
    	public static void Main()
    	{
    		int[,] matriz = new int[5,5];
    		
    		for (int l = 0; l < 5; l++)
    		{
    			for (int c = 0; c < 5; c++)
    			{
    				matriz[l,c] = (l == c) ? 1 : 0;
    				
    				Console.Write(matriz[l,c] + " ");
    			}
    			
    			Console.Write("\n");
    		}
    		
    				
    	}
    }



    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    terça-feira, 15 de novembro de 2016 18:14
  • Olá,

    Essa é uma operação ternária, ou seja, uma condição implicita (escrita de forma "compacta").

    Essa operação seria o mesmo que:

    if (l == c)
       matriz[l,c] = 1;
    else
       matriz[l,c] = 0;

    Ou seja se l e c forem iguais o valor da matriz naquela posição vai ser 1, senão vai ser 0.

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    quarta-feira, 16 de novembro de 2016 00:11

Todas as Respostas

  • Segue exemplo:

    using System;
    					
    public class Program
    {
    	public static void Main()
    	{
    		int[,] matriz = new int[5,5];
    		
    		for (int l = 0; l < 5; l++)
    		{
    			for (int c = 0; c < 5; c++)
    			{
    				matriz[l,c] = (l == c) ? 1 : 0;
    				
    				Console.Write(matriz[l,c] + " ");
    			}
    			
    			Console.Write("\n");
    		}
    		
    				
    	}
    }



    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    terça-feira, 15 de novembro de 2016 18:14
  • Pode me explicar essa linha

    matriz[l,c] = (l == c) ? 1 : 0;

    entendi que a diagonal principal é linha igual a coluna, mas não entendi a o que faz depois o "?  1:0"; no caso ele preencheria 0 com 1 é isso?

    terça-feira, 15 de novembro de 2016 21:26
  • Olá,

    Essa é uma operação ternária, ou seja, uma condição implicita (escrita de forma "compacta").

    Essa operação seria o mesmo que:

    if (l == c)
       matriz[l,c] = 1;
    else
       matriz[l,c] = 0;

    Ou seja se l e c forem iguais o valor da matriz naquela posição vai ser 1, senão vai ser 0.

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    quarta-feira, 16 de novembro de 2016 00:11