0

Desafios Capgemini java

A
Alfredo Neto

desafio acima da diagonal secundária em java:


enunciado:

Leia um caractere maiúsculo, que indica uma operação que deve ser realizada e uma matriz M[12][12]. Em seguida, calcule e mostre a soma ou a média considerando somente aqueles elementos que estão acima da diagonal secundária da matriz, conforme ilustrado abaixo (área verde).

 

código:


/ Abaixo da Diagonal Secundária


/*

Leia um caractere maiúsculo, que indica uma operação que deve ser realizada e

uma matriz M[12][12]. Em seguida, calcule e mostre a soma ou a média

considerando somente aqueles elementos que estão abaixo da diagonal Secundária

da matriz, conforme ilustrado abaixo (área verde).

vide arquivo em assets abaixo-diagonal-secundaria.png

• Entrada

A primeira linha de entrada contém um único caractere Maiúsculo O ('S' ou 'M'),

indicando a operação (Soma ou Média) que deverá ser realizada com os elementos

da matriz. Seguem os 144 valores de ponto flutuante que compõem a matriz.

• Saída

Imprima o resultado solicitado (a soma ou média), com 1 casa após o ponto

decimal.

*/


import java.io.IOException;

import java.util.Scanner;


public class AbaixoDiagonalSecundaria {

 public static void main(String[] args) throws IOException {

  Scanner leitor = new Scanner(System.in);

  double soma = 0;

  char O = leitor.next().toUpperCase().charAt(0);

  double[][] M = new double[12][12];

   

  for (int i = 0; i < 12; ++i) {

   for (int j = 0; j < 12; ++j) {

   M[i][j] = leitor.nextDouble();

   }

  }

   

  for (int i = 1; i < 12; ++i) {

   for (int j = 12-i; j < 12; ++j) {

   soma += M[i][j];

   }

  }

  

  if (O == 'M') soma /= ((M.length * M.length) - 12) / 2;

   

  System.out.println(String.format("%.1f", soma));

 }

}


1 de 2 testes certos


Por favor peço ajuda neste desafios acima da diagonal secundária peço ajuda de vocês por favor mostre-me o Código correto pra fazer comparação a saber onde fiz equivoco desde já agradeço deus abençoe a todos boa tarde grande abraço


0
0

Comentários (1)

0
Matheus Graça

Matheus Graça

16/10/2021 22:33

Acho que está no segundo for;


Compare


import java.io.IOException;
import java.util.Scanner;

public class AreaDireita {
    public static void main(String[] args) throws IOException {
        Scanner leitor = new Scanner(System.in);
        double soma = 0;
        char O = leitor.next().toUpperCase().charAt(0);
        double[][] M = new double[12][12];

        for (int i = 0; i < 12; ++i) {
            for (int j = 0; j < 12; ++j) {
                M[i][j] = leitor.nextDouble();
            }
        }

        for (int i = 0; i < 12; ++i) {
            for (int j = 0; j < 12; ++j) {
                if (((i < 6) && (j >= 12 - i)) || ((i >= 6) && (j > i)))
                    soma += M[i][j];
            }
        }

        if (O == 'M')
            soma /= 30;
        System.out.println(String.format("%.1f", soma));
    }
}


alfredo gelk neto

Brasil