Complete the method to print the consecutive characters and the number of times appearing in a String.
public static void PrintConsecutiveCharacters(string input) { //write code }
Input & Output:
UTC
|
Sample Input
|
Sample Output
|
01
|
“I
saw a CD player and a modem in ccd”
|
CD
2
DE 1
|
02
|
“Student
List do not exist in system”
|
ST
4
DE
1
NO 1
|
SOLUTION:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsecutiveCharacters_DEP { class Program { static void Main(string[] args) { Console.WriteLine("Enter the string: "); String str = Console.ReadLine(); string str2 = str.ToUpper(); char[] arr = str2.ToCharArray(); int i = 0; SortedDictionary< string int="" > count = new System.Collections.Generic.SortedDictionary< string int="" >(); char[] temp = new char[26]; int j = 0; string te = ""; bool flag = false; temp[j] = arr[i]; i++; while (i < arr.Length) { if ((temp[j] + 0) == (arr[i] - 1)) { flag = true; j++; temp[j] = arr[i]; if (j > 0) { for (int k = 0; k < j; k++) { te = ""; for (int l = k; l <= j; l++) { te += temp[l]; } if (count.ContainsKey(te)) { int ct = count[te]; count[te] = ct + 1; } else { count.Add(te, 1); //j = 0; } } flag = false; } } else if (j > 0 && flag == true) { te = ""; for (int k = 0; k <= j; k++) { te += temp[k]; } if (count.ContainsKey(te)) { int ct = count[te]; count[te] = ct + 1; } else { count.Add(te, 1); j = 0; temp[j] = arr[i]; } flag = false; } else { j = 0; temp[j] = arr[i]; } i++; } //Printing ... foreach (var item in count) { Console.WriteLine(item.Key + "\t" + item.Value); } } } }
No comments:
Post a Comment