Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 2 / 0
Регистрация: 10.02.2018
Сообщений: 22

Отредактировать программу про строки

09.03.2018, 07:41. Показов 760. Ответов 7

Студворк — интернет-сервис помощи студентам
Нужно удалить из строки повторяющиеся слова. Здесь всё работает, но слова в итоге формируются в список, надо в строку, подскажите как?
Вот само задание: Найти и сохранить в строке те слова, которые встречаются в последовательности
по одному разу. Все остальные слова удалить
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Console.WriteLine("Введите строку (в конце поставьте точку):");
            string str = Console.ReadLine();
            str = ConvertString(str); //преобразует строку 
            str = delete(str); // удаляет ненужное
            Console.WriteLine(str);
            Console.ReadKey();
        }
      static string ConvertString(string str)
        {
            while (str.Contains("  ")) //пока строка содержит пробелы 
            {
                str = str.Replace("  ", " "); //меняет двойной пробел на один 
            }
            char[] sim_ar = { '.' };  //массив символов 
            str = str.TrimEnd(sim_ar);  //удаляет точку 
            return str;
        }
        static string delete(string str)
        {
            string[] TextSplit = str.Split(' ');
            //формируется список из строки
            List<string> strList = new List<string>(str.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries));
            for (int i = 0; i < strList.Count; i++)//просматриваем список
            {
                //формируем новый список, в который заносим все слова, которые совпадают с просматриваемым (включая его само)
                List<string> result = strList.FindAll(x => x.ToUpper().Equals(strList[i].ToUpper()));
                //в случае, если есть дубликаты - удаляем
                if (result.Count > 1) strList.RemoveAll(x => x.ToUpper().Equals(result[0].ToUpper()));
            }
            foreach (var elt in strList)
                Console.WriteLine(elt);
            return str;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.03.2018, 07:41
Ответы с готовыми решениями:

Решить программу про строки на С++
Дана строка символов. Вставить после каждого символа &quot;%&quot;

Решить программу про строки и символы на С++
Дана строка которая уводиться с клавиатуры . Добавить с обеих сторон n элементов&quot;*&quot; . И можете пожалуйста описать каждую...

Отредактировать программу С++
Ошибку не выдает, но после того, как ввожу eps, перестает работать П.5.18.Правил Запрещено размещать задания и решения в виде картинок...

7
Эксперт .NET
 Аватар для Usaga
14313 / 9393 / 1355
Регистрация: 21.01.2016
Сообщений: 35,424
09.03.2018, 08:12

Не по теме:

Veronika_, вы сами это говнокодище придумали? Это просто ужас.



Список строк можно "склеить" в одну методом String.Join.
1
 Аватар для igorrr37
2895 / 2042 / 992
Регистрация: 21.12.2010
Сообщений: 3,791
Записей в блоге: 9
09.03.2018, 09:10
через регулярки
C#
1
2
3
4
5
6
7
8
9
10
11
public static void Main()
    {
        string str = "Ффф, ёёё, ффф, фффффф, ввв, ффф, 1ффф, фффа, ЁЁЁ.";
        Regex reg = new Regex("\\b([а-яёa-z]+)\\b(?=.+?\\b\\1\\b)", RegexOptions.IgnoreCase);
        foreach(Match m in reg.Matches(str))
        {
            //Console.WriteLine(m.Value);
            str = Regex.Replace(str, "\\b" + m.Value + "\\b", "", RegexOptions.IgnoreCase);
        }
        Console.WriteLine(str);
    }
0
 Аватар для Вадим Тукаев
310 / 291 / 116
Регистрация: 23.01.2018
Сообщений: 933
09.03.2018, 09:57
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
using System.Linq;
 
class Program
{
    public static void Main()
    {
        Console.WriteLine(String.Join(" ", Console.ReadLine().Split()
            .GroupBy(s => s)
            .Where(g => !g.Skip(1).Any())
            .Select(g => g.Key)));
    }
}
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
09.03.2018, 19:24
Вадим Тукаев, так быстрее будет
C#
1
2
3
4
        Console.WriteLine(String.Join(" ", Console.ReadLine().Split()
            .GroupBy(s => s)
            .Where(g => g.Count() == 1)
            .Select(g => g.Key)));
1
0 / 2 / 0
Регистрация: 10.02.2018
Сообщений: 22
10.03.2018, 05:21  [ТС]
Можете кодом написать пожалуйста, я не разбираюсь в этом.
0
Эксперт .NET
 Аватар для Usaga
14313 / 9393 / 1355
Регистрация: 21.01.2016
Сообщений: 35,424
10.03.2018, 05:47
Veronika_, а выше не код?)
0
 Аватар для Вадим Тукаев
310 / 291 / 116
Регистрация: 23.01.2018
Сообщений: 933
10.03.2018, 11:02
Цитата Сообщение от Diamante Посмотреть сообщение
Вадим Тукаев, так быстрее будет
Почему? В группе могут быть тысячи элементов, и все их Count() пройдет, только чтобы сравнить с единицей.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.03.2018, 11:02
Помогаю со студенческими работами здесь

Отредактировать программу
Заранее извиняюсь за использованный раздел (т.к. не знаю в какой раздел запостить). Есть готовая программа, вот ее краткий алгоритм: ...

ОТРЕДАКТИРОВАТЬ ПРОГРАММУ
1. Создать структуру для работы с рациональными дробями (вида m/n). Данные структуры: числитель, знаменатель, десятичный вариант дроби....

Отредактировать программу в С++
Само задание: Описать процедуру Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X + Y)/2 и среднее...

Отредактировать программу на C
Написать программу, в которой вводится строка, содержащая буквы и цифры. Найти все произведения всех цифр данной строки. Определить функцию...

Отредактировать программу
Задание. Даны сведения о грузах G (их масса 0…50т). 1) Определить число грузов с массой &gt; 10т и число грузов &lt;=10т, их...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru