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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2013, 15:54   #1
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию Работа со cтроками С#

Требуется брать из текста по 1 слову и проверять их на наличие гласной буквы на последнем месте, по идее алгоритм правильный, на Delphi проверял, Но на C# не работает чето,выдает ни по 1 слову а целую строку сразу ! где ошибка ?? Ну и допешу, что мне в конечном случае нужно эти слова с гласными на конце заменить на это же обратно написанное. помогите ПЛЗ !!

Код:
int i,j;
             string s = textBox1.Text + ' ';
            string s1 = " ";
            string s2 = " ";
            string s3 = " ";

            for (i = 0; i <= s.Length-1 ; i++)
            {
                if (s[i] != ' ') s1 = s1 + s[i];
                else
                {
                    label2.Text = "";
                    if (s[i - 1] == 'а' |
                        s[i - 1] == 'е' |
                        s[i - 1] == 'ё' |
                        s[i - 1] == 'и' |
                        s[i - 1] == 'о' |
                        s[i - 1] == 'у' |
                        s[i - 1] == 'ы' |
                        s[i - 1] == 'э' |
                        s[i - 1] == 'ю' |
                        s[i - 1] == 'я') for (j = s1.Length - 1; j >= 0; j--) s2 = s2 + s1[j];

                    s = s.Replace(s1, s2);
                    label2.Text =  s;
                    s2 = "";
                    s1 = "";
                }
            }
Heng вне форума Ответить с цитированием
Старый 14.02.2013, 16:05   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Код:
s.Replace(s1, s2);
Это читается "строка s, в которой все вхождения подстроки s1 заменены на s2". Не очень понимаю, почему Вы ожидали получить слово.

А вообще, откройте для себя string.Split(), string.Reverse(), string.EndsWith() и всё такое...
Abstraction вне форума Ответить с цитированием
Старый 14.02.2013, 16:16   #3
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Код:
s.Replace(s1, s2);
Это читается "строка s, в которой все вхождения подстроки s1 заменены на s2". Не очень понимаю, почему Вы ожидали получить слово.

А вообще, откройте для себя string.Split(), string.Reverse(), string.EndsWith() и всё такое...
По моим замыслам должно выглядеть так В строке s слово s1 должно поменяться на слово s2

посмотрел я указанные методы но не врубаюсь как их использовать =(

Последний раз редактировалось Heng; 14.02.2013 в 16:31.
Heng вне форума Ответить с цитированием
Старый 14.02.2013, 16:40   #4
mrMeerkat
Следопыт
Форумчанин
 
Аватар для mrMeerkat
 
Регистрация: 26.04.2012
Сообщений: 307
По умолчанию

Еще проверку на гласную букву вконце слова(w) можно записать покороче
Код:
if (w.LastIndexOfAny(new char[] { 'а', 'е', 'ё', 'э', 'о', 'у', 'ы', 'ю', 'я' }) == w.Length - 1)
С Баша:Быть ленивым, глупым, жадным, да и просто редкостным гандоном и мудаком по жизни номально, а вот если ты матом ругаешься-то это да, ужасно и достойно общественного порицания.
mrMeerkat вне форума Ответить с цитированием
Старый 14.02.2013, 16:53   #5
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Цитата:
Сообщение от mrMeerkat Посмотреть сообщение
Еще проверку на гласную букву вконце слова(w) можно записать покороче
Код:
if (w.LastIndexOfAny(new char[] { 'а', 'е', 'ё', 'э', 'о', 'у', 'ы', 'ю', 'я' }) == w.Length - 1)
за это спасибо, но мне щас важно правильно слова из строки по 1му выдергивать по очереди и проверять.
Heng вне форума Ответить с цитированием
Старый 14.02.2013, 16:57   #6
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
По моим замыслам должно выглядеть так В строке s слово s1 должно поменяться на слово s2
А что происходит? В стартовом сообщении Вы писали:
Цитата:
Выдает не по 1 слову, а целую строку сразу!
Abstraction вне форума Ответить с цитированием
Старый 14.02.2013, 17:28   #7
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
А что происходит? В стартовом сообщении Вы писали:
на пример: Маша Александр Миша, программа пишет МашаАлександрМиша сразу и потом пишет эту строчку наоборот, а мне надо чтобы только слова Маша и Миша наоборот написались
Heng вне форума Ответить с цитированием
Старый 14.02.2013, 17:47   #8
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Вот если что задание полностью:

Дан текст. Записать слова, оканчивающие на гласную букву в обратном порядке.
Heng вне форума Ответить с цитированием
Старый 14.02.2013, 18:05   #9
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Еще проверку на гласную букву вконце слова(w) можно записать покороче
И ещё короче:
Код:
if("аеёиоуэюя".Contains(w[w.Length-1]))
Цитата:
Маша Александр Миша, программа пишет МашаАлександрМиша сразу и потом пишет эту строчку наоборот
Следовательно, у Вас кто-то сожрал пробелы. Посмотрите через отладчик, что творится со строками.
Abstraction вне форума Ответить с цитированием
Старый 14.02.2013, 18:16   #10
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

http://files.mail.ru/334ED5E18E2D49A0A3CA5D55D975C315
вот проект пожалуйста посмотрите. я никак не найду проблему.
Heng вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00