Вопрос задан 26.07.2023 в 11:04. Предмет Информатика. Спрашивает Шахов Алексей.

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

минимальным элементом массива
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Горячева Кристина.

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 + " ");

 }

}


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи на C#, нужно выполнить следующие шаги:

  1. Найти индекс минимального элемента в массиве.
  2. Удалить все отрицательные элементы, которые находятся перед минимальным элементом.

Вот код на C#, который решает эту задачу:

csharp
using System; class Program { static void Main() { int[] arr = { 3, -5, -2, 7, -1, 4, 9, -6 }; // Находим индекс минимального элемента в массиве int minIndex = FindMinIndex(arr); // Удаляем отрицательные элементы, стоящие перед минимальным элементом DeleteNegativesBeforeMin(arr, minIndex); // Выводим результат Console.WriteLine("Результат:"); foreach (int num in arr) { Console.Write(num + " "); } } // Метод для поиска индекса минимального элемента в массиве static int FindMinIndex(int[] arr) { int minIndex = 0; for (int i = 1; i < arr.Length; i++) { if (arr[i] < arr[minIndex]) { minIndex = i; } } return minIndex; } // Метод для удаления отрицательных элементов перед минимальным элементом static void DeleteNegativesBeforeMin(int[] arr, int minIndex) { for (int i = minIndex - 1; i >= 0; i--) { if (arr[i] < 0) { // Сдвигаем элементы влево, чтобы "удалить" отрицательный элемент for (int j = i; j < arr.Length - 1; j++) { arr[j] = arr[j + 1]; } // Уменьшаем размер массива на 1 Array.Resize(ref arr, arr.Length - 1); } } } }

Важно заметить, что при удалении отрицательных элементов мы производим сдвиг элементов влево и изменяем размер массива с помощью Array.Resize.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос