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

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

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

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

Добавлено через 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2011, 19:42
Ответы с готовыми решениями:

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

Вывести на экран все слова палиндромы
Помогите разобраться с задачей. по моей логике вроде верно но всё равно не работает( Вывести на...

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

В данном тексте найти все слова-палиндромы и вывести их на экран
Проблема в том, что при вводе двух и более знаков препинания подряд (включая пробелы) программа...

7
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438
07.12.2011, 19:47 2
Наверно под группой точек подразумевается неопределённое количество идущих подряд точек,а под многоточием например 3 или 4 подряд. Следовательно надо заменить.
1
1 / 1 / 0
Регистрация: 22.11.2011
Сообщений: 12
07.12.2011, 19:53  [ТС] 3
Да, Вы правы, тогда не всё так элементарно)
0
98 / 81 / 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
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
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438
07.12.2011, 20:05 6
Ну да,всё правильно.Только у вас получится массив строк,в последнем примере я указал,как непосредственно получить новую строку,а не массив.А b[i] это изменяем и отображаем массив.
0
1 / 1 / 0
Регистрация: 22.11.2011
Сообщений: 12
07.12.2011, 20:12  [ТС] 7
Спасибо, NowMatrix))
0
1 / 1 / 0
Регистрация: 22.11.2011
Сообщений: 12
14.12.2011, 14:09  [ТС] 8
А как эту задачу изменить, что бы меняла на многоточие две и больше точек. А одну точку не трогать.
0
14.12.2011, 14:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2011, 14:09
Помогаю со студенческими работами здесь

Из текста из слов, разделенных пробелами, вывести на экран все слова-палиндромы
Вариант 1 1. Дан текст из слов, разделенных пробелами. Вывести на экран все слова-палиндромы....

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

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

Дана строка, содержащая разделенные пробелами слова, вывести все слова-палиндромы
Дана строка, содержащая разделенные пробелами слова.Вивесты все имеющиеся слова-палиндлромы и их...


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

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