Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2011, 01:48   #1
Lastsummer
Пользователь
 
Аватар для Lastsummer
 
Регистрация: 05.10.2010
Сообщений: 10
Печаль C# - Посимвольный вывод слова в случайном порядке

Здравствуйте! Хочу попросить вашей помощи вот в чем...
Задание состоит в том, чтобы сначала ввести в программе слово, а затем при каждом нажатии кнопки выводить одну из букв этого слова в случайном порядке, чтобы они не повторялись. Проблема заключается в том, что я не могу исключить их повторение.
У меня либо получается выводить по одной букве с повторами, либо без повторов, но все буквы сразу.
Наверное, это совсем не сложно, но мой мозг отказывается мне в этом помочь.
Спасибо за помощь!
Lastsummer вне форума Ответить с цитированием
Старый 02.02.2011, 02:14   #2
Lastsummer
Пользователь
 
Аватар для Lastsummer
 
Регистрация: 05.10.2010
Сообщений: 10
По умолчанию

Да, вот мой код...

Код:
        private void RandomSmbBtn_Click(object sender, EventArgs e)
        {
            char[] input_str;
            char[] mix_str;
            char temp;
            Random r = new Random();

            input_str = StrTextBox.Text.ToCharArray();
            mix_str = input_str;
            
            //формируем перемешанный массив
            for (int i = 0; i < input_str.Length; i++)
            {
                int randomIndex = r.Next(mix_str.Length);
                temp = mix_str[i];
                mix_str[i] = mix_str[randomIndex];
                mix_str[randomIndex] = temp;              
            }
            
            //выводим перемешанное слово
            for (int i = 0; i < mix_str.Length; i++)
            {
                string s = mix_str[i].ToString();
                StrRichTextBox.AppendText(s + "\n");
            }

            //выводим по одному случайному символу изначальной строки
            int[] indexes = new int[mix_str.Length];
            
            Random rand = new Random();
            int randIndex = rand.Next(mix_str.Length);
            string str = mix_str[randIndex].ToString();
            StrRichTextBox.AppendText(str + "\n");

        }
    }
Проблема заключается с одиночным выводом случайных символов, вот... Как исключить их повтор?
Lastsummer вне форума Ответить с цитированием
Старый 02.02.2011, 02:18   #3
Neser
Пользователь
 
Аватар для Neser
 
Регистрация: 26.12.2010
Сообщений: 47
По умолчанию

Запихнуть в лист, и когда выводиш символ, тогда удаляеш елемент листа
KISS - Keep It Simple Stupid
Neser вне форума Ответить с цитированием
Старый 02.02.2011, 10:15   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

выведенный символ удаляйте из строки и всех делов то..

только решите для себя, если повторяющиеся символы есть в слове, как правильно выводить.
поясню. например, слово БОБ : буква Б должна вывестись два раза или один?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.02.2011, 12:40   #5
Lastsummer
Пользователь
 
Аватар для Lastsummer
 
Регистрация: 05.10.2010
Сообщений: 10
По умолчанию

Точно "всего и делов-то") В задании вообще не оговорено, не должны ли буквы повторяться, это я так для себя решила, вот... Спасибо большое за ваши ответы!
Lastsummer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упорядочить слова в алфавитном порядке sasha45 Общие вопросы C/C++ 36 20.06.2011 11:03
Все слова входного потока вывести в алфавитном порядке lutuygrey1 Общие вопросы C/C++ 13 28.05.2009 01:31
[C++] Вывод в алфавитном порядке? sailol Помощь студентам 6 27.04.2009 21:37
Как расположить в алфавитном порядке слова,содержащиеся в файле? JiLiYa Паскаль, Turbo Pascal, PascalABC.NET 0 20.12.2008 13:58
Во вводимом тексте переписать все слова в обратном порядке. menlo Помощь студентам 5 17.11.2007 10:18