Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace laba5
- {
- class Massiv
- { /// <summary>
- /// Поле с элементами массива
- /// </summary>
- private int[] _a;
- /// <summary>
- /// Поле с числами элементов массива
- /// </summary>
- private int _n;
- /// <summary>
- /// Метод ввода массива
- /// </summary>
- public void Input()
- {
- _a = new int[_n]; //выделили память для массива
- for (int i = 0; i < _n; i++)
- {
- Console.Write("Введите " + (i + 1) + " элемент массива: ");
- _a[i] = Control();
- }
- }
- /// <summary>
- /// Метод вывода массива на экран
- /// </summary>
- public void Print()
- {
- for (int i = 0; i < _n; i++)
- {
- Console.Write(_a[i] + "\t");
- }
- }
- /// <summary>
- /// Метод нахождения суммы элементов массива с нечётными номерами
- /// </summary>
- /// <returns></returns>
- public double Sum()
- {
- double sum = 0;
- for (int i = 0; i < _n; i++)
- {
- if (i % 2 == 0) sum += _a[i];
- }
- return sum;
- }
- public void Squeeze()
- {
- for (int i = 0; i < _n; i++)
- if (Math.Abs(_a[i]) < 1) //всем элементам, которые по модулю меньше 1 присвоили 0
- _a[i] = 0;
- for (int i = 0; i < _n - 1; i++)
- if (_a[i] == 0)
- {
- _a[i] = _a[i + 1];
- _a[i + 1] = 0;
- }
- }
- public int Control()
- {
- string str = Console.ReadLine();
- int x;
- while (!int.TryParse(str, out x))
- {
- Console.WriteLine("Повторите ввод");
- str = Console.ReadLine();
- }
- return x;
- }
- public double SumBetween()
- {
- int i = 0;
- while (i < _n && _a[i] >= 0)
- i++;
- int first;
- if (i == _n)
- {
- throw new ArgumentOutOfRangeException();
- }
- else
- {
- first = i;
- }
- i = _n - 1;
- while (i >= 0 && _a[i] >= 0)
- i--;
- int last;
- if (i == -1)
- {
- throw new ArgumentOutOfRangeException();
- }
- else
- {
- last = i;
- }
- int sum = 0;
- for (int j = first + 1; j < last; j++)
- sum += _a[j];
- return sum;
- }
- static void Main(string[] args)
- {
- Massiv Mass = new Massiv();
- try
- {
- Console.Write("Введите число элементов массива: ");
- Mass._n = Mass.Control();
- Mass.Input();
- Mass.Print();
- if (Mass._n != 0)
- {
- Console.WriteLine("\n\nСумма элементов массива с нечетными номерами равна: " + Mass.Sum());
- Console.WriteLine("\nСумма элементов массива, расположенных между первым и последним \nотрицательным элементом равна: " + Mass.SumBetween());
- Console.WriteLine();
- Mass.Squeeze();
- Mass.Print();
- Console.WriteLine();
- }
- else Console.WriteLine("Число элементов массива должно быть больше 0, попробуйте еще раз.");
- }
- catch
- {
- Console.WriteLine("Ошибка!");
- }
- Console.WriteLine("Программа завершена. Нажмите любую клавишу...");
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement