Программа не считает номер второго отрицательного элемента, и сумму элементов - C#
Формулировка задачи:
Помогите пожалуйста, код вроде правильный, но программа не считает номер второго отрицательного элемента, и сумму элементов.
Вот код:
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Mass
- {
- class Program
- {
- // private static double count;
- static void Main(string[] args)
- {
- // Random rnd = new Random();
- Console.Write("Введите размер массива ");
- int N = int.Parse(Console.ReadLine());
- double[] Mass = new double[N];
- //Заполняем массив
- // Console.WriteLine("Выберите ручной или автоматический вариант заполнения массива");
- // Console.WriteLine(" 1 - Ручной ввод\n 2 - Автоматический ввод");
- // swVVOD:
- // int vvod = int.Parse(Console.ReadLine());
- // switch (vvod)
- // {
- // case 1:
- // {
- // Console.Write("Введите элементы массива\n\n");
- // for (int i = 0; i < N; i++)
- //{
- // Mass[i] = double.Parse(Console.ReadLine());
- Console.WriteLine("Введіть значення елементів масиву");
- for (int i = 0; i < Mass.Length; i++)
- {
- Console.Write("Mass[{0}] = ", i);
- Mass[i] = Convert.ToDouble(Console.ReadLine());
- }
- // Контрольне виведення масиву
- Console.WriteLine("Вихідний масив:");
- for (int i = 0; i < Mass.Length; i++)
- {
- Console.Write("{0} ", Mass[i]);
- }
- Console.WriteLine(); // переведення рядка
- // break;
- // }
- /* case 2:
- {
- Console.Write("\nИсходный массив\n\n");
- for (int i = 0; i < N; i++)
- {
- Mass[i] = (double)(rnd.NextDouble() * rnd.Next(-10, 5));
- Console.Write("{0} ", Mass[i]);
- }
- break;
- }
- }
- //Console.Write("\nИсходный массив\n\n");
- //Вычисляем сумму элементов массива с нечетными номерами
- double nechetSum = 0;
- for (int i = 1; i < Mass.Length; i++)
- {
- if (Mass[i] % 2 != 0)
- nechetSum += Mass[i];
- }
- Console.WriteLine("\n\nСумма нечетных элементов = {0}", nechetSum.ToString());
- */
- //Вычисляем сумму элементов массива между крайними отрицательными элементами
- int K = 0;
- for (int i = 0; i < Mass.Length; i++)
- {
- if (Mass[i] < 0)
- K = i;
- // break;
- }
- Console.WriteLine("номер первого отрицательного={0}", K);
- int K1 = 0;
- for (int i = K; i > Mass.Length; i--)
- {
- if (Mass[i] < 0)
- K1 = i;
- // break;
- }
- Console.WriteLine("номер второго отрицательного={0}", K1);
- double sum = 0.0;
- for (int i = K + 1; i < K1; i++)
- {
- sum += Mass[i];
- }
- Console.WriteLine("Сумма элементов = {0}", sum);
- //Убираем элементы с модулем менее единицы
- /* for (int i = 0; i < N; i++)
- {
- if (Math.Abs(Mass[i]) < 1) Mass[i] = 0;
- }
- //Сжимаем массив и заполняем освобожденные элементы нулями
- for (int i = 0; i < N; i++)
- {
- for (int j = i + 1; j < N; j++)
- {
- if (Mass[i] == 0)
- {
- Mass[i] = Mass[j];
- Mass[j] = 0;
- }
- else break;
- }
- }
- Console.WriteLine("Измененный массив\n");
- foreach (double i in Mass) Console.Write("{0} ", i);
- Console.WriteLine();*/
- Console.ReadKey();
- }
- }
- }
Решение задачи: «Программа не считает номер второго отрицательного элемента, и сумму элементов»
textual
Листинг программы
- private static void Main()
- {
- Console.Write("Введите размер массива ");
- int n = int.Parse(Console.ReadLine());
- double[] mass = new double[n];
- //Заполняем массив
- Console.WriteLine("Введіть значення елементів масиву");
- for (int i = 0; i < mass.Length; i++)
- {
- Console.Write("Mass[{0}] = ", i);
- mass[i] = double.Parse(Console.ReadLine());
- }
- // Контрольне виведення масиву
- Console.WriteLine("Вихідний масив:");
- Console.WriteLine(string.Join(" ", mass));
- //Вычисляем сумму элементов массива между крайними отрицательными элементами
- int k1 = 0;
- for (int i = 0; i < mass.Length; i++)
- {
- if (mass[i] < 0)
- {
- k1 = i;
- break;
- }
- }
- Console.WriteLine("номер первого отрицательного={0}", k1);
- int k2 = 0;
- for (int i = mass.Length - 1; i > k1; i--)
- {
- if (mass[i] < 0)
- {
- k2 = i;
- break;
- }
- }
- Console.WriteLine("номер второго отрицательного={0}", k2);
- double sum = 0.0;
- for (int i = k1 + 1; i < k2; i++)
- {
- sum += mass[i];
- }
- Console.WriteLine("Сумма элементов = {0}", sum);
- Console.ReadKey();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д