Advertisement
Guest User

Untitled

a guest
May 27th, 2015
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.95 KB | None | 0 0
  1. file = File.open("cyphertext.txt")
  2. contents = file.read
  3. totalCharCount = contents.length
  4. EnglishCharFreq = [
  5.                   ["a", 8.167],
  6.                   ["b", 1.492],
  7.                   ["c", 2.782],    
  8.                   ["d", 4.253],
  9.                   ["e", 12.702],
  10.                   ["f", 2.228],
  11.                   ["g", 2.015],
  12.                   ["h", 6.094],
  13.                   ["i", 6.966],
  14.                   ["j", 0.153],    
  15.                   ["k", 0.772],
  16.                   ["l", 4.025],
  17.                   ["m", 2.406],
  18.                   ["n", 6.749]
  19.                   ["o", 7.507],
  20.                   ["p", 1.929],
  21.                   ["q", 0.095],    
  22.                   ["r", 5.987],
  23.                   ["s", 6.327],
  24.                   ["t", 9.056],
  25.                   ["u", 2.758],
  26.                   ["v", 0.978],
  27.                   ["w", 2.361],
  28.                   ["x", 0.150],    
  29.                   ["y", 1.974],
  30.                   ["z", 0.074]
  31.                 ]
  32.  
  33.  
  34. def char_count(str)
  35.     count = {}
  36.     str.each_char do |char|
  37.         count[char] = 0.0 unless count.include?(char)
  38.         count[char] += 1.0
  39.     end
  40.     count
  41. end
  42.  
  43. freqVal = char_count(contents).sort
  44.  
  45. for i in 0..freqVal.length-1
  46.     freqVal[i][1] = (freqVal[i][1]/totalCharCount)*100
  47. end
  48.  
  49. print "#{freqVal}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement