Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 12
1

Отредактировать заданное предложение, удаляя из него слова, которые уже встречались

18.09.2014, 19:32. Просмотров 2248. Ответов 18
Метки нет (Все метки)


Дана символьная строка. Слово- последовательность символов между пробелами, не содержащая пробелы внутри себя. Составить программу для решения следующей задачи:
Отредактировать заданное предложение, удаляя из него слова,которые уже встречались.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2014, 19:32
Ответы с готовыми решениями:

Отредактировать предложение, удаляя из него слова, которые уже встречались
задание дана символьная строка. Слово- последовательность символов между пробелами , не...

Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами и ...
Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами и переворачивая...

Отредактировать предложение, удаляя из него слова с нечетными номерами
Отредактировать предложение, удаляя из него слова с нечетными номерами

Отредактировать заданное предложение, удаляя из него те слова, которые уже встречались в предложении раньше
Помогите, пожалуйста! Отредактировать заданное предложение, удаляя из него те слова, которые уже...

18
Life Builder
525 / 492 / 373
Регистрация: 12.01.2011
Сообщений: 1,723
18.09.2014, 19:35 2
Karina1699, а можно пример, а то я запутался читая задание
0
5 / 5 / 1
Регистрация: 21.09.2013
Сообщений: 66
18.09.2014, 19:44 3
Цитата Сообщение от sk007 Посмотреть сообщение
Karina1699, а можно пример
Например: "Шел раз Грека через реку, видит Грека в реке рак."
Должны получить: "Шел раз Грека через реку, видит в реке рак". Интересно, а "реку" и "реке" разные слова? Наверное, да.
0
Вежливость-главное оружие
232 / 233 / 86
Регистрация: 19.02.2013
Сообщений: 1,441
18.09.2014, 19:48 4
Вот так можно:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter any text...\n");
            string[] words = Console.ReadLine().Split(' ');
            string uniqueWords = "";
            foreach (var word in words)
            {
                if (!uniqueWords.Contains(word))
                {
                    uniqueWords += " " + word;
                }
            }
            Console.WriteLine("Result: {0}", uniqueWords);
            Console.ReadLine();
        }
    }
//Console

Enter any text...

Hello bob Hello piter
Result: Hello bob piter
1
Life Builder
525 / 492 / 373
Регистрация: 12.01.2011
Сообщений: 1,723
18.09.2014, 19:48 5
Подойдет?
using System.Linq;
C#
1
2
string str = "Шел раз Грека через реку, видит Грека в реке рак.";
str = string.Join(" ", str.Split(' ').Distinct());
0
rattrapper
18.09.2014, 19:48
  #6

Не по теме:

Цитата Сообщение от kladim Посмотреть сообщение
Интересно, а "реку" и "реке" разные слова?
Интересно, а почему у Вас вообще сомнения возникли?

0
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
18.09.2014, 19:50 7
kladim, только запятую я убрал, с ней дольше возиться))) Доделайте сами, если требуется)
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string fullStr = "Шел раз Грека через реку видит Грека в реке рак";
            List<string> list = new List<string>();
            foreach (string s in fullStr.Split(new char[] { ' ' }))
            {
                if (!list.Contains(s))
                    list.Add(s);
            }
            StringBuilder sb = new StringBuilder();
            foreach (string s in list)
            {
                sb.AppendFormat("{0}{1}", s, " ");
            }
            Console.WriteLine(sb.ToString());
            Console.ReadLine();
        }
    }
}
1
5 / 5 / 1
Регистрация: 21.09.2013
Сообщений: 66
18.09.2014, 19:53 8
Цитата Сообщение от insite2012 Посмотреть сообщение
kladim, только запятую я убрал, с ней дольше возиться))) Доделайте сами, если требуется)
Да это не мне))))Но все равно решения интересные)
0
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
18.09.2014, 19:54 9
kladim, ага, я уже заметил))) Вечер, усталость сказывается
0
foo();
883 / 585 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
18.09.2014, 19:57 10
some_name, insite2012, формально, если придраться, то по условию, удалятся должны только слова, а у вас удаляются и пробелы после удаляемых слов, а так же пробелы, идущие несколько раз подряд

Добавлено через 1 минуту

Не по теме:

з.ы. спасибо за .AppendFormat

0
Life Builder
525 / 492 / 373
Регистрация: 12.01.2011
Сообщений: 1,723
18.09.2014, 19:58 11
Цитата Сообщение от rattrapper Посмотреть сообщение
сами запускали хоть?
Я то запускал и работает, а там и без запуска понятно.
0
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 12
18.09.2014, 19:59  [ТС] 12
А можно как-нибудь по проще,просто 1 курс,таких слов даже нет
0
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
18.09.2014, 20:00 13
Цитата Сообщение от Karina1699 Посмотреть сообщение
1 курс,таких слов даже нет
Как нет???? А куда они делись? В языке же они есть.
0
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 12
18.09.2014, 20:02  [ТС] 14
Ну да,в языке есть,но на первом курсе нету (может на втором
0
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
18.09.2014, 20:04 15
Karina1699, ну я не знаю... Мой вариант вроде самый простой...
0
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 12
18.09.2014, 20:09  [ТС] 16
Эх,за это спасибо)
0
rattrapper
18.09.2014, 20:11
  #17

Не по теме:

sk007, я про сообщение до его редактирования, когда в вашем коде было

C#
1
str = string.Join("", str.Split('\n').Distinct());

0
Life Builder
525 / 492 / 373
Регистрация: 12.01.2011
Сообщений: 1,723
18.09.2014, 20:15 18
Вот так сказать еще упростил вариант insite2012.
Раз изучаете строки, то скорее всего вы уже прошли метод Join
C#
1
2
3
4
5
6
7
8
9
10
            string fullStr = "Шел раз Грека через реку видит Грека в реке рак";
            List<string> list = new List<string>();
 
            foreach (string s in fullStr.Split(' '))
            {
                if (!list.Contains(s))
                    list.Add(s);
            }
 
            Console.WriteLine(string.Join(" ", list));
Добавлено через 43 секунды

Не по теме:

rattrapper, ааа тогда понятно. Я тогда просто ступил, потом очнулся и исправил

2
867 / 717 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
18.09.2014, 20:17 19
Karina1699,
Если уж вообще упростить "без непонятных слов", может тогда как-то так
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
            List<string> words = new List<string>();
            string str = "Шел раз Грека через реку видит Грека в реке рак";
 
            StringBuilder tempStr = new StringBuilder();
            StringBuilder res = new StringBuilder();
            for (int i = 0; i < str.Length; i++)
            {
                tempStr.Append(str[i]);
 
                if (str[i] == ' ' || i == str.Length - 1)
                {
                    if (!words.Contains(tempStr.ToString()))
                    {
                        words.Add(tempStr.ToString());
                        res.Append(tempStr);
                        tempStr.Clear();
                    }
                    else
                    {
                        tempStr.Clear();
                    }
 
                }
            }
 
            Console.WriteLine(res);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.09.2014, 20:17

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Отредактировать текст, удаляя те слова, которые уже встречались раньше
Отредактировать текст, удаляя те слова, которые уже встречались раньше.

Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами
Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами и переворачивая...

Отредактировать заданное предложение, удаляя из него все слова с четными номерами
Отредактировать заданное предложение, удаляя из него все слова с четными номерами, заранее спасибо

Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами
Задание 2. Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами и...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.