Сдвиг трех максимальных элементов в начало массива - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток! я на этом сайте первый раз, помогите пожалуйста мне с заданием: 3.5.1 Сформировать массив 25 целых случайных чисел в диапазоне от минус 40 до 60. Напечатать его. Найти 3 maxчисла и поместить их в начало массива (сортировку чисел использовать запрещается). Напечатать новый массив. Пожалуйста не надо оставлять ссылки типа "посмотри тут ,посмотри там...." там конечно же есть решения ,но их мы не проходили , точнее решения этим методом. Мне надо до завтра ,прошу помощи с решением задачи и если сможете то блок схему ... очень на вас надеюсь ! вот код как мы решали похожие задачи
usingSystem; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { classProgram { staticvoid Main(string[] args) { int i, j, k; int[] a = newint[20]; Random rnd = newRandom(); // формируем случайным образом массив 20 чисел // выводим их на экран монитора Console.WriteLine("Исходный массив: "); for (i = 0; i <= 19; i++) { a[i] = rnd.Next() % 81 - 40; Console.Write(" {0}", a[i]); } Console.WriteLine(); Console.WriteLine(); // Сортировка положительных чисел массива по убыванию for (i = 0; i < 19; i++) for (j = i+1; j <= 19; j++) if (a[i] >= 0 && a[i] < a[j]) { k = a[i]; a[i] = a[j]; a[j] = k; } // выводим их на экран монитора массива после сортировки Console.WriteLine("Массив после сортировки: "); for (i = 0; i <= 19; i++) Console.Write(" {0}", a[i]); Console.WriteLine(); 30 Console.WriteLine(); Console.WriteLine("Дляпродолжениянажмитеклавишу Enter"); Console.ReadLine(); } } }

Решение задачи: «Сдвиг трех максимальных элементов в начало массива»

textual
Листинг программы
  1.    Random gen = new Random();
  2.  
  3.             int[] ar1 = new int[25];
  4.             int[] arNew = new int[25];
  5.  
  6.             int j=3;
  7.  
  8.             for (int i = 0; i < ar1.Length; i++)
  9.                 ar1[i] = gen.Next(-40, 60);
  10.  
  11.  
  12.             int max1=-40, max2=-40, max3=-40;
  13.             int index1=0, index2=0, index3=0;
  14.  
  15.             string S = string.Join(",", ar1);
  16.  
  17.  
  18.             Console.WriteLine("Старый массив :" + S);
  19.  
  20.  
  21.  
  22.  
  23.  
  24.             for (int i = 0; i < ar1.Length; i++)
  25.                 if (max1 < ar1[i])
  26.                 {
  27.                     index1 = i;
  28.                     max1 = ar1[i];
  29.                 }
  30.  
  31.             for (int i = 0; i < ar1.Length; i++)
  32.                 if (max2 < ar1[i])
  33.                 {
  34.                     if (i == index1)
  35.                         continue;
  36.                     index2 = i;
  37.                     max2 = ar1[i];
  38.                 }
  39.  
  40.             for (int i = 0; i < ar1.Length; i++)
  41.                 if (max3 < ar1[i])
  42.                 {
  43.                     if (i == index2 || i == index1)
  44.                         continue;
  45.                     index3 = i;
  46.                     max3 = ar1[i];
  47.                 }
  48.  
  49.  
  50.            
  51.             arNew[0]=max1;
  52.             arNew[1] = max2;
  53.             arNew[2]=max3;
  54.  
  55.             for (int i = 0; i < ar1.Length; i++)
  56.                 if (i != index2 && i != index1 && i != index3)
  57.                 {
  58.                     arNew[j] = ar1[i];
  59.                     j++;
  60.  
  61.                 }
  62.  
  63.             Console.WriteLine("max1="+max1.ToString() +"max2="+max2.ToString() +"max3="+max3.ToString());
  64.  
  65.  
  66.             Console.WriteLine("Новый массив : " + string.Join("," , arNew));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы