Дан массив. Удалить из него второй положительный элемент - C#

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

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

Здравствуйте, помогите пожалуйста найти ошибку. Задание: Дан массив. Удалить из него второй положительный элемент.
using System;
 
namespace Prog1
{
    class Program
    {
        static int[] a = new int[100];
        static int n;
        static void inp()
        {
            int i;
            Console.WriteLine("Количество элементов массива?");
            n = Convert.ToInt32(Console.ReadLine());
            Random r = new Random();
            for (i = 0; i < n; i++)
                a[i] = r.Next(-100, 101);
        }
        static void outp()
        {
            int i;
            for (i = 0; i < n; i++) Console.Write(" {0} ", a[i]);
            Console.WriteLine(); Console.WriteLine();
        }
        static int Del(ref int n, ref int k, ref int[] a)
        {
            for (int i = k; i < n-1; i++)
            {
                a[i] = a[i+1]; 
            }
            a[n] = 0;
            n = n - 1;
           return n;
        }
        static int soLution(ref int n, ref int[] a)
        {
            bool L = false;
            int i = 1;
                while ((i<=n) && (a[i]<=0) )
                {
                    i = i + 1;
                }
                i = i + 1;
                while ((i <= n) && (!L))
                {
                    if (a[i] > 0)
                    {
                        L =true;
                    }
                    else
                    {
                        i = i + 1;
                    }
                }
                if (L)
                {
                    Del(ref n, ref i, ref a);
                }
                else
                {
                    Console.WriteLine(" Элемент не найден");
                }         
            return n;
        }
        static void Main()
        {
            inp();
            outp();
            soLution(ref n, ref a);
            outp();
            Console.ReadKey();
        }
    }
}

Решение задачи: «Дан массив. Удалить из него второй положительный элемент»

textual
Листинг программы
using System;
 
namespace Prog1
{
    class Program
    {
        static int[] array = new int[100];
        static int n;
        static bool deleted;
 
        static void Input()
        {
            int i;
            Console.WriteLine("Количество элементов массива?");
            n = Convert.ToInt32(Console.ReadLine());
            Random r = new Random();
            for (i = 0; i < n; i++)
                array[i] = r.Next(-100, 101);
        }
        static void Output()
        {
            int i;
            for (i = 0; i < n; i++) Console.Write("{0,4}", array[i]);
                Console.WriteLine(); Console.WriteLine();
        }
        static void Del(int k)
        {
            for (int i = k; i < n - 1; i++)
            {
                array[i] = array[i + 1];
            }
            array[n] = 0;
            n = n - 1;
            deleted = true;
        }
        static void Solution()
        {
            int j = 0;
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] % 2 == 0)
                    j++;
                if (j == 2)
                {
                    Del(i);
                    break;
                }
            }
 
            if (!deleted)
                Console.WriteLine(" Элемент не найден");
        }
        static void Main()
        {
            deleted = false;
 
            Input();
            Output();
            Solution();
            Output();
            Console.ReadKey();
        }
    }
}

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


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

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

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