Удвоить вхождение в одномерный целочисленный массив всех элементов из заданного диапазона - C#

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

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

Напишите программу, которая удваивает вхождение в одномерный целочисленный массив всех элементов из заданного диапазона. Исходное число элементов прочитайте с клавиатуры, сам массив сгенерируйте случайным образом. Массив до и после удваивания вхождения элементов выведите на экран для сравнения. Проверьте, правильно ли написан код
namespace задача_3
{
    class Program
    {
        static void Print(int[] arr)
        {
            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write("{0}    ", arr[i]);
            }
        }
        static void Assignment (int [] arr)
        {
            Random rnd = new Random();
            for (int i = 0; i < arr.Length; i++)
            {
                arr[i] = rnd.Next(-100, 100);
            }
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Введите длину массива:");
            int n = int.Parse(Console.ReadLine());
            Console.WriteLine("Введите нижнюю границу");
            int a = int.Parse(Console.ReadLine());
            Console.WriteLine("Введите верхнюю границу");
            int b = int.Parse(Console.ReadLine());
            if (a < b)
            {
                int[] arr = new int[n];
                Assignment(arr);
                Console.WriteLine("исходный массив: ");
                Print(arr);
                int count = 0;
                for (int i = 0; i < arr.Length; i++)
                {
                    if (arr[i] >= a && arr[i] <= b)
                    {
                        count++;
                    }
                }
                Console.WriteLine("кол-во элементов в массиве = {0}",count);
                int[] arrnew = new int[arr.Length + count];
                int countnew = 0;
                for (int i = 0; i < arr.Length; i++)
                {
                    arrnew[countnew] = arr[i];
                    countnew++;
                    if (arr[i] >= a && arr[i] <= b)
                    {
                        arrnew[countnew] = arr[i];
                        countnew++;
                    }
                }
                Console.WriteLine();
                Console.WriteLine("Отсортированный массив: ");
                Print(arrnew);
            }
            else { Console.WriteLine("Ошибка.Введенны неверные значения"); }
            Console.ReadLine();
        }
    }
}

Решение задачи: «Удвоить вхождение в одномерный целочисленный массив всех элементов из заданного диапазона»

textual
Листинг программы
using System;
using System.Collections.Generic;
 
class Program
{
    public static void Main()
    {
        Random RND = new Random();
        List<int> arr = new List<int>();
        for (int i = 0; i < 20; i++)
        {
            int n = RND.Next(10);
            arr.Add(n);
            Console.Write(n);
            Console.Write(' ');
        }
        Console.WriteLine();
        for (int i = arr.Count - 1; i >= 0; i--)
        {
            if (arr[i] == 3 || arr[i] == 7) arr.Insert(i, arr[i]);
        }
        for (int i = 0; i < arr.Count; i++)
        {
            Console.Write(arr[i]);
            Console.Write(' ');
        }
        Console.WriteLine();
    }
}

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


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

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

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