Помощь в переводе кода с С++ на С#

116
09 октября 2019, 19:00

Возникла проблема в том, что нужно создать программу с интерфейсом пользователя, так как мне удобнее сделать это в 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";

}

Answer 1

Инициализируем строку сразу вводом из консоли:

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 за текст отвечает), если возникнут, напишите в комментарии какие компоненты используете, я тогда отредактирую ответ.

READ ALSO
Задача по массиву

Задача по массиву

Всем приветПродолжаю изучать С#

118
C# Selenium. Не получается нажать на кнопку

C# Selenium. Не получается нажать на кнопку

Создаю приложение, в котором требуется мне взять базу с Avito, на нужной страничке имеется кнопка <div class="DnHhI"><span class="_2bexo">Загрузить еще</span></div>...

126
Windows установить прокси с аутентификацией

Windows установить прокси с аутентификацией

Я изменяю настройки прокси сервера windows с помощью

119