В одномерном массиве определить местоположение первого и последнего изо всех отрицательных элементов - C#

Узнай цену своей работы

Формулировка задачи:

еще раз всем привет подскажите пожалуйста, почему счетчик считает правильно, хотя вроде бы не должен задание: В одномерном массиве определить местоположение первого и последнего изо всех отрицательных элементов
class Program
    {
        static void Main(string[] args)
        {
            int[] array = { -1, 0, 45, -18, 88, -37, 55, 1, 94 };
            for (int i = 0; i < array.Length; i++)
                Console.Write("{0}\t", array[i]);
            Console.WriteLine();
 
            int ind_negfirst = 0;
            int ind_neglast = 0;
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] < 0) ind_neglast = i;
                {
                    for (int j = 0; j < array.Length; j++)
                    {
                        if (array[j] < 0)
                            break;
                        ind_negfirst = j+1; // [B]вот здесь вроде бы не должен считать[/B]
                    }
                }
            }
            Console.WriteLine();
            Console.WriteLine("Индекс первого отрицательного элемента: {0}", ind_negfirst);
            Console.WriteLine("Индекс последнего отрицательного элемента: {0}", ind_neglast);
            Console.ReadKey();
        }
    }
}

Решение задачи: «В одномерном массиве определить местоположение первого и последнего изо всех отрицательных элементов»

textual
Листинг программы
class Program
    {
        static void Main(string[] args)
        {
            int[] array = {-1, 0, 45, -18, 88, -37, 55, 1, 94 };
            for (int i = 0; i < array.Length; i++)
                Console.Write("{0}\t", array[i]);
            Console.WriteLine();
 
            int ind_negfirst = 0;
            int ind_neglast = 0;
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] < 0)
                {
                    ind_neglast = i;
                }
                 for (int j = 0; j < array.Length; j++)
                    {
                        if (array[j] < 0)//Проверяем первый элемент цикла(он ниже 0), потому переходим в конструкцию if
                        {
                            break;// Тут внутренний цикл прерывается
                        }
                        ind_negfirst = j+1; // [B]вот здесь вроде бы не должен считать[/B]
                    }
            }//Тут начинается новый внешний цикл
            Console.WriteLine();
            Console.WriteLine("Индекс первого отрицательного элемента: {0}", ind_negfirst);
            Console.WriteLine("Индекс последнего отрицательного элемента: {0}", ind_neglast);
            Console.ReadKey();
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы