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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2010, 10:10   #1
Alex_sim
Форумчанин
 
Аватар для Alex_sim
 
Регистрация: 18.02.2010
Сообщений: 164
Восклицание Словарь

Здравствуйте как можно удалить из массива повторяющие слова массив string mass =""; строка содержит слова они разделенны запятыми думаю можно сначала разбить на лексемы а затем i-е элементы сравнить . Подскажите как это сделать ?
Alex_sim вне форума Ответить с цитированием
Старый 04.06.2010, 10:46   #2
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

Нужно создать массив
Цитата:
string[] words;
туда записать слова, далее сравнивать и удалять, затем записать обратно в mass
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Старый 04.06.2010, 12:57   #3
Alex_sim
Форумчанин
 
Аватар для Alex_sim
 
Регистрация: 18.02.2010
Сообщений: 164
По умолчанию

Вот что у меня вышло
как вас понял нужно каждое слово записать отдельно в каждую ячейку массива не получается смог только
записать строчкой и перебираю эту строку и повторяющие элементы i-ые елементы удаляю.
Посмотрите пожалуста как можно удалить слова а не повторяющие символы??


Код:
	private void openToolStripMenuItem_Click(object sender, EventArgs e)//Открытие Файла
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                FileStream Open = openFileDialog1.OpenFile() as FileStream;
                StreamReader SR = new StreamReader(Open,Encoding.Default);
                textBox2.Clear();
                
                while (SR.Peek() > 0)
                {
                    
                    Vd = SR.ReadLine();
                    textBox2.Text = Vd;
                }
                
                Vd = Vd.Replace("Путь:", string.Empty);
                textBox2.Text = Vd;
            }




        }

        private void button1_Click(object sender, EventArgs e)
        {
                                 
            foreach(char ch in Vd)// цикл удаления повторяющихся элементов
            {
                Vd = Vd.Replace(ch,' ');
                Vd += ch;
            }
            Vd = Vd.Replace(" ",string.Empty);
             textBox1.Text = Vd;      
                                                
            
           
        }

Последний раз редактировалось Alex_sim; 04.06.2010 в 13:00.
Alex_sim вне форума Ответить с цитированием
Старый 04.06.2010, 13:54   #4
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

вот код, единственное тебе остается посчитать количество слов count
Код:
        string Vd="asdf 123 sdfkj ;lkjksdf oiuwerrr asdf";
        private void button1_Click(object sender, EventArgs e)
        {
            int count = 5; //count нужно подсчитать (количество слов)
            string[] words = new string[count];
            int j=0;
            for (int i = 0; i < count; i++)
            {
                while (j < Vd.Length &&  (Vd[j] != ' '))
                {
                    words[i] += Vd[j].ToString();
                    j++;
                }
                j++;
            }
            int flag=0;
            textBox1.Clear();
            foreach (string str in words)// цикл удаления повторяющихся элементов
            {
                flag = 0;
                foreach (string str1 in words)
                    if (str == str1) flag++;
                if (flag < 2)
                    textBox1.Text += str+" ";
            }
            Vd=textBox1.Text; 
        }
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Старый 04.06.2010, 17:34   #5
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

Код:
            List<string> t = new List<string>();
            t.Add("aaaa");
            t.Add("bbbb");
            t.Add("aaaa");

            List<string> t2 = new List<string>();
            for (int i = 0; i < t.Count; i++)
            {
                if (!t2.Contains(t[i]))
                    t2.Add(t[i]);
            }
Cpluser вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Словарь перевочик на С# Tmaxxx Общие вопросы .NET 1 18.05.2010 20:23
частотный словарь в sagitron Microsoft Office Excel 11 07.01.2010 20:55
Словарь Rebel123 Софт 4 03.07.2009 09:19