Подсчитать число появлений в файле каждой маленькой буквы - Visual Basic .NET
Формулировка задачи:
Дано текстовый файл. Подсчитать число появлений в ней каждой строчной (то есть маленькой) латинской буквы и создать текстовый файл, элементы которого имеют вид «<буква> - <число ее появлений>» (например, «а-25»). Буквы, отсутствующие в тексте, в файл не включать. Строки порядок по возрастанию кодов букв. Результат записать в файл.
Написал код но не подсчитывает количество букв в файле
Листинг программы
- Imports System
- Imports System.IO
- Imports System.Text
- Public Class Form1
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Dim f As New FileStream("text.txt", FileMode.Open)
- Dim fs As New StreamReader(f)
- Dim f1 As New FileStream("textt.txt", FileMode.Create)
- Dim fs1 As New StreamWriter(f1)
- Dim s As String
- Dim k As String
- Dim s1 As String
- Dim c As Char
- Dim b(25) As Integer
- Dim g, l As Integer
- For i = 0 To 28
- Do While fs.EndOfStream = False
- g = Val(c)
- If g >= 97 And g <= 120 Then
- s1 = fs.ReadLine
- g = g + 1 - 96
- l = l + 1
- End If
- s1 = fs.ReadLine
- Loop
- Next
- fs.Close()
- f.Close()
- s = ""
- For i = 0 To 26
- If i > 0 Then
- If i <= 26 Then
- s = Chr(96 + i)
- fs1.WriteLine(s & "-" & l)
- End If
- End If
- Next
- fs1.Close()
- f1.Close()
- End Sub
- End Class
Решение задачи: «Подсчитать число появлений в файле каждой маленькой буквы»
textual
Листинг программы
- Dim str As String = IO.File.ReadAllText("C:\Users\administrator\Desktop\text.txt", System.Text.Encoding.Default)
- Dim res As New ListBox
- Dim wordsStat As Dictionary(Of Char, Integer) = New Dictionary(Of Char, Integer)()
- For Each letter As Char In str
- If Asc(letter) >= 97 And Asc(letter) <= 122 Then
- Dim c As Integer
- wordsStat.TryGetValue(letter, c)
- c += 1
- wordsStat(letter) = c
- End If
- Next
- For Each pair As KeyValuePair(Of Char, Integer) In wordsStat
- res.Items.Add(pair.Key & " - " & pair.Value)
- Next
- res.Sorted = True
- IO.File.WriteAllText("C:\Users\administrator\Desktop\textt.txt", "", System.Text.Encoding.Default)
- For i = 0 To res.Items.Count - 1
- IO.File.AppendAllText("C:\Users\administrator\Desktop\textt.txt", res.Items.Item(i) & vbNewLine, System.Text.Encoding.Default)
- Next
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д