Загрузка...

Как вывести максимальный отрицательный элемент массива?

Тема в разделе C# создана пользователем нексюша 17 апр 2024. 214 просмотров

Загрузка...
  1. нексюша
    нексюша Автор темы 17 апр 2024 я проснулся,почистил свои зубы,заказал еды,поцеловал тебя в губы 2703 20 июн 2020
    чет не получается нихуя, если первый элемент получается положительным, тогда выводит именно его, еще нужен счетчик, который выводит все элементы, которые меньше максимального отрицательного элемента (диапазон значений от -30 до 50).
    CSHARP
     int stchk = 0;
    double minimal_otr = C[0];
    for (int i = 0; i < C.Length; i++)
    {
    if (C[i] < 0)
    if (C[i] > minimal_otr)
    minimal_otr = C[i];
    if (C[i]<minimal_otr)
    stchk=stchk+1;
    }
    Console.WriteLine($"Максимальный отрицательный элемент массива: {minimal_otr}");
    Console.WriteLine($"Количество элементов меньших максимального отрицательного значения: {stchk}");
     
  2. chipolinka
    chipolinka 17 апр 2024 521 26 июл 2018
    Так в два цикла мб?
    Первым циклом ищешь максимальный отрицательный. Во втором цикле считаешь элементы, которые меньше его.
     
    1. Посмотреть предыдущие комментарии (1)
    2. chipolinka
      нексюша, А у тебя не верное условие изначальное.
      double minimal_otr = C[0];
      Не C[0] поставь, а -31 например...

      Только тогда еще надо будет обработку сделать, что если -31 осталось, то текстом какую-нибудь ошибку писал, для красоты.
      17 апр 2024 Изменено
    3. нексюша Автор темы
      chipolinka, почему? всё правильно же, я же не знаю какое C[1]?
    4. chipolinka
      нексюша, Ну потому что если у тебя первое заданное число положительное будет, то по твоему коду никак отрицательное туда уже не встанет ...

      Попробуй подставить -31, мб сам поймёшь что я имею ввиду. Не хочу на сто предложений расписывать.
      17 апр 2024 Изменено
  3. противоположник
    у тебя чутка трабл с проверкой минимального отрицательного элемента.

    CSHARP
    int stchk = 0;
    double minimal_otr = double.MinValue; // Инициализация с наименьшим возможным значением для double
    for (int i = 0; i < C.Length; i++)
    {
    if (C[i] < 0 && C[i] > minimal_otr) // Проверка на отрицательность и больше текущего минимального отрицательного
    {
    minimal_otr = C[i];
    }
    if (C[i] < minimal_otr)
    {
    stchk = stchk + 1;
    }
    }
    Console.WriteLine($"Максимальный отрицательный элемент массива: {minimal_otr}");
    Console.WriteLine($"Количество элементов меньших максимального отрицательного значения: {stchk}");
    добавил инициализацию minimal_otr значением double.MinValue для корректного сравнения с отрицательными элементами массива
     
    1. противоположник
      поправил условие проверки на отрицательность и добавил условие для подсчета элементов, которые меньше максимального отрицательного значения
  4. lvnlvn
    скипай все положительные числа, все оставшиеся (отрицательные) проверяй на максимум
     
    17 апр 2024 Изменено
  5. vtlstolyarov
    vtlstolyarov 17 апр 2024 474 8 янв 2022
    CSHARP
    int stchk = 0;
    double minimal_otr = double.MinValue;
    for (int i = 0; i < C.Length; i++)
    {
    if (C[i] < 0)
    {
    stchk++;
    if (C[i] > minimal_otr)
    minimal_otr = C[i];
    }
    }
    Console.WriteLine($"Максимальный отрицательный элемент массива: {minimal_otr}");
    Console.WriteLine($"Количество элементов меньших максимального отрицательного значения: {stchk-1}");
    Отдельно надо обработать случай когда отрицательных элементов в массиве вообще нет (stchk == 0)
     
    17 апр 2024 Изменено
Top