Определение наиболее часто встречаемого символа в тексте - C#

Узнай цену своей работы

Формулировка задачи:

Делаю программу для написания частотности символа суть такова что программа должна определить наиболее часто встречаемый символ в тексте но тут возникла проблема у меня все время показывает символ "б" в массиве это номер 1 тоесть в цикле все время получается результат 1 помогите пожалуйста
            for (int b = 0; b < s.Length;b++)
            {
                for(int c=0;c<44;c++)
                {
                    if(s[b] == alfavit[c])
                    {
                        podschet[b]++;
                    }
                }
            }
            for(int f=0;f<s.Length;f++)
            {
                for (int k = 0; k < 44;k++)
                {
                    if (podschet[f] > podschet[k])
                    {
                        label3.Text = Convert.ToString(alfavit[podschet[f]]);
                    }
                }
            }
полный код программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string alfavit = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя0123456789 ";
            int[] podschet = new int[44];
            int maxcount=1;
            int chasto = 0;
            string s = textBox1.Text;
            string probel = " ";
            for (int i=0; i < s.Length;i++)
            {
                if(Convert.ToString(s[i]) == probel)
                {
                    maxcount++;
                    label2.Text = Convert.ToString(maxcount);
                }
            }
            for (int b = 0; b < s.Length;b++)
            {
                for(int c=0;c<44;c++)
                {
                    if(s[b] == alfavit[c])
                    {
                        podschet[b]++;
                    }
                }
            }
            for(int f=0;f<s.Length;f++)
            {
                for (int k = 0; k < 44;k++)
                {
                    if (podschet[f] > podschet[k])
                    {
                        label3.Text = Convert.ToString(alfavit[podschet[f]]);
                    }
                }
            }
        }
    }
}

Решение задачи: «Определение наиболее часто встречаемого символа в тексте»

textual
Листинг программы
 
            char charMax='a';
            int cntMax = 0;
 
            for (int i = 0; i < podschet.Length; i++)
            {
                if (podschet[i] >= cntMax) { cntMax = podschet[i]; charMax = alfavit[i]; }
            }
 
            label2.Text = charMax.ToString();
            label3.Text = cntMax.ToString();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.3 из 5
Похожие ответы