Помогите с массивом cВ одномерном массиве нужно удалить элементы, стоящие меж
Помогите с массивом c
В одномерном массиве необходимо удалить элементы, стоящие между максимальным отрицательным и минимальным положительным.
Никита Ваткин
в массиве элементы не удаляются
Антон Ляптиков
массивы под это не заточены
Ульяна Худолеева
проще всего создать новый массив в котором нет негодных частей
Дарья Рузанкова
либо работать со перечнем List<>
Володя Почнирибко
так что конкретно надобно?
Анатолий
я не знаю, на ваше усмотрение
1 ответ
Vasenkova Elizaveta
Private static int[] DeleteSomethingInArray(int[] a)
Debug.Assert(a.Length gt; 1 amp;amp; a.Any(x =gt; x gt; 0) amp;amp; a.Any(x =gt; x lt; 0)); // это просто проверка, можно удалить или закоментировать
if (a.Length == 2)
return a;
var max_i = -1;
var min_i = -1;
for (var i = 0; i lt; a.Length; i++)
if (a[i] lt; 0 amp;amp; (max_i lt; 0 a[max_i] lt; a[i]))
max_i = i;
if (a[i] gt; 0 amp;amp; (min_i lt; 0 a[min_i] gt; a[i]))
min_i = i;
var result = new int[a.Length - Math.Абс(max_i - min_i) + 1];
var j = 0;
for (var i = 0; i lt; a.Length; i++)
if (i lt;= Math.Min(max_i, min_i) i gt;= Math.Max(max_i, min_i))
result[j++] = a[i];
return result;
На всякий случай в заголовках
using System;
using System.Diagnostics;
using System.Linq;
Debug.Assert(a.Length gt; 1 amp;amp; a.Any(x =gt; x gt; 0) amp;amp; a.Any(x =gt; x lt; 0)); // это просто проверка, можно удалить или закоментировать
if (a.Length == 2)
return a;
var max_i = -1;
var min_i = -1;
for (var i = 0; i lt; a.Length; i++)
if (a[i] lt; 0 amp;amp; (max_i lt; 0 a[max_i] lt; a[i]))
max_i = i;
if (a[i] gt; 0 amp;amp; (min_i lt; 0 a[min_i] gt; a[i]))
min_i = i;
var result = new int[a.Length - Math.Абс(max_i - min_i) + 1];
var j = 0;
for (var i = 0; i lt; a.Length; i++)
if (i lt;= Math.Min(max_i, min_i) i gt;= Math.Max(max_i, min_i))
result[j++] = a[i];
return result;
На всякий случай в заголовках
using System;
using System.Diagnostics;
using System.Linq;
Agata Mishurenko
Спасибо! выводит ошибку что нет главной точки входа статического метода Main
Ирина Обрываева
Верно. Сделайте его и вызовите из него эту функцию, чтоя написала
Максим Чигладзе
using System;using System.Collections.Generic;using System.Diagnostics;using System.Linq;internal static class Program private static void Main() try var r = DeleteSomethingInArray(new[] -2, -3, -1, 0, 0, 1, 2, 3); Console.WriteLine(r.Aggregate("", (s, x) => "s x")); catch(Exception e) Console.WriteLine(e); finally Console.ReadLine();
Julija
private static int[] DeleteSomethingInArray(int[] a) Debug.Assert(a.Length > 1 a.Any(x => x > 0) a.Any(x => x < 0)); if (a.Length == 2) return a; var max_i = -1; var min_i = -1; for (var i = 0; i < a.Length; i++) if (a[i] < 0 (max_i < 0 a[max_i] < a[i])) max_i = i; if (a[i] > 0 (min_i < 0 a[min_i] > a[i])) min_i = i;
Sergej Gamzinov
var result = new int[a.Length - Math.Абс(max_i - min_i) + 1]; var j = 0; for (var i = 0; i < a.Length; i++) if (i <= Math.Min(max_i, min_i) i >= Math.Max(max_i, min_i)) result[j++] = a[i]; return result;
Vasilisa Tuzhulina
Вот полностью с оберткой. Просто оно все достаточно мощное.
Кирилл Стряпкин
Спасибо!!
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов