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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2012, 15:54   #1
Kil001
 
Регистрация: 15.12.2011
Сообщений: 7
Печаль C# - Полный ступор. Подкинте идею решения задачи.

Доброе время суток!
C# - Полный ступор. Подкинте пожалуйста если можете решение или хотябы направление решения задачи.

Задание такое:
- Дана строка, где слова разделяются пробелом, запятой и точкой.
- Распечатайте слова в отсортированном виде (без повторений)
- Найдите самое длинное слово (с этим я разобралась)
- Распечатайте те слова, которые являются палиндромами и анаграммами
Все пункты должны быть реализованы с помощью функций

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Praktika_3._2
{
    class Program
    {        
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.GetEncoding(866);
            Console.Write("Введите слова в строку: ");
            string input = Console.ReadLine();
            string[] str = input.Split(new Char[] { ' ', ',', '.' }, StringSplitOptions.RemoveEmptyEntries);
            int maxlen = 0, index = 0;
            for (int i = 0; i < str.Length; i++)
            {
                if (str[i].Length > maxlen)                  
                {
                    maxlen = str[i].Length;
                    index = i;
                }
            }
            Console.Write("Самое длинное слово: {0}", str[index]);
            Console.WriteLine();
            Console.ReadLine();
        }
    }
}
Заранее ВСЕМ спасибо!
Kil001 вне форума Ответить с цитированием
Старый 26.04.2012, 17:24   #2
mrMeerkat
Следопыт
Форумчанин
 
Аватар для mrMeerkat
 
Регистрация: 26.04.2012
Сообщений: 307
По умолчанию

Для вашего string[] str

Код:
            Console.WriteLine("Отсортировали");
            Array.Sort(str);
            Console.WriteLine("Вывели без повторений:");
            for (int i = 0; i < str.Length; i++)
                if (Array.IndexOf(str, str[i]) == i)
                    Console.WriteLine(str[i]);

            Console.WriteLine("Палиндромы:");
            foreach (string s in str)
            {
                char[] arr = s.ToCharArray();
                Array.Reverse(arr);
                if (s == new string(arr))
                    Console.WriteLine(s);
            }
Анаграммы - в двойном цикле 0 < i < n, i < j < n(здесь я с индексами мог ошибиться) i-тое и j-тое слова разбиваете на массивы через .ToCharArray(), потом .Sort() и сравниваете.
С Баша:Быть ленивым, глупым, жадным, да и просто редкостным гандоном и мудаком по жизни номально, а вот если ты матом ругаешься-то это да, ужасно и достойно общественного порицания.
mrMeerkat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм решения задачи Amet13 Помощь студентам 1 21.04.2012 13:16
Алгоритм решения задачи snpccvs Помощь студентам 8 13.02.2012 22:50
Решения задачи* asso Паскаль, Turbo Pascal, PascalABC.NET 5 11.12.2011 08:29
Подкинте идею обновления приложения. iskurt Помощь студентам 4 14.10.2011 11:20
Подкиньте идею решения задачи adidas_pro Помощь студентам 3 06.12.2010 22:37