• Предмет: Информатика
  • Автор: arinaaznaureni
  • Вопрос задан 6 лет назад

Дан массив из 20 рандомных чисел, в дипазоне, который введёт пользователь.

Нужно отсортировать элементы с маленького до большого - пузырьком.

ЯП - Java.​

Ответы

Ответ дал: stglupa
1

import java.util.Scanner;

import java.util.Random;

public class Main{

   public static void main(String[] args) {

      Scanner sc = new Scanner(System.in);

      Random rand = new Random();

      int a [] = new int[20];

      System.out.println("Введите диапазон");

      int l = sc.nextInt(), r = sc.nextInt();

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

          a[i] = rand.nextInt(r - l + 1) + l;

          System.out.print(a[i] + " ");

      }

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

          for(int j = i + 1; j < 20; j++){

              if(a[i] > a[j]){

                  int t = a[i];

                  a[i] = a[j];

                  a[j] = t;

              }

          }

      }

       System.out.println();

      for(int i = 0; i < 20; i++)

          System.out.print(a[i] + " ");

   }

}


FakeDeveloper: Спасибо вам обеим! :D
FakeDeveloper: Ах, чёрт, не туда написала, извиняюсь
Ответ дал: FakeDeveloper
1

//Добавление новой библиотеки Scanner, для вводов пользователя

import java.util.Scanner;

public class Znanija {

   public static void main(String args[]) {

       

      //Обьявление массива, количеством в 20 элементов

     double[] array = new double[20];

     

     //Обьявление границ диапазон

    int first, second;

   

    Scanner input = new Scanner(System.in);

   

    System.out.println("Enter the first border of the range: ");

    first = input.nextInt();

   

    System.out.println("\nEnter the second border: ");

    second = input.nextInt();

   

   

    //Заполнение массива случайными числами в диапазоне, ктоорый ввёл пользователь

    for(int i = 0; i<array.length; i++) {

       

       /*Метод Math.random превращаем в тип int, дальше умножаем на разницу между границами диапазона, чтобы считывались

        рандомные числа от одного до переменной second, потом считываем вторую границу, чтобы заполнение случайных

        чисел начиналось с первой границы диапазона*/

        array[i] = ((int)(Math.random()*(second-first)-second)*(-1));

    }

   

    //Отсортировка пузырьком

    for(int i = 0; i<array.length; i++) {

       

        //Обьявление новой индексной переменной, для дальнейших проверок

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

            //Если в элементе с индексом j — число больше числа в следующем элементе, то пусть их значения совершат обмен между своими индексами

            if(array[j]>array[i]) {

                //Создание нового буфера, где будет хранится значение элемента индекса j

                double bufJ = array[j];

                //Обмен

                array[j] = array[i];

                array[i] = bufJ;

            }

           

        }

    }

    System.out.println("Sorting array: ");

    //Теперь в консоль будет выводится каждый элемент, уже отсортированный

    for(int i = 0; i<array.length; i++) {

        System.out.println(array[i]);

    }

   }

}

Вас заинтересует