В упорядоченную последовательность включить заданное число так, чтобы упорядоченность не нарушилась - C#
Формулировка задачи:
Добавить условие заполнение массива
Задание :
В упорядоченную по возрастанию последовательность из целых
чисел включить заданное число так, чтобы упорядоченность не нарушилась
после ввода проверяю ввожу массив 23456
записываем число в массив 1
получается массив 213456, а должно 123456.
Какое условие добавить или как переписать?
Вот сам код программы:
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Udin
- {
- class Program
- {
- static void Main(string[] args)//мейн
- {
- int N, Ch, poz;//N - размер массива Ch- число, poz - его поизция
- Console.WriteLine("Введите размер массива");//просим ввести размер массива
- N = Convert.ToInt32(Console.ReadLine());//вводим размер массива
- int[] arr = new int[N + 1];//создаем массив
- for (int i = 0; i < N; i++)//идем в цикле
- {
- Console.WriteLine("Введите элемент массива[{0}]:", i + 1);//просим ввести элемент массива
- arr[i] = Convert.ToInt32(Console.ReadLine());//вводим элемент массива
- }
- Console.WriteLine("Введите число для вставки: ");//просим ввести число
- Ch = Convert.ToInt32(Console.ReadLine());//вводим число, которое вставляем
- Console.WriteLine("Ваш массив:");//
- for (int i = 0; i < N; i++)//идем в цикле
- {
- Console.Write(arr[i] + " ");//выводим массив на экран
- }
- poz = 0;//обнуляем позицию
- for (int i = 0; i < N; i++)//идем в цикле
- {
- if (arr[i] < Ch)//если текущий элемент меньше нашего числа
- poz = i;//запоминаем его поизцию
- }
- for (int i = N; i > poz + 1; i--)//идем в цикле и двигаем массив вправо на 1 элемент, освобождая место для вставки
- {
- arr[i] = arr[i - 1];//
- }
- arr[poz + 1] = Ch;//вставляем наш элемент на его позицию
- Console.WriteLine("\nВаш массив:");//идем в цикле
- for (int i = 0; i < N + 1; i++)//
- {
- Console.Write(arr[i] + " ");//выводим массив на экран
- }
- Console.ReadKey();//чтобы не закрывалась консоль
- }
- }
- }
Решение задачи: «В упорядоченную последовательность включить заданное число так, чтобы упорядоченность не нарушилась»
textual
Листинг программы
- poz = 0;//обнуляем позицию
- for(int i = 0; i < N; i++)//идем в цикле
- {
- if(arr[i] < Ch) //если текущий элемент меньше нашего числа
- poz = i + 1; //Изменил
- }
- for(int i = N; i > poz; i--)//Изменил
- {
- arr[i] = arr[i - 1];//
- }
- arr[poz] = Ch;//Изменил
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д