Advertisement
gguuppyy

лаба2н1

Oct 14th, 2023 (edited)
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.01 KB | Source Code | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Main {
  4.     public static void main(String[] args) {
  5.         Scanner scan = new Scanner(System.in);
  6.         int n = 0;
  7.         boolean isIncorrect;
  8.  
  9.         System.out.println("Данная программа предназначена для изменения данной последовательности так, чтобы в начале стояли все нулевые элементы, затем отрицательные, а затем положительные элементы последовательности.");
  10.  
  11.         do {
  12.             isIncorrect = false;
  13.             System.out.println("Введите количество элементов в последовательности: ");
  14.             try {
  15.                 n = Integer.parseInt(scan.nextLine());
  16.             } catch (Exception err) {
  17.                 System.out.println("Ошибка! Введите число.");
  18.                 isIncorrect = true;
  19.             }
  20.             if (!isIncorrect && n < 1) {
  21.                 System.out.println("Ошибка! Введите верное количество элементов.");
  22.                 isIncorrect = true;
  23.             }
  24.         } while (isIncorrect);
  25.  
  26.         int[] arr = new int[n];
  27.         int[] zeros = new int[n];
  28.         int[] negatives = new int[n];
  29.         int[] positives = new int[n];
  30.  
  31.         int zeroIndex = 0;
  32.         int negativeIndex = 0;
  33.         int positiveIndex = 0;
  34.  
  35.         System.out.println("Введите элементы последовательности.");
  36.         for (int i = 0; i < n; i++) {
  37.             do {
  38.                 isIncorrect = false;
  39.                 System.out.print("Элемент " + (i + 1) + ": ");
  40.                 try {
  41.                     arr[i] = Integer.parseInt(scan.nextLine());
  42.                 } catch (Exception err) {
  43.                     System.out.println("Ошибка. Введите целое число.");
  44.                     isIncorrect = true;
  45.                 }
  46.             } while (isIncorrect);
  47.         }
  48.  
  49.         for (int i = 0; i < n; i++) {
  50.             if (arr[i] == 0) {
  51.                 zeros[zeroIndex] = arr[i];
  52.                 zeroIndex++;
  53.             } else if (arr[i] < 0) {
  54.                 negatives[negativeIndex] = arr[i];
  55.                 negativeIndex++;
  56.             } else {
  57.                 positives[positiveIndex] = arr[i];
  58.                 positiveIndex++;
  59.             }
  60.         }
  61.  
  62.         for (int i = 0; i < zeroIndex; i++) {
  63.             arr[i] = zeros[i];
  64.         }
  65.  
  66.         for (int i = 0; i < negativeIndex; i++) {
  67.             arr[i + zeroIndex] = negatives[i];
  68.         }
  69.  
  70.         for (int i = 0; i < positiveIndex; i++) {
  71.             arr[i + zeroIndex + negativeIndex] = positives[i];
  72.         }
  73.  
  74.         System.out.print("Отсортированная последовательность: ");
  75.         for (int i = 0; i < n; i++) {
  76.             System.out.print(arr[i] + " ");
  77.         }
  78.  
  79.         scan.close();
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement