Почему не суммирует отсортированный массив
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 шт):
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);
Не совсем понятен вопрос что требуется. Сейчас алгоритм следующий : 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();
Вот все решение через линк:
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() );