Почему не суммирует отсортированный массив

        Random R = new Random();
        int a = 6;
        int[] MyArray = new int[a];
        for (int i = 0; i < MyArray.Length; i++)
        {
            MyArray[i] = R.Next(1, 10);
            Console.WriteLine(MyArray[i]);
        }

        Console.WriteLine(" ");
        for (int i = 1; i < MyArray.Length; i += 2) 
        {

            Console.WriteLine("{1}",i, MyArray[i]); 
        } 
        Console.WriteLine(MyArray.Sum());

Ответы (3 шт):

Автор решения: KG Bro
       Random R = new Random();
        int Sum = 0;
        int a = 6;
       int[] MyArray = new int[a];
       for (int i = 0; i < MyArray.Length; i++)
       {
           MyArray[i] = R.Next(1, 10);
           Console.WriteLine(MyArray[i]);
       }

       Console.WriteLine(" ");
       for (int j = 1; j < MyArray.Length; j += 2) 
       {
           Console.WriteLine("{1}",j, MyArray[j]);
            Sum += MyArray[j];
        }
        Console.WriteLine("Сумма=" + Sum);
→ Ссылка
Автор решения: Pavel Seletkov

Не совсем понятен вопрос что требуется. Сейчас алгоритм следующий : 1. Создается новый массив с 6 элементами у которых случайные значения в диапазоне от 1 до 10. При создании каждый элемент выводится в консоль. 2. Массив перебирается с шагом 2 (т.е. берется каждый второй элемент) и выводит значение. 3. Выводится сумма всего массива созданного в пункте 1.

Если есть необходимость считать сумму второго массива то есть два способа: Создать новый массив, который содержит только отфильтрованные данные или новую переменную,. которая будет счетчиком суммы.

Приведу оба примера

            Random R = new Random();
        int a = 6;
        int[] MyArray = new int[a];
        for (int i = 0; i < MyArray.Length; i++)
        {
            MyArray[i] = R.Next(1, 10);
            Console.WriteLine(MyArray[i]);
        }
        int[] FilteredArray = new int[a];
        Console.WriteLine(" ");
        for (int i = 1; i < MyArray.Length; i += 2)
        {
            FilteredArray[i / 2] = MyArray[i];
            Console.WriteLine("{1}", i, MyArray[i]);
        }
        Console.WriteLine(FilteredArray.Sum());
        Console.ReadKey();

И второй

            Random R = new Random();
        int a = 6;
        int[] MyArray = new int[a];
        for (int i = 0; i < MyArray.Length; i++)
        {
            MyArray[i] = R.Next(1, 10);
            Console.WriteLine(MyArray[i]);
        }
        int Summ = 0;
        Console.WriteLine(" ");
        for (int i = 1; i < MyArray.Length; i += 2)
        {
            Summ += MyArray[i];
            Console.WriteLine("{1}", i, MyArray[i]);
        }
        Console.WriteLine(Summ);
        Console.ReadKey();
→ Ссылка
Автор решения: Andrew

Вот все решение через линк:

Random rnd = new Random();
int length = 6;

var numbers = Enumerable.Range(1, length)
                        .Select(r => rnd.Next(1, 10) )
                        .ToArray();

Ну и т.к. все уже готово и поднесено на тарелочке, мы можем вывести на экран результат:

foreach(var a in numbers) { Console.WriteLine(a); }

Console.WriteLine("______");
Console.WriteLine( numbers.Sum() );
→ Ссылка