         
         return sorted
     }
-
+    
+    
+    /****************************引数で渡された配列のy座標の平均を求めて返す関数******************************/
+    func Get_Y_Average(charinfo: [CharInfo]) -> Double {
+        var sum = 0.0
+        for i in 0..<charinfo.count {
+            sum += charinfo[i].y
+        }
+        
+        return (sum/Double(charinfo.count))
+    }
+    
+    
+    /****************************平均値の配列をもとに誤差許容範囲内同士の配列を結合する関数******************************/
+    func UnionArrayByY(aveArray: [Double], charinfo: [[CharInfo]]) {
+        var pivot_index = 0
+        var pivot = 0.0
+        
+        var grouping: [[Int]] = [[]]
+        var grouping_index = 0
+        
+        //aveArrayの値が近いもの同士を記録する
+        for i in 0..<charinfo.count - 1 {
+            pivot = aveArray[pivot_index]
+            if (pivot-tolerance...pivot+tolerance ~= aveArray[i+1]) {
+                grouping[grouping_index].append(i)
+                grouping[grouping_index].append(i+1)
+            }else {
+                pivot_index = i+1
+                grouping_index += 1
+                grouping.append([])
+            }
+        }
+        
+        //グループ化した配列内の空配列を削除する
+        for i in (0..<grouping.count).reverse() {
+            if grouping[i].isEmpty {
+                grouping.removeAtIndex(i)
+            }
+        }
+    }
+    
+    //テスト用関数
+    func ShowcharinfoArray(charinfo: [[CharInfo]]) {
+        for i in 0..<charinfo.count {
+            print(String(i) + ": ", terminator: "")
+            for j in 0..<charinfo[i].count {
+                let hoge = charinfo[i][j]
+                print(hoge.text, terminator: "")
+            }
+            print("")
+        }
+    }
 }


import UIKit

//pdfから抽出したテキスト情報を格納するクラス
class CharInfo {
    var text = ""
    var x = 0.0
    var y = 0.0

                }
                
                charinfoArray[currentArrayIndex].append(charinfo)
                
            }
            text = tet.get_text(page)
        }
