.NET 2.x Random: случайный выбор чисел в диапазоне, и вводом - C#

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

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

RANDOM СЛУЧАЙНЫЙ ВЫБОР ЧИСЕЛ В ДИАПАЗОНЕ, И ВВОДОМ Вот код в котором ошибка N[myArray[j]] где myArray[j] случайно подобранные не повторяющийся числа, что были введены , и хранятся в массиве Ошибка находиться в static void RANDOM_NUMBER_2 (int[] N)
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
 
namespace RANDOM_ASCII
{
    class Program
    {
        static void Main(string[] args)
        {
            int exit = 1;
            string com = "";
            while (exit>0)
                {
                int number_start = 0, number_end = 0;
                
                Title_color("Случайный Выбор ASCII");
                Console.WriteLine("\t\t\tСлучайный Выбор\n\n");
                Console.WriteLine("Выберете вариант подбора (y/n).....");
                com = Console.ReadLine();
                if (com=="y" || com=="Y")
                {
                    Console.WriteLine("Выберете начальную нумерацию....");
                    number_start = Convert_to_int(Console.ReadLine());
                    Console.WriteLine("Выберете конечную нумерацию....");
                    number_end = Convert_to_int(Console.ReadLine());
 
                    Console.WriteLine("Список номеров Подбора:....\n");
                    spisok(number_start, number_end);
                    Console.WriteLine("\n");
                    Console.WriteLine("Список Случайного Подбора:....\n");
                    RANDOM_NUMBER(number_start, number_end);
                }
                if (com=="n" || com=="N")
                {
                    int counts = 0;
                    Console.WriteLine("Введите количество случайных чисел.....");
                    counts = Convert_to_int(Console.ReadLine());
                    int[] mass = new int[counts];
                    Console.WriteLine("\n");
                    for (int i=0;i<mass.Length;i++)
                    {
                        Console.WriteLine("Введите "+i+ " ...");
                        mass[i] = Convert_to_int(Console.ReadLine());
                        Console.WriteLine("Номер: "+mass[i]+"\n");
                    }
                    RANDOM_NUMBER_2(mass);
                    
                }
                else  if (com != "y" || com != "Y" && com != "n" || com != "N")
                {
                    Console.WriteLine("ОШИБКА НЕ ВЕРНО ВВЕДЕНА КОМАНДА ВЫБОРА......");
                }
                Console.ReadKey(true);
            }
                
        }
 
        static void spisok (int start,int end)
        {
            int couts = 0;
            couts = (end) - (start);
            for (int i= start; i<= end; i++)
            {
                Console.WriteLine("номера: "+i);
            }
        }
 
        static int Convert_to_int (string str)
        {
            
            int n = 0;
            try
            {
                n = Convert.ToInt32(str);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return n;
        }
 
        static void Title_color (string titles)
        {
            Console.BackgroundColor = ConsoleColor.DarkCyan;
            Console.Clear();
            Console.ForegroundColor = ConsoleColor.White;
            Console.Title = titles;
        }
 
        static void RANDOM_NUMBER_2 (int[] N)
        {
            ArrayList myArray = new ArrayList();
            Random ran = new Random();
            int k = 0;
            // добавление неповторяющихся элементов
            for (int i = 0; i < 100; i++)
            {
                
                    int temp = ran.Next(N.Length);
                    if (!myArray.Contains(temp))
                        myArray.Add(temp);
                
            }
            for (int j = 0; j < myArray.Count; j++)
            {
                // Тут ошибка N[myArray[j]] 
                Console.WriteLine("Символ " + j + " ASCII : " + "{0}", N[myArray[j]]); // Тут ошибка N[myArray[j]] 
            }

        }
 
        static void RANDOM_NUMBER (int start,int end)
        {
            int couts = 0;
            int random0 = 0,random1=0;
            ArrayList myArray = new ArrayList();
 
            Random ran = new Random();
            if (end>start)
            {
                couts = (end) - (start);
 
                // добавление неповторяющихся элементов
                for (int i = 0; i < 100; i++)
                {
                    int temp = ran.Next(start, end+1);
                    if (!myArray.Contains(temp))
                        myArray.Add(temp);
                }
                //foreach (int i in myArray)
                for (int j=0;j < myArray.Count;j++)
                {
                   
                    Console.WriteLine("Символ " + j + " ASCII : " + "{0}", myArray[j] );
                }

            }
            else
            {
                Console.WriteLine("ОШИБКА: начальную нумерацию > конечную нумерацию");
            }          
            
        }
 
    }
}
Кто нибудь знает как поправить N[myArray[j]] ?

Решение задачи: «.NET 2.x Random: случайный выбор чисел в диапазоне, и вводом»

textual
Листинг программы
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
 
namespace RANDOM_ASCII
{
    class Program
    {
        static void Main(string[] args)
        {
            int exit = 1;
            string com = "";
            while (exit>0)
                {
                int number_start = 0, number_end = 0;
                
                Title_color("Случайный Выбор ASCII");
                Console.WriteLine("\t\t\tСлучайный Выбор\n\n");
                Console.WriteLine("Выберете вариант подбора (y/n).....");
                com = Console.ReadLine();
                if (com=="y" || com=="Y")
                {
                    Console.WriteLine("Выберете начальную нумерацию....");
                    number_start = Convert_to_int(Console.ReadLine());
                    Console.WriteLine("Выберете конечную нумерацию....");
                    number_end = Convert_to_int(Console.ReadLine());
 
                    Console.WriteLine("Список номеров Подбора:....\n");
                    spisok(number_start, number_end);
                    Console.WriteLine("\n");
                    Console.WriteLine("Список Случайного Подбора:....\n");
                    RANDOM_NUMBER(number_start, number_end);
                }
               
                if (com=="n" || com=="N")
                {
                    int counts = 0;
                    Console.WriteLine("Введите количество случайных чисел.....");
                    counts = Convert_to_int(Console.ReadLine());
                    int[] mass = new int[counts];
                    Console.WriteLine("\n");
                    for (int i=0;i<mass.Length;i++)
                    {
                        Console.WriteLine("Введите "+i+ " ...");
                        mass[i] = Convert_to_int(Console.ReadLine());
                        Console.WriteLine("Номер: "+mass[i]+"\n");
                    }
                    Console.WriteLine("Список номеров Подбора:....\n");
                    spisok2(mass);
                    Console.WriteLine("\n");
 
                    Console.WriteLine("Список Случайного Подбора:....\n");
                    RANDOM_NUMBER_2(mass);
                    
                }
                else  if (com != "y" && com != "Y" && com != "n" && com != "N")
                {
                    Console.WriteLine("ОШИБКА НЕ ВЕРНО ВВЕДЕНА КОМАНДА ВЫБОРА......");
                }
                Console.ReadKey(true);
            }
            
        }
 
