Создать массив, заполненный случайными числами. Разработать методы для работы с ним - C#
Формулировка задачи:
Создать массив из 15 элементов, заполненный случайными числами в диапазоне от
-100 до 100.
Разработать методы:
а) расчета количества неотрицательных чисел,
б) расчета суммы отрицательных чисел,
в) нахождения номера минимального отрицательного числа,
г) вывода элементов с нечетными номерами по формату:
a[i]=x (i – номер элемента, х – значение).
пыталась сделать, но запуталась
Решение задачи: «Создать массив, заполненный случайными числами. Разработать методы для работы с ним»
textual
Листинг программы
using System;
namespace SystemRandomAndArraies
{
class Program
{
static void Main(string[] args)
{
int[] array = GetRandomArray(15, -100, 100);
ShowArray(array);
Console.WriteLine($"Count of positive numbers : {GetCountOfPositiveValues(array)}");
Console.WriteLine($"Index of the minimal negative element : {GetIndexOfMinimalValue(array)}");
Console.WriteLine($"Sum of the negative elements : {GetSumNegativeValues(array)}");
Console.ReadLine();
}
private static void ShowArray(int[] array)
{
foreach (var item in array)
Console.Write($"{item} ");
Console.WriteLine();
}
private static int[] GetRandomArray(int length, int minValue, int maxValue)
{
Random random = new Random();
int[] array = new int[length];
for (int i = 0; i < length; i++)
array[i] = random.Next(minValue, maxValue);
return array;
}
private static int GetCountOfPositiveValues(int[] array)
{
int count = 0;
for (int i = 0; i < array.Length; i++)
if (array[i] >= 0)
count++;
//int count = array.Count(x => x >= 0); Тоже что и вверху, только с иcпользовнием LINQ
return count;
}
private static int GetSumNegativeValues(int[] array)
{
int summary = 0;
for (int i = 0; i < array.Length; i++)
if (array[i] < 0)
summary += array[i];
//int summary = array.Where(x => x < 0).Sum() Тоже что и вверху, только с иcпользовнием LINQ
return summary;
}
private static int GetIndexOfMinimalValue(int[] array)
{
int minValue = 0,
index = -1;
for (int i = 1; i < array.Length; i++)
if (array[i] < 0 && array[i] < minValue)
{
minValue = array[i];
index = i;
}
//int index = -1;
//array = array.Where(x => x < 0).ToArray();
//if(array.Length > 0)
// index = Array.IndexOf(array, array.Min()) //Тоже что и вверху, только с иcпользовнием LINQ
return index;
}
private static void ShowNegativeElements(int[] array)
{
for (int i = 0; i < array.Length; i++)
{
if(array[i] % 2 == 1)
Console.WriteLine($"a[{i}]={array[i]}");
}
}
}
}