Найти все элементы массива, которые больше заданного и заменить их - 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--; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д