        static int k_tmp { get; set; }
        static void spisok2(int[] mass)
        {
            int k = 0;
            for(int i=0;i<mass.Length;i++)
            {
                k = k + 1;
                Console.WriteLine(k + " номера: " + mass[i]);
            }
            k_tmp = k;
        }
 
        static void spisok (int start,int end)
        {
            int couts = 0;
            int k = 0;
            couts = (end) - (start);
            for (int i= start; i<= end; i++)
            {
                k = k + 1;
                Console.WriteLine(k+" номера: "+i);
            }
            k_tmp = k;
        }
 
        static int Convert_to_int (string str)
        {
            
            int n = 0;
            try
            {
                n = Convert.ToInt32(str);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return n;
        }
 
        static void Title_color (string titles)
        {
            Console.BackgroundColor = ConsoleColor.DarkCyan;
            Console.Clear();
            Console.ForegroundColor = ConsoleColor.White;
            Console.Title = titles;
        }
 
        static void RANDOM_NUMBER_2 (int[] N)
        {
            ArrayList myArray = new ArrayList();
            Random ran = new Random();
            int k = 0;
            // добавление неповторяющихся элементов
            for (int i = 0; i < 100; i++)
            {
                
                    int temp = ran.Next(N.Length);
                    if (!myArray.Contains(temp))
                        myArray.Add(temp);
                
            }
            foreach (int i in myArray) //for (int j = 0; j < myArray.Count; j++)
            {
                k = k + 1;
                Console.WriteLine("Символ " + k + " ASCII : " + "{0}", N[i]);
            }
            Console.WriteLine("\nНе попали: " + (k_tmp - k));
 
        }
 
        static void RANDOM_NUMBER (int start,int end)
        {
            int couts = 0;
            int random0 = 0,random1=0;
            ArrayList myArray = new ArrayList();
            int k = 0;
            Random ran = new Random();
            if (end>start)
            {
                couts = (end) - (start);
 
                // добавление неповторяющихся элементов
                for (int i = 0; i < 100; i++)
                {
                    int temp = ran.Next(start, end+1);
                    if (!myArray.Contains(temp))
                        myArray.Add(temp);
                }
                foreach (int i in myArray)
                //for (int j=0;j < myArray.Count;j++)
                {
                    k = k+1;
                    Console.WriteLine("Символ " + k + " ASCII : " + "{0}", i );
                }
                Console.WriteLine("\nНе попали: " + (k_tmp - k));
 
 
 
            }
            else
            {
                Console.WriteLine("ОШИБКА: начальную нумерацию > конечную нумерацию");
            }          
            
        }
 
    }
}

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


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

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

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