Одномерные массивы лаб5 вар20 Павловская - C#

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

Помогите пожалуйста с прогой. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1)произведение положительных элементов массива; 2)сумму элементов массива, расположенных до минимального элемента. Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах. Заранее благодарю.

Код к задаче: «Одномерные массивы лаб5 вар20 Павловская - C#»

textual
static void Main(string[] args)
        {
            Console.Write("Введите размерность одномерного вещественного массива n=");
            int n = int.Parse(Console.ReadLine());
 
            float [] Mas = new float [n]; 
 
            float P = 1;
            float Min = 100;
            int posMin = 0;
 
            Console.WriteLine("Массив до преобразования:");
            Random rnd = new Random(DateTime.Now.Millisecond);
            for (int i = 0; i < n; i++)
            {                
                Mas[i] = rnd.Next(-20, 20)/2;
                Console.Write(Mas[i] + " ");
                
                // 1)произведение положительных элементов массива;
                if (Mas[i] > 0)
                    P *= Mas[i];
 
                // Находим минимум и его индекс в массиве
                if (Mas[i] < Min)
                {
                    Min = Mas[i];
                    posMin = i;
                }            
            }
 
            //2)сумму элементов массива, расположенных до минимального элемента.
            float Sum = 0;
            for (int i = 0; i < posMin; i++ )
            {                
                 Sum += Mas[i];           
            }
 
            Console.WriteLine("\nпроизведение положительных элементов массива = "+ P);
            Console.WriteLine("Минимум = " + Min + " Cумму элементов массива, расположенных до минимального элемента = " + Sum);
                                   
            //Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах.
 
            for (int i = 0; i < n; i += 2)
            {
                Min = 100;              
                for (int j = i; j < n; j += 2)
                {
                    if (Mas[j] < Min)
                    {
                        Min = Mas[j];
                        posMin = j;
                    }
                }
                
                    float temp = Mas[i];
                    Mas[i] = Min;
                    Mas[posMin] = temp;               
            }
 
            for (int i = 1; i < n; i += 2)
            {
                Min = 100;               
                for (int j = i; j < n; j += 2)
                {
                    if (Mas[j] < Min)
                    {
                        Min = Mas[j];
                        posMin = j;
                    }
                }
               
                    float temp = Mas[i];
                    Mas[i] = Min;
                    Mas[posMin] = temp;               
            }
 
            Console.WriteLine("\nМассив после преобразования:\n");
            for (int i = 0; i < n; i++)
                Console.Write(Mas[i] + " ");
 
                Console.ReadKey();
 
        }

13   голосов, оценка 3.923 из 5


СОХРАНИТЬ ССЫЛКУ