Wat doet dit programma?
Featured Replies
Recent actief 0
- Er zijn hier geen geregistreerde gebruikers aanwezig.
Een betere weg om onze GTA community te volgen. Leer meer.
Een volledig scherm app op het beginscherm inclusief notificaties, badges en meer.
EDIT: Sorry dat probleem is opgelost. Blijkbaar zet het \'m in een typfout bij het declareren van de variabelen...
Volgende probleem:
Ik snap niks van Pascal
Nu heb ik dus een stuk code hier, maar ik snap niet echt hoe ik het moet gebruiken. Iemand die me hier mee kan helpen?
// compiler: [url="http://www.freepascal.org/down/i386/win32-ftp.freepascal.org.var"]http://www.freepascal.org/down/i386/win32-...epascal.org.var[/url] {$mode Delphi} uses sysUtils; var buffer,bscram,pick,scramword,s:string; uscram,scram:textfile; found:boolean; i,pos,cline:integer; procedure p(a,b:string; size:integer); // where most of the work is done. var // it permunations basicly rearanges the letters in every possable order until a match is found in unscramble T:word; // the process can take a while on longer words 8 letter words have that have 40,320 combonations and take up to temp1,temp2:string; // 5 seconds at least on my computer. begin inc(cline); if length(b) = size -size then begin if found = true then exit; assignfile(uscram,paramstr(1)); Reset(uscram); //case sentive while not EoF(uscram) do Begin Readln(uscram,buffer); if buffer = a then //if line in unscambled text matches generated word begin writeln(\',\'+a ); //write to screen matching word pick:= pick+\',\'+ a; // add to final output found := true; // stop looking for any more combos for this word. end; end; close(uscram); end else for T := 1 to length(b) do begin if found = true then begin // found:=false; Break; end; temp1 := b; temp2 := a + temp1[T]; Delete(temp1,T,1); p(temp2,temp1,size); end; end; begin cline:=1; // asign a text file with scrambled words //take out all the dead space and get just the words. assignfile(scram,(paramstr(2))); Reset(scram); while not eof(scram) do // loop to read every line of file in the scrambled words file begin readln(scram,bscram); // read line if cline = 1 then // there was this werid thing first word would be one space less than the rest this is my workaround. begin scramword :=copy(bscram,3,length(bscram)); end else begin scramword := copy(bscram,4,length(bscram)); end; pos:= 1; while pos > 0 do begin pos:=ansipos(\' \',scramword); scramword := copy(scramword,pos+1,length(scramword)); end; writeln(\'\'+\',\'+ scramword+\',\'+inttostr(length(scramword) )); found :=false; p(\'\',scramword,length(scramword)); end; //close(scram); { for i:=2 to paramcount do // how I did it when I call the words as parameters I can\'t type quit enough though. begin found :=false; p(\'\',paramstr(i),length(paramstr(i))); end;} delete(pick,1,1); // delete the first \',\' in pick so it appears as is needed. writeln(pick); // print unscrambled words close(scram); end.Het doel van het programma is dat het een lijstje krijgt met een aantal woorden die door elkaar gehusseld zijn (dus bijvoorbeeld gtaforum werd mutafogr) en deze dan weer goed zet, door ze te vergelijken met woorden in een woordenlijst. Nu is mijn vraag eigenlijk; waar laat ik de woordenlijst, waar voer ik de gehusselde woorden in en waar komt de output? Er worden 2 textfiles gedeclareerd, dus ik gok dat ik een scram.txt file moet maken met daarin iets, en een uscram.txt ofzo.
Hoe ga ik nu verder?
EDIT (10-4): Ik snap dat dit niet echt een alledaagse programmeertaal is, maar toch hoop ik dat er iemand is die dit een beetje kan ontcijferen. Ik snap er namelijk nog steeds niet veel van. Topictitel slaat trouwens al nergens meer op...
Bewerkt: door SummerBase