Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 16.12.2017
Сообщений: 3
1

Подсчет символов в тексте

16.12.2017, 14:57. Показов 378. Ответов 7
Метки нет (Все метки)

Здравствуйте, мне нужна помощь, мне нужно создать программу в WindowsFormsApp для подсчета символов в тексте который будет вводиться в pictureBox и по кнопке будет проводиться подсчет букв и запись массива например (А=150, Б=100,В-15.....) в текстовый документ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2017, 14:57
Ответы с готовыми решениями:

Подсчет количества слов в тексте
Ребят, помогите пожалуйста!!)) нужно подсчитать количество слов в тексте. Есть RichTextBox, в...

b. Подсчет частоты употребления слов в тексте с отображением доли обработанного объема
b. Подсчет частоты употребления слов в тексте с отображением доли обработанного объема. Я писал,...

Подсчет символов в веденой строке
private void button1_Click(object sender, EventArgs e) { String temp; ...

Подсчет кол-ва символов в textBox
Такая вот казусная ситуация есть textbox в него вводим символы и рядом label в него нужно выводить...

7
91 / 76 / 16
Регистрация: 01.04.2017
Сообщений: 720
16.12.2017, 16:16 2
Ну можно так: массив сделайте размера 33.
Цикл по строке-тексту, проверяем символы:
если а - то mas[0]++
если б - то mas[1]++
и т.д.

А можно сделать Dictionary(<char>, <int>)
1
0 / 0 / 0
Регистрация: 16.12.2017
Сообщений: 3
17.12.2017, 02:01  [ТС] 3
Написал друг для английского надо написать для русского помогите чет не могу понять где че менять поменял чисто буквы не помогло.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace KP4._1
{
    public partial class Form1 : Form
    {
        String path = "D://123.txt";
        public Form1()
        {
            InitializeComponent();
        }
        public struct United {
            public String l;
            public int r;
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            String str = "Программа расчитана на англ. алфавит\n\nФайл с текстом должен находится по пути\nD://123.txt";
            MessageBox.Show(str, "Информация!", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
 
        private void buttonWIEV_Click(object sender, EventArgs e)
        {
            if (File.Exists(path))
            {
                string[] readText = File.ReadAllLines(path);
                int counterA = 0;
                int counterB = 0;
                int counterC = 0;
                int counterD = 0;
                int counterE = 0;
                int counterF = 0;
                int counterG = 0;
                int counterH = 0;
                int counterI = 0;
                int counterJ = 0;
                int counterK = 0;
                int counterL = 0;
                int counterM = 0;
                int counterN = 0;
                int counterO = 0;
                int counterP = 0;
                int counterQ = 0;
                int counterR = 0;
                int counterS = 0;
                int counterT = 0;
                int counterU = 0;
                int counterV = 0;
                int counterW = 0;
                int counterX = 0;
                int counterY = 0;
                int counterZ = 0;
 
                for (int i = 0; i < readText.Count(); i++)
                {
                    counterA += readText[i].ToLower().ToCharArray().Where(k => k == 'a').Count();
                    counterB += readText[i].ToLower().ToCharArray().Where(k => k == 'b').Count();
                    counterC += readText[i].ToLower().ToCharArray().Where(k => k == 'c').Count();
                    counterD += readText[i].ToLower().ToCharArray().Where(k => k == 'd').Count();
                    counterE += readText[i].ToLower().ToCharArray().Where(k => k == 'e').Count();
                    counterF += readText[i].ToLower().ToCharArray().Where(k => k == 'f').Count();
                    counterG += readText[i].ToLower().ToCharArray().Where(k => k == 'g').Count();
                    counterH += readText[i].ToLower().ToCharArray().Where(k => k == 'h').Count();
                    counterI += readText[i].ToLower().ToCharArray().Where(k => k == 'i').Count();
                    counterJ += readText[i].ToLower().ToCharArray().Where(k => k == 'j').Count();
                    counterK += readText[i].ToLower().ToCharArray().Where(k => k == 'k').Count();
                    counterL += readText[i].ToLower().ToCharArray().Where(k => k == 'l').Count();
                    counterM += readText[i].ToLower().ToCharArray().Where(k => k == 'm').Count();
                    counterN += readText[i].ToLower().ToCharArray().Where(k => k == 'n').Count();
                    counterO += readText[i].ToLower().ToCharArray().Where(k => k == 'o').Count();
                    counterP += readText[i].ToLower().ToCharArray().Where(k => k == 'i').Count();
                    counterQ += readText[i].ToLower().ToCharArray().Where(k => k == 'q').Count();
                    counterR += readText[i].ToLower().ToCharArray().Where(k => k == 'r').Count();
                    counterS += readText[i].ToLower().ToCharArray().Where(k => k == 's').Count();
                    counterT += readText[i].ToLower().ToCharArray().Where(k => k == 't').Count();
                    counterU += readText[i].ToLower().ToCharArray().Where(k => k == 'u').Count();
                    counterV += readText[i].ToLower().ToCharArray().Where(k => k == 'v').Count();
                    counterW += readText[i].ToLower().ToCharArray().Where(k => k == 'w').Count();
                    counterX += readText[i].ToLower().ToCharArray().Where(k => k == 'x').Count();
                    counterY += readText[i].ToLower().ToCharArray().Where(k => k == 'y').Count();
                    counterZ += readText[i].ToLower().ToCharArray().Where(k => k == 'z').Count();
                }
                listBox1.Items.Add("Буква \"A\" встречается " + counterA.ToString() + " раз");
                listBox1.Items.Add("Буква \"B\" встречается " + counterB.ToString() + " раз");
                listBox1.Items.Add("Буква \"C\" встречается " + counterC.ToString() + " раз");
                listBox1.Items.Add("Буква \"D\" встречается " + counterD.ToString() + " раз");
                listBox1.Items.Add("Буква \"E\" встречается " + counterE.ToString() + " раз");
                listBox1.Items.Add("Буква \"F\" встречается " + counterF.ToString() + " раз");
                listBox1.Items.Add("Буква \"G\" встречается " + counterG.ToString() + " раз");
                listBox1.Items.Add("Буква \"H\" встречается " + counterH.ToString() + " раз");
                listBox1.Items.Add("Буква \"I\" встречается " + counterI.ToString() + " раз");
                listBox1.Items.Add("Буква \"J\" встречается " + counterJ.ToString() + " раз");
                listBox1.Items.Add("Буква \"K\" встречается " + counterK.ToString() + " раз");
                listBox1.Items.Add("Буква \"L\" встречается " + counterL.ToString() + " раз");
                listBox1.Items.Add("Буква \"M\" встречается " + counterM.ToString() + " раз");
                listBox1.Items.Add("Буква \"N\" встречается " + counterN.ToString() + " раз");
                listBox1.Items.Add("Буква \"O\" встречается " + counterO.ToString() + " раз");
                listBox1.Items.Add("Буква \"P\" встречается " + counterP.ToString() + " раз");
                listBox1.Items.Add("Буква \"Q\" встречается " + counterQ.ToString() + " раз");
                listBox1.Items.Add("Буква \"R\" встречается " + counterR.ToString() + " раз");
                listBox1.Items.Add("Буква \"S\" встречается " + counterS.ToString() + " раз");
                listBox1.Items.Add("Буква \"T\" встречается " + counterT.ToString() + " раз");
                listBox1.Items.Add("Буква \"U\" встречается " + counterU.ToString() + " раз");
                listBox1.Items.Add("Буква \"V\" встречается " + counterV.ToString() + " раз");
                listBox1.Items.Add("Буква \"W\" встречается " + counterW.ToString() + " раз");
                listBox1.Items.Add("Буква \"X\" встречается " + counterX.ToString() + " раз");
                listBox1.Items.Add("Буква \"Y\" встречается " + counterY.ToString() + " раз");
                listBox1.Items.Add("Буква \"Z\" встречается " + counterZ.ToString() + " раз");
                United[] uN = new United[26];
                uN[0].l = "a"; uN[0].r = counterA;
                uN[1].l = "b"; uN[1].r = counterB;
                uN[2].l = "c"; uN[2].r = counterC;
                uN[3].l = "d"; uN[3].r = counterD;
                uN[4].l = "e"; uN[4].r = counterE;
                uN[5].l = "f"; uN[5].r = counterF;
                uN[6].l = "g"; uN[6].r = counterG;
                uN[7].l = "h"; uN[7].r = counterH;
                uN[8].l = "i"; uN[8].r = counterI;
                uN[9].l = "j"; uN[9].r = counterJ;
                uN[10].l = "k"; uN[10].r = counterK;
                uN[11].l = "l"; uN[11].r = counterL;
                uN[12].l = "m"; uN[12].r = counterM;
                uN[13].l = "n"; uN[13].r = counterN;
                uN[14].l = "o"; uN[14].r = counterO;
                uN[15].l = "p"; uN[15].r = counterP;
                uN[16].l = "q"; uN[16].r = counterQ;
                uN[17].l = "r"; uN[17].r = counterR;
                uN[18].l = "s"; uN[18].r = counterS;
                uN[19].l = "t"; uN[19].r = counterT;
                uN[20].l = "u"; uN[20].r = counterU;
                uN[21].l = "v"; uN[21].r = counterV;
                uN[22].l = "w"; uN[22].r = counterW;
                uN[23].l = "x"; uN[23].r = counterX;
                uN[24].l = "y"; uN[24].r = counterY;
                uN[25].l = "z"; uN[25].r = counterZ;
                for (int i = 0; i < 26; i++)
                {
                    for (int j = 0; j < 25; j++)
                    {
                        if (uN[j].r < uN[j + 1].r)
                        {
                            United tmp = uN[j];
                            uN[j] = uN[j + 1];
                            uN[j + 1] = tmp;
                        }
 
                    }
                }
                if (!File.Exists("D:\\table.txt"))
                {
                    File.Create("D:\\table.txt");
                }
                StreamWriter sW = new StreamWriter("D:\\table.txt");
                for (int i = 0; i < uN.Count(); i++) {
                    sW.WriteLine(uN[i].l);
                }
                sW.Close();
            }
        }
    }
}
0
613 / 506 / 316
Регистрация: 20.05.2015
Сообщений: 1,422
18.12.2017, 08:50 4
Как-то так:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
   
string s = File.ReadAllText(path);         //желательно указать кодировку
Dictionary<char, int> di = s.ToLower().Distinct().Where(p=>(p>'а')&&(p<'я')).OrderBy(p => p).ToDictionary(p => p, p => s.Count(p2 => p2 == p));
StreamWriter sW = new StreamWriter("D:\\table.txt");
            foreach (var it in di) sw.WriteLine(String.Format("{0} кол-во:{1}", it.Key, it.Value));
0
2887 / 2047 / 1025
Регистрация: 14.08.2016
Сообщений: 7,067
19.12.2017, 01:20 5
Aferuga, кхм, т.е. буквы "а", "я", "ё" пролетают фонерой над Парижем?
если считать кол-во букв, на кой
Цитата Сообщение от Aferuga Посмотреть сообщение
.Distinct()
?
0
613 / 506 / 316
Регистрация: 20.05.2015
Сообщений: 1,422
19.12.2017, 02:55 6
Цитата Сообщение от Diamante Посмотреть сообщение
т.е. буквы "а", "я", "ё" пролетают фонерой над Парижем?
С этим понятно опечатался, должно быть так:
C#
1
.Where(p=>(p>='а')&&(p<='ё'))
А вот чем distinct не устроил? Потому что если его убрать будет ошибка на ToDictionary. Хотя возможно у вас есть свой вариант?
0
2887 / 2047 / 1025
Регистрация: 14.08.2016
Сообщений: 7,067
19.12.2017, 08:05 7
C#
1
2
3
4
5
6
   
string s = File.ReadAllText(path);         //желательно указать кодировку
var result = s.GroupBy(x => char.ToLower(x)).OrderBy(g=>g.Key); //можно еще так s.ToLower().GroupBy(x=>x).OrderBy(g=>g.Key);
//^считает все подряд, при желании/необходимости прикрутить фильтрацию(по мне - считать так считать)
using(StreamWriter sw = new StreamWriter("D:\\table.txt"));
            foreach (var it in result) sw.WriteLine(String.Format("{0} кол-во:{1}", it.Key, it.Count()));
1
Aferuga
19.12.2017, 09:19     Подсчет символов в тексте
  #8

Не по теме:


Ппц, как я мог забыть про GroupBy:wall:

0
19.12.2017, 09:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2017, 09:19
Привет! Вот еще темы с ответами:

Подсчет символов в richTextbox \ listBox1
Здравствуйте , хотел спросить как узнать количество символов которые вписал в richTextbox или ...

Подсчет количества символов в файле
Задание - разработать программу, осуществляющую подсчет количества символов русского алфавита в...

Подсчет символов латиницы и кириллицы в richtextBox
Доброго времени суток. Дали задание Программа (локальная) для подсчета текстов разного формата. ...

Как сделать подсчет найденных символов в textBox'е
Я начинающий программист на C#. Помогите плиз... Вобщем есть у нас два textBox'а в 1 основной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.