Возникла проблема в том, что нужно создать программу с интерфейсом пользователя, так как мне удобнее сделать это в Windows Forms, нужен перевести код с С++ на С# Вот код, кому не сложно, помогите, ибо у самого не выходит
int main (){
char str[255];
int chars[256] = { 0 };
cin >> str;
for (int j = 0; j <= 255; j++)
if (str[j] > 0)
str[j] = toupper (str[j]);
for (int i = 0; str[i]; i++)
chars[str[i]]++;
for (int i = 0; i < 256; i++)
if (chars[i])
cout << char (i) << " repeated " << chars[i] << " times\n";
}
Инициализируем строку сразу вводом из консоли:
string str = Console.Readline ();
Если используются формы, то нужно будет взять текст из поля ввода.
В шарпе тип char
двухбайтовый, поэтому если решать через массив, то размер должен быть 65536. Нулями он уже будет заполнен при создании. Есть еще такие штуки как Dictionary
и SortedDictionary
, если захочется не выделять столько памяти, можно будет использовать их.
var chars = new int [65536];
Перебираем строку:
for (int i = 0; i < str.Length; i++) {
char c = str [i];
А можно и так:
foreach (char c in string) {
Увеличиваем нужный счетчик
chars [(int) c]++;
}
Ну и вывод:
for (int i = 0; i < 65536; i++) {
Здесь есть один момент: в шарпе нет неявного преобразования int
в bool
.
if (chars [i] > 0) {
Console.WriteLine ("символ " + (char) i + " встретился " + chars [i] + " раз");
}
}
В примере опять же вывод в консоль используется, но я думаю, с компонентами проблем возникнуть не должно (там обычно свойство Text
за текст отвечает), если возникнут, напишите в комментарии какие компоненты используете, я тогда отредактирую ответ.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Создаю приложение, в котором требуется мне взять базу с Avito, на нужной страничке имеется кнопка <div class="DnHhI"><span class="_2bexo">Загрузить еще</span></div>...
Я изменяю настройки прокси сервера windows с помощью