Предмет: Информатика, автор: kartshenev

Задача на C#
В массиве A=(a1, а2, ..., аn) удалить все отрицательные элементы, стоящие перед минимальным элементом массива


Аноним: Что известно о массиве А? Должен ли результат быть помещен назад в A (как тогда быть с его размером?) или можно его отправить в другой массив? Или достаточно лишь вывести содержимое массива А, пропустив отрицательные элементы, стоящие перед минимальным элементом?
Аноним: Вы же, надеюсь помните, что в C# массивы имеют фиксированный размер?
Аноним: Либо придется делать динамический массив, а это уже совсем иное.
kartshenev: массив А имеет любую размерность заданную пользователем, можно отправить в другой массив, если легче будет то можно вывести массив пропустив отрицательные элементы, стоящие перед минимальным элементом массива
Аноним: Да тут самое простое через LINQ пропустить и отправить в новый массив.
Аноним: код кинь
Аноним: это не помощь

Ответы

Автор ответа: Аноним
2

using System;

using System.Linq;


class Program {

 static void Main() {

   int n = Convert.ToInt32(Console.ReadLine());

   int[] a = new int[n];

   Random r = new Random();

   for (int i = 0; i < a.Length; i++) {

     a[i] = r.Next(-100, 101);

     Console.Write(a[i] + " ");

   }

   Console.WriteLine();

   int min = a.Min();

   int im = 0, k = 0;

   while (a[im] != min) {

       if (a[im] < 0  && a[im] !=min) k++;

       im++;

   }

   int nb = n - k;

   int[] b = new int[nb];

   int j = 0;

   for (int i = 0; i < n; i++ ) {

       if (i < im && a[i] < 0);

       else {

           b[j] = a[i];

           j++;

       }

   }

   foreach (int i in b)

   Console.Write (i + " ");

 }

}

Приложения:

kartshenev: благодарю
Аноним: Пожалуйста
Похожие вопросы
Предмет: Биология, автор: nabievrus09
Предмет: Геометрия, автор: takiotokiobs
Предмет: Химия, автор: Angel257