Исправить программу строки C# (классы, методы, строки)

Узнай цену своей работы

Формулировка задачи:

Реализовать в виде класса набор методов для выполнения следующих операций со строками: 1) Вывода на экран символов строки, расположенных между открывающейся и закрывающейся скобками; 2) Вывода на экран слов строки, содержащих хотя бы одну букву а; 3) Подсчета различных символов входящих в строку. Разработать основную программу, демонстрирующую использование методов созданного класса. Класс)
class stroki
    {
        public void slova(string stroka)
        {
            string[] s = new string[100];
            int i = 0;
            while (stroka.IndexOf(' ') >= 0)
            {
                int k = stroka.IndexOf(' ');
                s[i] = stroka.Substring(0, k);
            }
            for (int ii = 0; ii < i + 1; ii++)
            {
                if (s[ii].IndexOf('а') >= 0) Console.WriteLine("[Слова с буквой а] = " + s[ii]);
            }
        }
        public int strk(string stroka)
        {
            char[] ch = stroka.ToCharArray();
            char k = ' ';
            int n = 0;
            k = ch[0];
            foreach (char i in ch)
            {
                if (i != k) n++;
                k = i;
                Console.WriteLine("[Количество различных символов] = "  + n );
            }
            return n;
        }
        public void skobki(string stroka, string a)
        {
            a = stroka.Substring(stroka.IndexOf("(", 0) + 1, stroka.LastIndexOf(")") - stroka.IndexOf("(", 1) - 1);
 
            Console.WriteLine("[Слово между скобками] = " + a);
 
        }
Программа)
string stroka = Convert.ToString(Console.ReadLine());
            Console.WriteLine("[Вы ввели] = " + stroka);
            string a = null;
            stroki str = new stroki();
            str.slova(stroka);
            str.strk(stroka);
            str.skobki(stroka,a);
            Console.ReadLine();
!!!Проблема в том что метод "strk" не считает количество РАЗЛИЧНЫХ СИМВОЛОВ (например если программа увидел букву "п" то она ее больше не считает DDD) и метод "slova" не выводит слова в которых содержится буква "a"...

Решение задачи: «Исправить программу строки C# (классы, методы, строки)»

textual
Листинг программы
public int strk(string stroka)
        {
            StringBuilder s = new StringBuilder();
            int i = 0;
            foreach (char c in stroka)
            {
                if (s.Contains(c) || c=' ') //если уже есть такой символ или если символ - пробел
                    continue; //переходим к следующему символу
                s.Append(c); //добавляем новый символ
                i++; //увеличиываем счетчик
                
            }
            Console.WriteLine("[Количество различных символов] = "  + n );
            return i;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы