.NET 2.x Random: случайный выбор чисел в диапазоне, и вводом - C#
Формулировка задачи:
RANDOM СЛУЧАЙНЫЙ ВЫБОР ЧИСЕЛ В ДИАПАЗОНЕ, И ВВОДОМ
Вот код
в котором ошибка N[myArray[j]]
где myArray[j] случайно подобранные не повторяющийся числа, что были введены , и хранятся в массиве
Ошибка находиться в static void RANDOM_NUMBER_2 (int[] N)
Кто нибудь знает как поправить N[myArray[j]] ?
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("ОШИБКА: начальную нумерацию > конечную нумерацию"); } } } }
Решение задачи: «.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("ОШИБКА: начальную нумерацию > конечную нумерацию"); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д