Advertisement
lexaz93

Sinitsyn_01.04.2020-1

Apr 5th, 2020
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.44 KB | None | 0 0
  1. package ru.itsjava.arrays.homework;
  2.  
  3. import java.util.Arrays;
  4.  
  5. public class ArraysHomeWork2 {
  6.     public static void main(String[] args) {
  7.         int[] nums = new int[]{-8, 9, 2, 4, 15, 5, -3, 10};
  8.         System.out.println(Arrays.toString(nums));
  9.  
  10.         // 1. Вывести элементы большие нуля в обратном порядке
  11.         System.out.println("Вывести элементы большие нуля в обратном порядке");
  12.         for (int i = nums.length - 1; i >= 0; i--) {
  13.             if (nums[i] > 0) {
  14.                 System.out.print(nums[i] + " ");
  15.             }
  16.         }
  17.  
  18.         // 2. Вывести индексы элементов равных нулю
  19.         System.out.println("\nВывести индексы элементов равных нулю");
  20.         for (int i = 0; i < nums.length; i++) {
  21.             if (nums[i] == 0) {
  22.                 System.out.print(i + " ");
  23.             }
  24.         }
  25.  
  26.         // 3. Произведение всех элементов массива
  27.         System.out.println("\nПроизведение всех элементов массива");
  28.         int multiplication = 1;
  29.         for (int i = 0; i < nums.length; i++) {
  30.             if (nums[i] == 0) {
  31.                 multiplication = 0;
  32.                 break;
  33.             } else {
  34.                 multiplication *= nums[i];
  35.             }
  36.         }
  37.         System.out.println("multiplication = " + multiplication);
  38.  
  39.         // 4. Найти среднеарифметическое массива
  40.         System.out.println("Найти среднеарифметическое массива");
  41.         double amount = 0;
  42.         for (int i = 0; i < nums.length; i++) {
  43.             amount += nums[i];
  44.         }
  45.         System.out.println("average = " + amount / nums.length);
  46.  
  47.         // 5. Найти сумму элементов с четными индексами
  48.         System.out.println("Найти сумму элементов с четными индексами");
  49.         int amountEven = 0;
  50.         for (int i = 0; i < nums.length; i += 2) {
  51.             amountEven += nums[i];
  52.         }
  53.         System.out.println("amountEven = " + amountEven);
  54.  
  55.         // 6. Произведение элементов с нечетными индексами
  56.         System.out.println("Произведение элементов с нечетными индексами");
  57.         int multiplicationOdd = 1;
  58.         for (int i = 1; i < nums.length; i += 2) {
  59.             if (nums[i] == 0) {
  60.                 multiplicationOdd = 0;
  61.                 break;
  62.             } else {
  63.                 multiplicationOdd *= nums[i];
  64.             }
  65.         }
  66.         System.out.println("multiplicationOdd = " + multiplicationOdd);
  67.  
  68.         // 7. Найти минимальный элемент массива
  69.         System.out.println("Найти минимальный элемент массива");
  70.         int minElement = nums[0];
  71.         for (int i = 0; i < nums.length; i++) {
  72.             minElement = Math.min(minElement, nums[i]);
  73.         }
  74.         System.out.println("minElement = " + minElement);
  75.  
  76.         // 8. Найти сумму отрицательных элементов массива
  77.         System.out.println("Найти сумму отрицательных элементов массива");
  78.         int amountNegative = 0;
  79.         for (int i = 0; i < nums.length; i++) {
  80.             if (nums[i] < 0) {
  81.                 amountNegative += nums[i];
  82.             }
  83.         }
  84.         System.out.println("amountNegative = " + amountNegative);
  85.  
  86.         // 9. Найти элементы делящиеся на 5
  87.         System.out.println("Найти элементы делящиеся на 5");
  88.         for (int i = 0; i < nums.length; i++) {
  89.             if (nums[i] % 5 == 0 & nums[i] > 0) {
  90.                 System.out.print(nums[i] + " ");
  91.             }
  92.         }
  93.  
  94.         //10. Реализовать свою задачу.
  95.         System.out.println("\nНайти произведение ненулевых элементов");
  96.         int multiplicationNotZero = 1;
  97.         for (int i = 0; i < nums.length; i++) {
  98.             if (nums[i] != 0) {
  99.                 multiplicationNotZero *= nums[i];
  100.             }
  101.         }
  102.         System.out.println("multiplicationNotZero = " + multiplicationNotZero);
  103.  
  104.         //10* Найти 2 максимальных элемента массива, элементы не повторяются
  105.         System.out.println("Найти 2 максимальных элемента массива, элементы не повторяются");
  106.         int[] numsSort = new int[nums.length];
  107.         numsSort = Arrays.copyOf(nums, nums.length);
  108.         Arrays.sort(numsSort);
  109.         for (int i = numsSort.length - 1; i > numsSort.length - 3; i--) {
  110.             System.out.print(numsSort[i] + " ");
  111.         }
  112.         //Поиск двух максимумов через цикл for
  113.         System.out.println("\nНайти 2 максимальных элемента массива, элементы не повторяются");
  114.         int firstMax = nums[0];
  115.         int secondMax = nums[1];
  116.         for (int i = 0; i < nums.length - 1; i++) {
  117.             if (nums[i] > firstMax) {
  118.                 secondMax = firstMax;
  119.                 firstMax = nums[i];
  120.             } else {
  121.                 if (nums[i + 1] > secondMax) {
  122.                     secondMax = nums[i + 1];
  123.                 }
  124.             }
  125.         }
  126.         System.out.println("firstMax = " + firstMax);
  127.         System.out.println("secondMax = " + secondMax);
  128.         //Bubble sort
  129.         System.out.println("Найти 2 максимальных элемента массива, элементы не повторяются");
  130.         int[] numsSort2 = new int[nums.length];
  131.         numsSort2 = Arrays.copyOf(nums, nums.length);
  132.         for (int i = numsSort2.length - 1; i > 0; i--) {
  133.             for (int j = 0; j < i; j++) {
  134.                 if (numsSort2[j] > numsSort2[j + 1]) {
  135.                     int tmp = numsSort2[j];
  136.                     numsSort2[j] = numsSort2[j + 1];
  137.                     numsSort2[j + 1] = tmp;
  138.                 }
  139.             }
  140.         }
  141.         System.out.println(numsSort2[nums.length - 1] + " " + numsSort2[nums.length - 2]);
  142.         System.out.println(Arrays.toString(numsSort2));
  143.  
  144.  
  145.         //11. Найти индекс элемента равного 10
  146.         System.out.println("Найти индекс элемента равного 10");
  147.         for (int i = 0; i < nums.length; i++) {
  148.             if (nums[i] == 10) {
  149.                 System.out.println(i);
  150.                 break;
  151.             }
  152.         }
  153.  
  154.         //12. Вывести на экран "Хороший массив", если в нем по крайне мере 3 положительных элемента
  155.         System.out.println("Вывести на экран 'Хороший массив', если в нем по крайне мере 3 положительных элемента");
  156.         int counter = 0;
  157.         for (int i = 0; i < nums.length; i++) {
  158.             if (nums[i] > 0) {
  159.                 counter++;
  160.             }
  161.         }
  162.         if (counter >= 3) {
  163.             System.out.println(Arrays.toString(nums));
  164.         } else {
  165.             System.out.println("Есть только 'Плохой массив'");
  166.         }
  167.     }
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement