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

Вывести на экран все слова-палиндромы, содержащиеся в сообщении

07.12.2011, 19:42. Просмотров 2307. Ответов 7
Метки нет (Все метки)

Доброго вечера. Помогите плиз с лабой. Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами и знаками препинания. Вывести на экран все слова-палиндромы, содержащиеся в сообщении. Как определить что слово-палиндром, то есть читается одинаково слева направо и справа налево... Подскажит плиз...

Добавлено через 25 минут
Нашла код, извините...
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите текст.");
            string text = Console.ReadLine();
            char[] separators = { ' ', ',', ':', ';', '.', '!', '?' };
            string[] splitedText = text.Split(separators);
            foreach (string str in splitedText)
            {
                if (str != null)
                {
                    if (isPolyndrom(str))
                    {
                        Console.WriteLine(str);
                    }
                }
            }
            Console.ReadKey();
        }
        private static bool isPolyndrom(string input)
        {
            if (input.Length > 1)
            {
                char[] temp = input.ToCharArray();
                Array.Reverse(temp);
                if (input == new string(temp))
                {
                    return true;
                }
            }
            return false;
        }
    }
}
Добавлено через 1 минуту
Подскажите плиз с другой задачей. Разработать программу, которая для заданной строки s: заменяет все группы стоящих рядом точек на многоточие. Не понимаю, что значит заменить группу точек на многоточие, разве группа точек это не многоточие)...

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication1
{
    class Class
 {
  static void Main()
  {
   Console.WriteLine("Введите строку: ");
   StringBuilder a = new StringBuilder(Console.ReadLine());
   Console.WriteLine("Исходная строка: "+a);
   a.Replace("...", ". . .");
   Console.WriteLine("Измененная строка: "+a);
   Console.ReadKey();
   }
 }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2011, 19:42
Ответы с готовыми решениями:

Вывести все номера телефонов, содержащиеся в сообщении соответсвующие форматам xx-xx-xx, xxx-xxx и xxx-xx-xx
Вывести все номера телефонов, содержащиеся в сообщении соответсвующие форматам...

Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем – все нечетные
1.Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном...

Вывести четыре слова на русском языке вывести на экран все согласные буквы которые входят только в одно слово
Вывести четыре слова на русском языке вывести на экран все согласные буквы...

Напечатать все слова-палиндромы, которые есть в строке
Напечатать все слова-палиндромы, которые есть в этой строке Пожалуйста...

Вывести на экран все слова с количеством символов больше 4 и меньше 10
Дана строка символов. Группу символов, разделённых с одной или с обеих сторон...

7
NowMatrix
96 / 79 / 16
Регистрация: 14.01.2011
Сообщений: 438
07.12.2011, 19:47 2
Наверно под группой точек подразумевается неопределённое количество идущих подряд точек,а под многоточием например 3 или 4 подряд. Следовательно надо заменить.
1
Ikaaa
1 / 1 / 0
Регистрация: 22.11.2011
Сообщений: 12
07.12.2011, 19:53  [ТС] 3
Да, Вы правы, тогда не всё так элементарно)
0
NowMatrix
96 / 79 / 16
Регистрация: 14.01.2011
Сообщений: 438
07.12.2011, 19:56 4
Вот ,Если надо:
C#
1
2
3
4
5
6
7
8
9
10
11
static void Main(string[] args)
        {
            string a = "fsgs..fasg.fsss...feg.....hljr.";
            string[] b = a.Split(new char[] {'.'},StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < b.Length; i++)
            {
                b[i] += "...";
                Console.Write(b[i]);
            }
            Console.ReadKey();
        }
Добавлено через 2 минуты
Или если строку получить надо,то вот:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
static void Main(string[] args)
        {
            string a = "fsgs..fasg.fsss...feg.....hljr.";
            string[] b = a.Split(new char[] {'.'},StringSplitOptions.RemoveEmptyEntries);
            a = "";
            for (int i = 0; i < b.Length; i++)
            {
                b[i] += "...";
                Console.Write(b[i]);
                a += b[i]; //наша новая строка после выхода из цикла
            }
            Console.ReadKey();
        }
1
Ikaaa
1 / 1 / 0
Регистрация: 22.11.2011
Сообщений: 12
07.12.2011, 20:02  [ТС] 5
Спасибо, NowMatrix)) Только мне с вводом строки надо. Так вот всё правильно?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication1
{
    class Class
 {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите строку: ");
            String a = Console.ReadLine();
            Console.WriteLine("Исходная строка: " + a);
            string[] b = a.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < b.Length; i++)
            {
                b[i] += "...";
                Console.Write(b[i]);
            }
            Console.ReadKey();
        }
 }
}
0
NowMatrix
96 / 79 / 16
Регистрация: 14.01.2011
Сообщений: 438
07.12.2011, 20:05 6
Ну да,всё правильно.Только у вас получится массив строк,в последнем примере я указал,как непосредственно получить новую строку,а не массив.А b[i] это изменяем и отображаем массив.
0
Ikaaa
1 / 1 / 0
Регистрация: 22.11.2011
Сообщений: 12
07.12.2011, 20:12  [ТС] 7
Спасибо, NowMatrix))
0
Ikaaa
1 / 1 / 0
Регистрация: 22.11.2011
Сообщений: 12
14.12.2011, 14:09  [ТС] 8
А как эту задачу изменить, что бы меняла на многоточие две и больше точек. А одну точку не трогать.
0
14.12.2011, 14:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2011, 14:09

Вывести на экран все трёх буквенные слова в ведённом тексте
Помогите пожалуйста написать программу на C# №4) Вывести на экран все трёх...

Найти и вывести все вещественные числа, содержащиеся в заданной строке
Найти и вывести все вещественные числа, содержащиеся в заданной строке....

Вывести на экран все слова, длина которых равна заданному числу
Создать файл, состоящий из слов. Вывести на экран все слова, длина которых...


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

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

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