.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;
    }
}

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


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

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

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