Найти все элементы массива, которые больше заданного и заменить их - C#

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

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

Добрый час суток! Задачка такая: Нам задан массив из N элементов. Найти все элементы этого массива,которые больше за заданное пользователем число k и заменить их на число k. Если таких элементов не находится,то уменьшать k на единицу до тех пор,пока не найдется хотя бы 1 элемент,который можно заменить. Вот мой код:
using System;
 
namespace laba9part1
{
    class MainClass
    {
        static void Main ()
        {
            try{
            int N, k;
            Console.WriteLine ("Введите количество елементов массива N");
            N = int.Parse (Console.ReadLine());
 
            int[] array= new int[N];
            
            Console.WriteLine ("Заполняем массив");
 
            for (int i = 0; i < array.Length; i++) {
                array [i] = int.Parse (Console.ReadLine());

            }
            Console.WriteLine ("Введите значение числа k");
            k = int.Parse (Console.ReadLine());
                for(int i=0;i<array.Length;i++)
                {
                    if(array[i]>k) {
                        Console.WriteLine(array[i]);
                        i=k;
 
                    }else if(array[i]<k){
                        while(array[i]!=k){
                            k--;
 
                        }
                        i=k;
 
                    }
                        
                }
            }catch(Exception c)
            { 
            Console.WriteLine (c.Message);
            }
        }
    }
}
Подскажите пожалуйста,все ли тут правильно? проверяю,пробую и кажется что,что-то идет не так,но не могу до конца сообразить что исправить. Спасибо заранее!

Решение задачи: «Найти все элементы массива, которые больше заданного и заменить их»

textual
Листинг программы
            bool flg = true;
            for (int i = 0; flg || i < array.Length; i++)
            {
                if (array[i] >= k)
                {
                    array[i] = k;
                    flg = false;
                }
 
                if (i == array.Length-1 && flg)
                {
                    i = 0;
                    k--;
                }
            }

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


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

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

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