Сдвиг трех максимальных элементов в начало массива - 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
Листинг программы
   Random gen = new Random();
 
            int[] ar1 = new int[25];
            int[] arNew = new int[25];
 
            int j=3;
 
            for (int i = 0; i < ar1.Length; i++)
                ar1[i] = gen.Next(-40, 60);
 
 
            int max1=-40, max2=-40, max3=-40;
            int index1=0, index2=0, index3=0;
 
            string S = string.Join(",", ar1);
 
 
            Console.WriteLine("Старый массив :" + S);
 
 
 
 
 
            for (int i = 0; i < ar1.Length; i++)
                if (max1 < ar1[i])
                {
                    index1 = i;
                    max1 = ar1[i];
                }
 
            for (int i = 0; i < ar1.Length; i++)
                if (max2 < ar1[i])
                {
                    if (i == index1)
                        continue;
                    index2 = i;
                    max2 = ar1[i];
                }
 
            for (int i = 0; i < ar1.Length; i++)
                if (max3 < ar1[i])
                {
                    if (i == index2 || i == index1)
                        continue;
                    index3 = i;
                    max3 = ar1[i];
                }
 
 
            
            arNew[0]=max1;
            arNew[1] = max2;
            arNew[2]=max3;
 
            for (int i = 0; i < ar1.Length; i++)
                if (i != index2 && i != index1 && i != index3)
                {
                    arNew[j] = ar1[i];
                    j++;
 
                }
 
            Console.WriteLine("max1="+max1.ToString() +"max2="+max2.ToString() +"max3="+max3.ToString());
 
 
            Console.WriteLine("Новый массив : " + string.Join("," , arNew));

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


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

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

15   голосов , оценка 4.067 из 5
Похожие ответы