[VB .NET] vaak voorkomende woorden rangschikken

Pagina: 1
Acties:

  • the-hell
  • Registratie: December 2001
  • Laatst online: 15:48
Hallo, ik heb voor mijn Profielwerkstuk het onderwerp compressietechnieken gekozen, en het leek mij een leuk idee om zelf een klein compressieprogrammatje te maken, ik heb nu gewoon dit gemaakt:


Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim OldText As String 
Dim NewText As String

OldText = TextBox1.Text

NewText = Replace(OldText, "computer", "{4")
NewText = Replace(NewText, "uitgeven", "[3")
NewText = Replace(NewText, "aandelen", "[2")
NewText = Replace(NewText, "internet", "[4")
NewText = Replace(NewText, "Google ", "{2")
NewText = Replace(NewText, "door", "{5")
NewText = Replace(NewText, "snel", "{3")
NewText = Replace(NewText, "een", "[1")
NewText = Replace(NewText, "de", "{1")

TextBox2.Text = NewText


Maar nu moet ik een hele lijst met woorden gaan zoeken, nu is mijn vraag dit:
Is er niet een manier om met visual basic de woorden te rangschikken? zodat hij ze sorteerd op aantal like this:

internet 5 keer, school 3 keer, etc, zodat ik dan alleen de woorden die vaak voorkomen kan verkleinen naar iets, iets met een loop ofzo, totaan de woorden die 3 of minder letters hebben.

Aangezien de search hier niet werkte, en ik bijgod geen idee had hoe ik dat kon vinden in msdn heb ik het hier maar gevraagd,

Of heeft iemand nog een ander idee voor meer compressie?

alvast bedankt!

[ Voor 10% gewijzigd door the-hell op 25-10-2003 13:07 ]


  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 20-08 15:04

mOrPhie

❤️❤️❤️❤️🤍

Bij compressie denk ik toch meer aan het comprimeren van binary-data. Je zou van de hele text een byte-array kunnen maken en daar vervolgens op door kunnen gaan met wat algoritmes. (mooie daarvan is dat je niet vast zit aan text, maar dus ook anderzins bestanden kunt comprimeren). Dan heb je het over echte compressie. Niet het vervangen van "computer" door "{4". Want stel nou dat iemand "{4" in zijn text heeft staan. Dan gaat dat bij het decoderen toch mooi fout. :)

[ Voor 17% gewijzigd door mOrPhie op 25-10-2003 13:11 ]

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


  • the-hell
  • Registratie: December 2001
  • Laatst online: 15:48
hehe, je hebt gelijk idd ;) ik ga ff opzoeken hoe ik die termen van jou toepas, ben al een jaartje uit VB, dus moet bijna weer vanaf het begin beginnen :(

  • the-hell
  • Registratie: December 2001
  • Laatst online: 15:48
ok, ik heb nu dit gecodeerd, maar volgens mij klopt er niks van :)

Visual Basic:
1
2
3
4
5
6
Dim test(5) As Byte

FileOpen(2, "c:\teksten\klein.txt", OpenMode.Binary)
FileGet(2, test)
TextBox2.Text = test(0)
FileClose(2)


of is dit wel de goede manier om er een byte array van te maken? het lijkt me stug eigenlijk :'(

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 10-08 15:15
[klein beetje offtopic]
Je zou ook een bestaand compressiealgoritme kunnen uitprogrammeren.

Ik denk dan bijvoorbeeld aan Huffman. Dit is niet zo moeilijk om te begrijpen en best interessant (trek maar eens een vergelijking met morse-code). Deze heb ik ook ooit op de middelbare school eens uitgeprogrammeerd.

De meest simpele oplossingen bevatten wel bit-operaties en boom-datastructuren. Je zult daar wel mee om moeten kunnen gaan. Hoewel je wat bits misschien makkelijker '0' en '1' characters kan uitspuggen en inlezen.

[ Voor 37% gewijzigd door Infinitive op 25-10-2003 15:29 ]

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • the-hell
  • Registratie: December 2001
  • Laatst online: 15:48
ik zal die site straks doorkijken, maar volgens mij staat daar niet precies op hoe je dat moet programeren.

Kan iemand mij dus vertellen hoe je een tekstfile opent als 1010101110 etc? ik krijg het alleen als 16520114102 en volgens mij is dat niet goed :o

[edit]
En is er dan ook een manier om van die 1010101110 weer gewone tekst te krijgen in een tekstvak? Uit de help kan ik daar niks over vinden, vind die help zoizo een beetje vreemd

[ Voor 27% gewijzigd door the-hell op 25-10-2003 15:54 ]


  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 20-08 15:04

mOrPhie

❤️❤️❤️❤️🤍

byte-array != binary
Het idee erachter is dat je van elk file (dus ook een binary-bestand) een byte-array kunt maken.

Verder zul je het toch eerst zelf uit moeten zoeken. Laat ik het zo zeggen: {16,52,0,11,41,0,2} zou een byte-array kunnen zijn. Daar is niets mis mee.

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.

Pagina: 1