Строки в C#

Тема в разделе "Другие задачи", создана пользователем power61RUS, 13 ноя 2009.

  1. power61RUS

    power61RUS Гость

    Репутация:
    0
    Привет всем! не могли бы мне помоч, кто может! пару задачек со строками.
    1)Выдать слова, начинающиеся двумя любыми латинскими буквами, и посчитать их количество.
    2)Преобразовать в строке все слова по правилу: оставить в слове только первые вхождения каждого символа.
     
  2. Tanya

    Tanya Гость

    Репутация:
    0
    Код (C++):
    static void Main(string[] args)
    {
    string s=Console.ReadLine();
    char[] d = new char[12] {' ', '!', '(', ')', ':', ';', ',','.','?', '"', '\'', '-'};
    string[] words = s.Split(d);

    int j = 0;

    if (words.Length > 0)
    {
    string[] ret = new string[words.Length];

    Console.WriteLine("\nTask 1)");
    for (int i = 0; i < words.Length; i++)
    {
    if (words[i].Length > 1)
    {
    //1)
    if (IsLatin(words[i][0]) && IsLatin(words[i][1]))
    {
    ret[j] = words[i];
    Console.WriteLine(ret[j++]);
    }

    //2)
    for (int k = 0; k < words.Length; k++)
    {
    words[i] = UChar(words[i]);
    }
    }
    }

    Console.WriteLine("\nTask 2)");
    for (int i = 0; i < words.Length; i++)
    {
    Console.WriteLine(words[i]);
    }
    }

    //Console.WriteLine(s);
    Console.ReadKey();
    }

    private static bool IsLatin(char c)
    {
    return (c.ToString().ToLower().CompareTo("a") >= 0
    && c.ToString().ToLower().CompareTo("z") <= 0);
    }

    private static string UChar(string s)
    {
    string ret = "";
    int j = 0;

    for (int i = 0; i < s.Length; i++)
    {
    for (j=0; j<ret.Length; j++)
    {
    if (ret[j] == s[i]) break;
    }

    if (j == ret.Length) ret += s[i];
    }

    return ret;
    }
     
Загрузка...

Поделиться этой страницей