Giter Site home page Giter Site logo

algoritmaprojeodevi's Introduction

ALGORITMAPROJEODEVI

Algoritmalar ve Programlama proje ödevi Kullanıcıdan alınan metinde yer alan A-Z,a-z ,bosluk ve '\0' dışındaki karakterlerin yerine boşluk atayarak metni yabancı karakterlerden temizleyen bir fonksiyon oluşturduk. void calculate_frequencies_bi() fonksiyonu ile bi gramlarin frekansini hesapladık. Bi gramları hesaplarken iki for döngüsü kullandık. İlk for döngümüz, bi gramları sırasıyla taramamızı sağladı. İkinci for döngümüzde tanımladığımız sayaç sayesinde metni taradık ve bu sayaç her bi gram için sıfırlandı. Oluşturduğumuz ikinci for döngüsünde 2 adet if koşulu kullandık. İlk if de, metnin ilk harfi ile bigramın ilk harfinin aynı olup olmama durumuna baktık. Eğer aynı ise yine bir if döngüsü yardımıyla ikinci harflere baktık. Bu harflerin de aynı olması durumunda o bi grama +1 ekledik. Ve bi gram bulunduktan sonra aynı bi gramın diğer tekrarlarını yakalamak için j'yi sıfırladık. void calculate_frequencies_tri() fonksiyonunu da aynı düzen ve mantık içerisinde yazarak tri gramların frekanslarını hesapladık. Sonrasında oluşturduğumuz void calculate_distances() fonksiyonu ile bigram ve trigramlarin frekanslari (tekrar sayilari) ile hesaplamalar yaptık. Eğer bi gram ve tri gramlarımızın ingilizce frekansları yüksek ise distances[0]'e 1 ekledik ve ing point kısmını artırmış olduk. Tam tersi durumda ise aynı işlemi germ point'te uyguladık. Son olarak da void detect_lang() fonksionunda puanların son durumuna baktık ve buna göre metnin dilni tahmin etmeye çalıştık. Oluşturduğumuz tüm bu fonksiyonları en altta bulunan main fonksiyonunda çağırdık ve kodumuzu tamamlamış olduk. Esasında, en altta main fonksiyonunu oluşturup oluşturduğumuz tüm fonksiyonları buraya çağırarak kodumuz için iki temel fayda sağlamış olduk. Birincisi, kodda oluşabilecek tüm karışıklıkları ve sorunları önlemektir. İkincisi ise, bu şekilde yaparak fonksiyonlarımızın kütüphaneden hemen sonra prototip olarak tanımlanmasına gerek kalmamasıdır.

algoritmaprojeodevi's People

Contributors

caglauzundurukan avatar

Stargazers

Hüdanur Ediz avatar  avatar Özge Akdaş avatar Bahadır Aksakal avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.