Подсчитать число появлений в файле каждой маленькой буквы - Visual Basic .NET

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

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

Дано текстовый файл. Подсчитать число появлений в ней каждой строчной (то есть маленькой) латинской буквы и создать текстовый файл, элементы которого имеют вид «<буква> - <число ее появлений>» (например, «а-25»). Буквы, отсутствующие в тексте, в файл не включать. Строки порядок по возрастанию кодов букв. Результат записать в файл. Написал код но не подсчитывает количество букв в файле
Листинг программы
  1. Imports System
  2. Imports System.IO
  3. Imports System.Text
  4. Public Class Form1
  5. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  6. Dim f As New FileStream("text.txt", FileMode.Open)
  7. Dim fs As New StreamReader(f)
  8. Dim f1 As New FileStream("textt.txt", FileMode.Create)
  9. Dim fs1 As New StreamWriter(f1)
  10. Dim s As String
  11. Dim k As String
  12. Dim s1 As String
  13. Dim c As Char
  14. Dim b(25) As Integer
  15. Dim g, l As Integer
  16. For i = 0 To 28
  17. Do While fs.EndOfStream = False
  18. g = Val(c)
  19. If g >= 97 And g <= 120 Then
  20. s1 = fs.ReadLine
  21. g = g + 1 - 96
  22. l = l + 1
  23. End If
  24. s1 = fs.ReadLine
  25. Loop
  26. Next
  27. fs.Close()
  28. f.Close()
  29. s = ""
  30. For i = 0 To 26
  31. If i > 0 Then
  32. If i <= 26 Then
  33. s = Chr(96 + i)
  34. fs1.WriteLine(s & "-" & l)
  35. End If
  36. End If
  37. Next
  38. fs1.Close()
  39. f1.Close()
  40. End Sub
  41. End Class

Решение задачи: «Подсчитать число появлений в файле каждой маленькой буквы»

textual
Листинг программы
  1.  Dim str As String = IO.File.ReadAllText("C:\Users\administrator\Desktop\text.txt", System.Text.Encoding.Default)
  2.         Dim res As New ListBox
  3.         Dim wordsStat As Dictionary(Of Char, Integer) = New Dictionary(Of Char, Integer)()
  4.         For Each letter As Char In str
  5.             If Asc(letter) >= 97 And Asc(letter) <= 122 Then
  6.                 Dim c As Integer
  7.                 wordsStat.TryGetValue(letter, c)
  8.                 c += 1
  9.                 wordsStat(letter) = c
  10.  
  11.             End If
  12.         Next
  13.         For Each pair As KeyValuePair(Of Char, Integer) In wordsStat
  14.             res.Items.Add(pair.Key & " - " & pair.Value)
  15.         Next
  16.         res.Sorted = True
  17.         IO.File.WriteAllText("C:\Users\administrator\Desktop\textt.txt", "", System.Text.Encoding.Default)
  18.         For i = 0 To res.Items.Count - 1
  19.             IO.File.AppendAllText("C:\Users\administrator\Desktop\textt.txt", res.Items.Item(i) & vbNewLine, System.Text.Encoding.Default)
  20.         Next

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


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

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

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы