fork download
  1. import java.util.ArrayList;
  2. import java.util.Scanner;
  3.  
  4. public class Main {
  5. public static void main(String[] args) {
  6. String matrixData = "5 -2 3 4 5 6 7 8 9 10\n" +
  7. "1 8 -3 4 5 6 7 8 9 10\n" +
  8. "1 2 -1 4 5 6 7 8 9 10\n" +
  9. "1 2 3 2 5 6 7 8 9 10\n" +
  10. "1 2 3 4 -5 6 7 8 9 10\n" +
  11. "1 2 3 4 5 4 7 8 9 10\n" +
  12. "1 2 3 4 5 6 -7 8 9 10\n" +
  13. "1 2 3 4 5 6 7 2 9 10\n" +
  14. "1 2 3 4 5 6 7 8 -9 10\n" +
  15. "1 2 3 4 5 6 7 8 9 1\n";
  16.  
  17. ArrayList<ArrayList<Double>> matrix = new ArrayList<>();
  18.  
  19. try {
  20. Scanner scanner = new Scanner(matrixData);
  21.  
  22. while (scanner.hasNextLine()) {
  23. String line = scanner.nextLine().trim();
  24. if (line.isEmpty()) continue;
  25.  
  26. String[] values = line.split("\\s+");
  27. ArrayList<Double> row = new ArrayList<>();
  28.  
  29. for (String val : values) {
  30. row.add(Double.parseDouble(val.replace(",", ".")));
  31. }
  32. matrix.add(row);
  33. }
  34. scanner.close();
  35.  
  36. ArrayList<Double> positiveElements = new ArrayList<>();
  37. double sum = 0;
  38.  
  39. for (int i = 0; i < matrix.size(); i++) {
  40. if (i < matrix.get(i).size()) {
  41. double element = matrix.get(i).get(i);
  42. if (element > 0) {
  43. positiveElements.add(element);
  44. sum += element;
  45. }
  46. }
  47. }
  48.  
  49. if (!positiveElements.isEmpty()) {
  50. double average = sum / positiveElements.size();
  51. System.out.println("Додатні елементи на головній діагоналі: " + positiveElements);
  52. System.out.println("Середнє арифметичне: " + average);
  53. } else {
  54. System.out.println("На головній діагоналі немає додатних елементів.");
  55. }
  56.  
  57. } catch (NumberFormatException e) {
  58. System.out.println("Помилка формату: У даних є символи, які не є числами.");
  59. }
  60. }
  61. }
Success #stdin #stdout 0.15s 58840KB
stdin
Standard input is empty
stdout
Додатні елементи на головній діагоналі: [5.0, 8.0, 2.0, 4.0, 2.0, 1.0]
Середнє арифметичне: 3.6666666666666665