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

Обработка текстовой информации c#

03.12.2014, 00:46. Показов 1378. Ответов 16
Метки нет (Все метки)

Дан текс состоящий не менее из 10 слов .напечатать все слова из текста,отличные от слова hello











пожалуйста))
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2014, 00:46
Ответы с готовыми решениями:

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

обработка текстовой информации
Здравствуйте, помогите с решением задачки. Дано предложение, состоящее не менее из 10 слов....

Обработка текстовой информации
Здравствуйте,я вообще новичок в си шарпе и у меня возникли трудности с решением данной задачи : ...

C# строки(Обработка текстовой информации )
Здравствуйте помогите сделать задание! Дана строка, состоящая из 10 слов. Напечатать эту же...

16
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
03.12.2014, 11:56 2
C#
1
2
3
4
5
Console.Write("Введите текст: ");
            string text = Console.ReadLine();
            
            Console.WriteLine("Результат: " + text.Replace("hello", "").Replace("  ", " "));
            Console.ReadKey();
0
Life Builder
529 / 493 / 374
Регистрация: 12.01.2011
Сообщений: 1,740
03.12.2014, 12:27 3
или
C#
1
2
3
4
5
6
Console.Write("Введите текст: ");
string text = Console.ReadLine();
 
foreach(var i in text.Split(' '))
   if(i!=hello)
      Console.Write("{0} ", i);
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
03.12.2014, 13:42 4
Цитата Сообщение от sk007 Посмотреть сообщение
или
а если будет после слова hello какой нибудь знак?
0
Life Builder
529 / 493 / 374
Регистрация: 12.01.2011
Сообщений: 1,740
03.12.2014, 15:09 5
тогда вот так
C#
1
2
3
4
5
6
Console.Write("Введите текст: ");
string text = Console.ReadLine();
 
foreach(var i in text.Split(' '))
   if(i.IndexOf("hello")==-1)
      Console.Write("{0} ", i);
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
03.12.2014, 17:22  [ТС] 6
Мы еще не изучали string ,по другому через char
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
07.12.2014, 22:30  [ТС] 7
пожалуйста
0
2144 / 1281 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
07.12.2014, 22:34 8
Цитата Сообщение от andrey1993 Посмотреть сообщение
Мы еще не изучали string
а вот как раз и изучаете, цитата -
Цитата Сообщение от andrey1993 Посмотреть сообщение
Дан текс состоящий не менее из 10 слов
а это и есть не что иное как string

работать со строками без использования класса String, боюсь невозможно априори
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
07.12.2014, 22:56  [ТС] 9
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            char[] p = "привет как дела мама папа дедушка hello".ToCharArray();
            Console.WriteLine();
            char[] s = "hello".ToCharArray();
            for (int i = 0; i < p.Length; ++i)
            {
                int j = 0;
                do
                {
                    if (p[i] == s[j])
                    {
                        Console.Write("  " + s[j]);
                        break;
                    }
                    j++;
                }
                while (j < s.Length);
            }
            Console.Read();
        }
    }
}
только он наоборот hello выводит исправьте пожалуйста
0
Life Builder
529 / 493 / 374
Регистрация: 12.01.2011
Сообщений: 1,740
08.12.2014, 00:19 10
Лучший ответ Сообщение было отмечено andrey1993 как решение

Решение

Вам что что-то такое нужно?
C#
1
2
3
4
5
6
7
8
char[] p = "привет какhello дела мама папа дедушка hello".ToCharArray();
 
            for (int i = 0; i < p.Length; ++i)
            {
                if (!(p[i] == 'h' && p[i + 1] == 'e' && p[i + 2] == 'l' && p[i + 3] == 'l' && p[i + 4] == 'o'))
                    Console.Write(p[i]);
                else i += 4;
            }

Не по теме:

Зачем изобретать такой велосипед? Ну это же бред согласитесь



Добавлено через 4 минуты
Скорее всего тогда вам придется каждого символа перевести на один регистр и сравнивать.
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
08.12.2014, 22:04  [ТС] 11
можете пояснить как работает программа?
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
10.12.2014, 12:11  [ТС] 12
C#
1
if (!(p[i] == 'h' && p[i + 1] == 'e' && p[i + 2] == 'l' && p[i + 3] == 'l' && p[i + 4] == 'o'))
объясните что делает ! в этой строке.



и что делает это строка
C#
1
else i += 4;
0
0 / 0 / 1
Регистрация: 06.02.2014
Сообщений: 6
10.12.2014, 14:07 13
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
33
34
35
36
37
38
static void Main (string[] args)
{
    char[] text = "привет как деhelloла мама папа дедушка hello".ToCharArray();
 
    char[] hello = "hello".ToCharArray();
 
    for (int i = 0; i < text.Length; i++)
    {
        if (text[i] == hello[0])
        {
            bool cut = true;
 
            int idx = i;
 
            while (++idx - i < hello.Length)
            {
                if (idx >= text.Length
                    || text[idx] != hello[idx - i])
                {
                    cut = false;
 
                    break;
                }
            }
 
            if (cut == true)
            {
                i = idx - 1;
 
                continue;
            }
        }
 
        Console.Write(text[i]);
    }
 
    Console.ReadKey();
}
Конечно лучше использовать string и Replace. И такую систему можно легко обойти написав "hehellollo world", вернет "hello world"
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
10.12.2014, 15:42  [ТС] 14
sk007,
C#
1
else i += 4;
как это понять
0
Life Builder
529 / 493 / 374
Регистрация: 12.01.2011
Сообщений: 1,740
10.12.2014, 20:36 15
Цитата Сообщение от andrey1993 Посмотреть сообщение
if (!(p[i] == 'h' && p[i + 1] == 'e' && p[i + 2] == 'l' && p[i + 3] == 'l' && p[i + 4] == 'o')) объясните что делает ! в этой строке.
Берет противоположное значение. Например: false эквивалентно !true,
а i!=0, означает i не равен нулю.

Цитата Сообщение от andrey1993 Посмотреть сообщение
и что делает это строка else i += 4;
Это тоже самое что и i=i+4;
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
10.12.2014, 20:46  [ТС] 16
sk007, а для чего это надо ?
0
Life Builder
529 / 493 / 374
Регистрация: 12.01.2011
Сообщений: 1,740
11.12.2014, 00:08 17
Цитата Сообщение от andrey1993 Посмотреть сообщение
а для чего это надо ?
Что именно? Первое для того, чтобы писать в консоль если нету слово hello

Второе, чтобы при обнаружении слово пропустить это слово
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2014, 00:08

Обработка текстовой информации
Помогите написать прогу, Условие: Дана строка, состоящая из 10 слов. Напечатать эту же...

Запись текстовой информации в файл используя StreamWriter
Приветствую. Имеется массив, содержащий в себе строки. Для того чтобы вывести содержимое всего...

Обработка информации в массивах
Доброго времени суток. Подскажите пожалуйста, как и с помощью чего лучше всего выполнить вот...

Обработка символьной информации из .txt файла
Доброго времени суток! Прошу помочь с решением следующей задачи: Замечания: ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru