Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. /**
  2. *
  3. * my third homework
  4. *
  5. */
  6.  
  7. import java.util.*;
  8. import java.lang.*;
  9. import java.io.*;
  10.  
  11. public class Main {
  12.  
  13. public static void main(String[]args) {
  14. // задаём массив
  15.  
  16. int[] MyArr = new int[15];
  17.  
  18. // генерация массива
  19.  
  20. for(int i = 0; i< MyArr.length; i++) {
  21. MyArr[i] = (int) Math.round((Math.random() * 30) - 15);
  22. System.out.println(MyArr[i]);
  23. }
  24.  
  25. int s = 0; // начало области
  26. int f = MyArr.length - 1; //конец области
  27. int indexMin, indexMax; // тут будут хранится индексы минимального и максимального значения в области
  28. int min = 16, max = -16;
  29.  
  30. while (s<= f && f>= s) {
  31.  
  32. // поиск наим и наиб значений в области и запись их индексов
  33.  
  34. for(int i = 0; i< MyArr.length; i++) {
  35.  
  36. if(MyArr[i] < min) {
  37. min = MyArr[i];
  38. indexMin = i;
  39. }
  40.  
  41. if(MyArr[i] > max) {
  42. max = MyArr[i];
  43. indexMax = i;
  44. }
  45. }
  46.  
  47. // перестановка занчений в начало и конец области
  48.  
  49. MyArr[indexMin] = MyArr[s];
  50. MyArr[s] = min;
  51.  
  52. MyArr[indexMax] = MyArr[f];
  53. MyArr[f] = max;
  54.  
  55. // сброс значений минимума и максимума для поиска в новой области
  56.  
  57. min = 16;
  58. max = -16;
  59.  
  60. // сужение области
  61.  
  62. s++;
  63. f--;
  64. }
  65.  
  66. for(int i = 0; i< MyArr.length; i++) {
  67. System.out.println("после сортировки:");
  68. System.out.println(MyArr[i]);
  69. }
  70.  
  71. }
  72.  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement