.NET 4.x Задача - доработать программу с использованием массива - C#
Формулировка задачи:
Появилась цель - играю в Клавогонки - создать программу для ввода в массив определённых букв (сейчас ввожу и изменяю по мере необходимости в самом коде, так как мне это не важно, и как сделать выбор "Введите первый символ массива:" и т.д. я знаю. Приоритет же - именно скопировать в конце с Консоли готовый текст) в результате чтобы получить ОПРЕДЕЛЁННОЕ количество созданных
Посоветуйте, что можно сделать и/или, желательно, напишите готовый код
"слов" - последовательностей данных букв
да еще и желательно, чтобы также можно было указывать КОНКРЕТНОЕ числопозиций - букв в "слове"
. Сейчас жеколичество созданных слов
достигается за счет нажатия Enter в Консоли многочисленное число раз, а конкретноечисло позиций
- написанием в самом коде необходимого количества строк "Console.Write(str[r.Next(0, 11)]);" - о том, что в самом коде пока приходится изменять длину массива я знаю, свойством .lenght, к счастью, сумею воспользоваться (хоть что-то осталось после одного семестра изучения в прошлом коду C#). Прошу помочь с советом и доработкой программы по данным двум пунктам - в самой консоли вводить определенное количество слов и определенное количество букв в слове и получать в итоге текст, состоящий только из данных словusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
bool all = true;
while (all)
{
string[] str = { "к", "н", "г", "в", "п", "р", "л", "с", "м", "т", "ь", "б" };
Random r = new Random();
string n = Console.ReadLine();
switch (n)
{
case "":
Console.Write(str[r.Next(0, 11)]);
Console.Write(str[r.Next(0, 11)]);
Console.Write(str[r.Next(0, 11)]);
Console.Write(str[r.Next(0, 11)]);
Console.Write(str[r.Next(0, 11)]);
break;
}
}
}
}
}
Исправил ярко бросающиеся в глаза ошибки но все также остро стоят вопросы:
Как перво-наперво вводить в Консоль
число позиций
для символов в слове? Как после вводить тольконеобходимое
, для обозначенного выше числа позиций,количество символов
(то есть, если есть число "3", то вводить только "a: ", "b: ", "c: ", без d, e и других букв алфавита - или же вообще не используя Console.Writе "Введите такой-то символ" в определённым массив всё впихнуть [как?]
)?using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите буквы, которые хотите использовать в словах:");
Console.Write("1-ая: "); char a = char.Parse(Console.ReadLine());
Console.Write("2-ая: "); char b = char.Parse(Console.ReadLine());
Console.Write("3-ая: "); char c = char.Parse(Console.ReadLine());
Console.Write("4-ая: "); char d = char.Parse(Console.ReadLine());
Console.Write("5-ая: "); char e = char.Parse(Console.ReadLine());
Console.WriteLine("Генрация (жмите Enter): ");
bool all = true;
while (all)
{
char [] str = {a, b, c, d, e};
int длина_массива = str.Length;
Random r = new Random();
string n = Console.ReadLine();
switch (n)
{
case "":
Console.Write(str[r.Next(0, длина_массива)]);
Console.Write(str[r.Next(0, длина_массива)]);
Console.Write(str[r.Next(0, длина_массива)]);
Console.Write(str[r.Next(0, длина_массива)]);
Console.Write(str[r.Next(0, длина_массива)]);
break;
}
}
}
}
}Решение задачи: «.NET 4.x Задача - доработать программу с использованием массива»
textual
Листинг программы
static class Program
{
static void Main(string[] args)
{
Console.Write("Type symbols and press <Enter>");
char[] stringToChars = Console.ReadLine().ToCharArray();
Console.WriteLine();
stringToChars.Print();
var letters = LettersFromConsole(5);
letters.Print();
Console.ReadKey();
}
static void Print(this IEnumerable<char> seq)
{
foreach (char c in seq)
Console.Write("{0} ", c);
Console.WriteLine();
}
static char[] LettersFromConsole(int count)
{
var array = new char[count];
Console.WriteLine("Type {0} symbols", count);
for (int i = 0; i < count; i++)
array[i] = Console.ReadKey().KeyChar;
Console.WriteLine();
return array;
}
}