Описать класс для работы с одномерным массивом - C# (184352)
Формулировка задачи:
Описать класс для работы с одномерным массивом:
• Конструктор c тремя параметрами (n, x1,d), создающий массив из n элементов и заполняющий его членами арифметической прогрессии (x1-первый член, d-разность).
Знак числа задается случайным образом;
• Конструктор с одним параметром (строка string с числами,числа в строке разделяются точками), вычисляющий n -количество чисел в строке, создающий массив из n
элементов и заполняющий его числами из строки.
Использовать метод Split для строк.
• свойство, доступное только для чтения, для получения суммы элементов массива, которые заканчиваются на 7;
• Метод, вычисляющий t индекс последнего элемента кратного 3.
• Метод (с одним параметром t), вычисляющий сумму элементов, расположенных до элемента с индексом t
Решение задачи: «Описать класс для работы с одномерным массивом»
textual
Листинг программы
class Class1
{
int[] array;
public Class1(int n, int x1, int d)
{
Random R = new Random();
array = new int[n];
if (R.Next(-10, 10) < 0)
array[0] = -x1;
else
array[0] = x1;
for (int i = 1; i < n; i++)
array[i] = array[i - 1] + d;
}
public Class1(string str)
{
char[] c = new char[] {'.'};
var t = str.Split(c, StringSplitOptions.RemoveEmptyEntries);
array = new int[t.Length];
for (int i = 0; i < t.Length; i++)
array[i] = Convert.ToInt32(t[i]);
}
public int GetSum
{
get { return Sum(); }
}
private int Sum()
{
int sum = 0;
foreach (int i in array)
if (i%10 == 7)
sum += i;
return sum;
}
public int FindIndex()
{
for(int i=array.Length-1;i>=0;i--)
if (array[i]%3 == 0)
return i;
return -1;
}
public int FindSum(int t)
{
int sum = 0;
if (t < array.Length)
for (int i = 0; i < array.Length; i++)
sum += array[i];
else
return 0;
return sum;
}
}