Parazival Ответов: 4

Как я должен вычислить количество каждой буквы в C#


например, если я введу текст в текстовое поле как "проект кода" (а не только проект кода, каков бы ни был текст)

я хочу, чтобы результат был таким, как
с-2
о-2
Д-1
е-2
с-1
Р-1
j-1
Т-1

как добиться этого в c#

Что я уже пробовал:

я не знаю как это сделать пожалуйста помогите с кодом спасибо

4 Ответов

Рейтинг:
27

Patrice T

Цитата:
я не знаю как это сделать пожалуйста помогите с кодом спасибо

Просто давая вам код не поможет вам узнать что-то.
Домашние задания-это упрощенные версии тех задач, которые вам придется решать в реальной жизни. цель это обучение и практикующий.

Цитата:
я хочу, чтобы результат был таким, как
с-2
о-2
Д-1
е-2
с-1
Р-1
j-1
Т-1

Выдача результата в алфавитном порядке может быть проще запрограммирована.
Вы знаете, как решить проблему вручную, подумайте об этом механическим способом, это в основном ваш алгоритм.

Мы не делаем вашу домашнюю работу.
Домашнее задание не предназначено для проверки ваших навыков просить других людей сделать вашу работу, оно предназначено для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание курсов, которые вы прошли, а также проблем, которые вы испытываете при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по исправлению положения.
Любая ваша неудача поможет вам узнать, что работает, а что нет, это называется "методом проб и ошибок".
Так что попробуйте, перечитайте свои уроки и приступайте к работе. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это похоже на попытку научиться водить машину, обучая кого-то другого.
Создание алгоритма - это в основном поиск математики и необходимая адаптация к вашей реальной проблеме.


Рейтинг:
10

Parazival

большое вам спасибо за Вашу поддержку наконец то я получил его с помощью while loop

строки inputtext = текстовое поле textbox1.Текст;
результат строка = строка.Пустой;
while (inputtext .Длина > 0)
{
int count = 0;
for (int i = 0; i < inputtext.Длина; i++)
{
if (inputtext[0] == inputtext[i])
{
считать++;
}
}
результат += inputtext[0] + " = " + count + "\n";
inputtext = inputtext.Replace(inputtext[0].ToString(), строка.Пустой);
}
этикетка 1.Текст = результат;


Рейтинг:
0

OriginalGriff

Вы не получите никакого кода - это ваша домашняя работа, так что это до вас, чтобы сделать это!

Но если вдуматься, то все довольно просто.
Начните с преобразования входных данных во все строчные буквы (это просто, для этого есть строковый метод ToLower) Теперь создайте два массива, оба того же размера, что и строка, которую он ввел, и целое число, которое говорит, сколько используется. Один массив содержит символы, другой-целые числа. (Если вы знаете о классах, это может быть список классов, содержащих целое число и символ, или словарь<char, int> - Но я предполагаю, что вы этого не знаете)
Теперь посмотрите на каждый символ на входе по очереди.
Если он находится в вашем символьном массиве, увеличьте значение в соответствующем целочисленном массиве.
Если это не так, добавьте его в свой массив символов, установите соответствующий целочисленный элемент массива равным 1 и увеличьте переменную "сколько используется".

После цикла у вас есть символы и соответствующие подсчеты в массивах yoru, и их легко распечатать.