Определить повторение символа в строке - C#
Формулировка задачи:
Определить и вывести на экран номера позиций и количество повторений запрашиваемого символа в строке, введенной с клавиатуры
есть код на паскале
Я попыталась реализовать метод через флаг уникальности, чтобы счетчик был на неуникальные символы, но не могу понять общий принцип, что должно происходить и как вывести и определить номера позиций
Листинг программы
- var
- s: string;
- c: char;
- i,k: byte;
- begin
- write('Введите строку: '); readln(s);
- write('Введите символ: '); readln(c);
- k:=0;
- write('Номера позиций: ');
- for i:= 1 to length(s) do
- if s[i]=c then begin
- write(i, ' ');
- inc(k);
- end;
- writeln;
- writeln('Количество повторений заданного символа: ', k);
- end.
Листинг программы
- static void fifth()
- {
- Console.WriteLine("Введите строку: ");
- string a = //не понимаю, нужно ли что-то со строкой сделать или нет
- int s = 0;
- for (int i = 0; i < a.Length; i++)
- {
- bool isUnique = false; //флаг уникальности
- for (int j = 0; j < i; j++)
- {
- if (a[i] == a[j]) isUnique = true; //если число уже было, то флаг = true
- }
- if (isUnique) s++; //если значение уникальное увеличиваем счетчик
- }
- Console.WriteLine("Повторений элемента " + s + "");
Решение задачи: «Определить повторение символа в строке»
textual
Листинг программы
- static void fifth()
- {
- int k = 0;
- Console.Write("Введите строку: ");
- string a = Console.ReadLine();
- Console.Write("Введите символ: ");
- char c = Console.ReadKey().KeyChar;
- Console.WriteLine();
- for (int i = 0; i < a.Length; i++)
- {
- if (a[i] == c)
- {
- Console.Write(i + " ");
- k++;
- }
- }
- Console.WriteLine("Количество повторений заданного символа: " + k);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д