Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios e Algorítmos Resolvidos de Java - Programa Java para somar os elementos da diagonal secundária de uma matrizQuantidade de visualizações: 10169 vezes |
|
Pergunta/Tarefa: Em álgebra linear, a diagonal secundária de uma matriz A é a coleção das entradas Aij em que i + j é igual a n + 1 (onde n é a ordem da matriz). A diagonal secundária de uma matriz quadrada une o seu canto inferior esquerdo ao canto superior direito (conforme mostrado na saída do problema proposto abaixo). Escreva um programa (algorítmo) Java que declara uma matriz 3x3 e pede ao usuário para informar seus valores. Em seguida mostre todos os valores da matriz e a soma dos elementos da diagonal secundária. Sua saída deverá ser parecida com a imagem abaixo:
Informe o valor para a linha 0 e coluna 0: 5
Informe o valor para a linha 0 e coluna 1: 2
Informe o valor para a linha 0 e coluna 2: 7
Informe o valor para a linha 1 e coluna 0: 5
Informe o valor para a linha 1 e coluna 1: 3
Informe o valor para a linha 1 e coluna 2: 12
Informe o valor para a linha 2 e coluna 0: 4
Informe o valor para a linha 2 e coluna 1: 10
Informe o valor para a linha 2 e coluna 2: 1
5 2 7
5 3 12
4 10 1
A soma dos elementos da diagonal secundária é: 14
Veja a resolução comentada deste exercício usando Java console:
package exercicios;
import java.util.Scanner;
public class Exercicios {
public static void main(String[] args) {
// vamos fazer a leitura usando a classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos declarar e construir uma matriz de três linhas e
// três colunas
int matriz[][] = new int[3][3];
int soma_diagonal = 0; // guarda a soma dos elementos na
// diagonal secundária
// vamos ler os valores para os elementos da matriz
for(int i = 0; i < matriz.length; i++){ // linhas
for(int j = 0; j < matriz[0].length; j++){ // colunas
System.out.print("Informe o valor para a linha " + i
+ " e coluna " + j + ": ");
matriz[i][j] = Integer.parseInt(entrada.nextLine());
}
}
// vamos mostrar a matriz da forma que ela foi informada
System.out.println();
for(int i = 0; i < matriz.length; i++){ // percorre as linhas
for(int j = 0; j < matriz[0].length; j++){ // percorre as colunas
System.out.printf("%5d ", matriz[i][j]);
}
// passa para a próxima linha da matriz
System.out.println();
}
// vamos calcular a soma dos elementos da diagonal secundária
int ordem = 3; // ordem da matriz
for(int i = 1; i <= matriz.length; i++){
for(int j = 1; j <= matriz[0].length; j++){
if((i + j) == (ordem + 1)){
soma_diagonal = soma_diagonal + matriz[i - 1][j - 1];
}
}
}
// finalmente mostramos a soma da diagonal secundária
System.out.println("\nA soma dos elementos da diagonal secundária é: " +
soma_diagonal);
}
}
|
Ruby ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia do mês em Ruby usando um objeto da classe Time e os métodos day e mdayQuantidade de visualizações: 6802 vezes |
|
Muitas vezes precisamos obter o dia do mês de uma determinada data. Para isso a classe Time do Ruby nos fornece os métodos day e mday. Estes método retornam um número inteiro na faixa 1..31. Veja uma demonstração destes métodos no trecho de código a seguir: # obtém o dia do mês usando o método day agora = Time.new dia = agora.day # exibe o resultado puts "Dia do mês usando a função day: " + dia.to_s # obtém o dia do mês usando o método mday agora = Time.new dia = agora.mday # exibe o resultado puts "Dia do mês usando a função mday: " + dia.to_s Ao executar este código Ruby nós teremos o seguinte resultado: Dia do mês usando a função day: 21 Dia do mês usando a função mday: 21 |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar a instrução continue da linguagem C#Quantidade de visualizações: 9793 vezes |
A instrução continue é usada quando queremos abandonar completamente a iteração atual de um laço e saltar imediatamente para a próxima iteração. Veja um exemplo:
static void Main(string[] args){
for(int i = 0; i <= 10; i++){
// se o valor de i não for par, vamos passar
// para a próxima iteração
if(i % 2 != 0)
continue;
Console.WriteLine("{0}", i);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Aqui nós estamos exibindo somente os números pares de 0 a 10. Note que, cada vez que o valor de i for ímpar, nós usamos a instrução continue para interromper a instrução atual e saltar para a próxima. Veja mais um exemplo, desta vez usando um laço while:
static void Main(string[] args){
int valor = 0;
while(valor <= 10){
if((valor >= 5) && (valor <= 7)){
valor++;
continue;
}
Console.WriteLine("{0}", valor);
valor++;
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Este laço conta de 0 a 10 mas não exibe os valores 5, 6 e 7. |
LISP ::: Desafios e Lista de Exercícios Resolvidos ::: Lisp Básico |
Exercícios Resolvidos de Lisp - Como calcular a soma, o produto, a diferença e o quociente de dois números inteiros informados pelo usuárioQuantidade de visualizações: 1717 vezes |
|
Pergunta/Tarefa: Escreva um programa Common Lisp que pede para o usuário informar dois número inteiros. Em seguida mostre a soma, o produto, a diferença e o quociente dois dois números informados. Sua saída deverá ser parecida com: Informe o primeiro número: 8 Informe o segundo número: 3 A soma dos números é: 11 O produto dos números é: 24 A diferença dos números é: 5 O quociente dos números é: 2.66667 Veja a resolução comentada deste exercício usando Common Lisp:
; Este é o programa principal
(defun Exercicio()
; Variáveis usadas na resolução do problema
(let ((n1)(n2)(soma)(produto)
(diferenca)(quociente))
; Vamos ler os dois números
(princ "Informe o primeiro número: ")
; talvez o seu compilador não precise disso
(force-output)
; atribui o valor lido à variável n1
(setq n1 (read))
(princ "Informe o segundo número: ")
; talvez o seu compilador não precise disso
(force-output)
; atribui o valor lido à variável n2
(setq n2 (read))
; vamos somar os dois números
(setq soma (+ n1 n2))
; vamos calcular o produto
(setq produto (* n1 n2))
; vamos calcular a diferença
(setq diferenca (- n1 n2))
; vamos calcular o quociente
(setq quociente (/ n1 (* n2 1.0)))
; E mostramos o resultado
(format t "A soma dos números é ~D" soma)
(format t "~%O produto dos números é ~D" produto)
(format t "~%A diferença dos números é ~D" diferenca)
(format t "~%O quociente dos números é ~F" quociente)
)
)
; Auto-executa a função Exercicio()
(Exercicio)
|
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como calcular a equação reduzida da reta em JavaScript dados dois pontos pertencentes à reta TypeScript - Como calcular o coeficiente angular de uma reta em TypeScript dados dois pontos no plano cartesiano |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como usar a função alert() do objeto window para exibir mensagens de alerta aos usuários PHP - Programação Orientada a Objetos em PHP - Como passar um objeto de uma classe para uma função PHP |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




