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