Написать процедуру, подсчитывающую частоту использования группы символов в заданном тексте - C#
Формулировка задачи:
Напишите процедуру, подсчитывающую частоту использования группы символов в заданном тексте. Проведите исследование произведений двух поэтов, подсчитав частоты использования гласных и согласных, глухих и звонких согласных. Для представления текстов используйте класс char [].
Решение задачи: «Написать процедуру, подсчитывающую частоту использования группы символов в заданном тексте»
textual
Листинг программы
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;
using System.IO;
namespace задание_A
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int Glas = 0, SoGlas = 0, Glyx = 0, Zvonk = 0;
//int n = richTextBox1.Text.Length;
char[] text = richTextBox1.Text.ToCharArray();
//StringBuilder text = new StringBuilder(richTextBox1.Text);
//text = richTextBox1.Text;
for (int i = 0; i < text.Length; i++)
{
if (isGlas(text[i])) Glas++;
else
{
SoGlas++; //вот тут нужная проверка, потому что так учитываются цифры
if (isGlyx(text[i])) Glyx++;
if (isZvonk(text[i])) Zvonk++;
}
}
/*string stat = String.Format(
"В тексте {0} гласных, {1} согласных (из которых {2} звонких и {3} глухих)",
Glas, SoGlas, Zvonk, Glyx);*/
richTextBox2.Text = $"В тексте {Glas} гласных, {SoGlas} согласных (из которых {Zvonk} звонких и {Glyx} глухих)";
}
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "Text files | *.txt";
dialog.ShowDialog();
/*if (dialog.ShowDialog() == DialogResult.OK)
richTextBox1.LoadFile(dialog.FileName, RichTextBoxStreamType.PlainText);*/
richTextBox1.Text = File.ReadAllText(dialog.FileName);
}
private bool isGlas(char t)
{
t = char.ToUpper(t);
//string Glas = "AЕЁИОУЫЭЮЯ";
//StringBuilder Glas = new StringBuilder("AЕЁИОУЫЭЮЯ");
char[] Glas = { 'А', 'Е', 'Ё', 'И', 'О', 'У', 'Ы', 'Э', 'Ю', 'Я' };
//if (Glas.IndexOf(t) != -1)
//if (Glas.ToString().IndexOf(t) != -1)
for (int i = 0; i < Glas.Length; i++)
if (Glas[i].Equals(t))
return true;
return false;
}
private bool isGlyx(char t)
{
t = char.ToLower(t);
//string Glas = "пфктшсхцщ";
char[] Glas = { 'п', 'ф', 'к', 'т', 'ш', 'с', 'х', 'ц', 'щ' };
//StringBuilder Glas = new StringBuilder("пфктшсхцщ");
for (int i = 0; i < Glas.Length; i++)
if (Glas[i].Equals(t)) return true;
//if (Glas.ToString().IndexOf(t) != -1)
//return true;
return false;
}
private bool isZvonk(char t)
{
t = char.ToLower(t);
//string Glas = "бвгджзлмнрй";
char[] Glas = { 'б', 'в', 'г', 'д', 'ж', 'з', 'л', 'м', 'н', 'р', 'й' };
//StringBuilder Glas = new StringBuilder("бвгджзлмнрй");
//if (Glas.ToString().IndexOf(t) != -1)
for (int i = 0; i < Glas.Length; i++)
if (Glas[i].Equals(t))
return true;
return false;
}
}
}