Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/30: Рейтинг темы: голосов - 30, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 15
1

Перевернуть каждое четное слово в строке

15.12.2012, 14:00. Показов 5885. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Постановка задачи такая: ввести строку символов с клавиатуры. Строка состоит из слов, разделенных пробелами (пробелов может быть несколько) и знаками препинания (, ;: ). В строке может быть несколько предложений, в конце каждого предложения стоит знак препинания (.!?).Необходимо перевернуть каждое четное слово.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2012, 14:00
Ответы с готовыми решениями:

Определить количество слов в строке и вывести на экран каждое четное слово
.Дана строка текста, в которой слова разделены пробелами и запятыми. Необходимо: а) определить...

В заданном тексте перевернуть каждое слово
В заданном тексте перевернуть каждое слово.

Задана строка K. Вывести каждое слово из строки в отдельности (каждое в новой строке)
Есть задача, которая не поддается объяснению и понятию, но огромная просьба помочь рассмотреть ее:...

Вывести все гласные буквы, которые входят в каждое четное слово
создать приложение на языке C#, которое позволит для текста, заданного строкой, вывести в консоль:...

2
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 565
16.12.2012, 01:06 2
Лучший ответ Сообщение было отмечено contrivance как решение

Решение

Держите код. Можете сразу его запустить и проверить.
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication1
{
    class Program
    {
        static string ChangeStr(string str)
        {
            bool isEven = false; // Флаг для оценки чётное-нечётное. false - нечётное. true - чётное.
            int pos = 0; // Позиция начала слова
            string changedStr = "Упс. Неудачный исход ChangeStr()"; // Возвращаемая строка
 
            char[] tempWord; // Массив символов
            StringBuilder newStr = new StringBuilder(str); // 
            Regex reg = new Regex(@"\w+"); // Регулярное выражение для выборки слова
 
            Match word = reg.Match(str); // Выбираем только слова из строки
            while (word.Success) // Пока получаем слова, обрабатываем их
            {
                if (isEven) // Если слово чётное
                {
                    pos = word.Index; // Запоминаем позицию слова в строке
                    tempWord = word.ToString().ToCharArray(); // Преобразуем его в массив символов
                    Array.Reverse(tempWord); // Инвертируем массив
 
                    // Заменяем слово в строке на новое. Для этого
                    newStr.Remove(pos, tempWord.Length); // Удаляем исходное слово из строки
                    newStr.Insert(pos, tempWord); // Вставляем новое слово
                } // if
                isEven = !isEven; // Инвертируем флаг чётности
                word = word.NextMatch(); // Ищем следующее слово в строке
            } // while
 
            changedStr = newStr.ToString();
            return changedStr; // Покидаем метод с возвратом строки
        } // ChangeStr(string str)
        
        
        static void Main(string[] args)
        {
            // Для ввода строки с клавиатуры эту строку убрать
            string strInput = "Постановка задачи такая: ввести строку символов с клавиатуры. Строка состоит из слов, разделенных пробелами (пробелов может быть несколько) и знаками препинания (, ;: ). В строке может быть несколько предложений, в конце каждого предложения стоит знак препинания (.!?).Необходимо перевернуть каждое четное слово.";
 
            Console.WriteLine("Исходная строка.");
            // Для ввода строки с клавиатуры эту строку убрать
            Console.WriteLine(strInput);
            // Для ввода строки с клавиатуры эту строку раскомментировать
            //strInput = Console.ReadLine();
 
            Console.WriteLine();
            Console.WriteLine("Изменённая строка");
            strInput = ChangeStr(strInput);
            Console.WriteLine(strInput);
        } // Main()
    }
}
Добавлено через 7 минут
Упс. Нашел у себя быдлокодерство. Замените строку 27 на вот эту
C#
1
tempWord = word.Value.ToCharArray(); // Преобразуем его в массив символов
0
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 15
16.12.2012, 11:40  [ТС] 3
Благодарю)))
0
16.12.2012, 11:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2012, 11:40
Помогаю со студенческими работами здесь

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

Определить сколько раз каждое слово встречается в строке
Подсчитать сколько раз каждое слово встречается в строке. Результат представить в виде различных...

Нужно каждое слово предложения записать в новой строке
Нужно каждое слово предложения записать в новой строке.Помогите , на кону оценка за экзамен.

Строка: Преобразовать каждое слово в строке, заменив в нем все последующие вхождения его первой буквы на символ "."
Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru