Vraagje programmeren in Pascal (delphi)..

Status
Niet open voor verdere reacties.

adjes26

Gebruiker
Lid geworden
4 okt 2003
Berichten
51
Goeieavond..

Ik ben een progje aan et maken in pascal. Het lukt me alleen niet om van een string met een oneven aantal karakters de middelste letter te bepalen.

dus.. :

var Woord:string;

begin
readln(Woord);

Hoe bepaal ik de middelste letter van Woord?

end;

iemand?? Mijn dank zou in ieder geval erg groot zijn..

Groet,
Ad!
 
Beetje logisch nadenken.
Je bepaalt eerst de lengte van de string, VB: len, in turbopascal denk ik:
integerpositie = (Length(Woord) + 1)/2
Je slaagt deze op in een integervariable, telt er 1 eenheid bij op , en deelt die dan door twee.
Op dat moment heb je de positie van je letter.

dan trek je die eruit:
tweede string : outputstr
outputstr = Copy(Woord, integerpositie, 1)

That should do it
 
Geplaatst door arre
Beetje logisch nadenken.
Je bepaalt eerst de lengte van de string, VB: len, in turbopascal denk ik:
integerpositie = (Length(Woord) + 1)/2
Je slaagt deze op in een integervariable, telt er 1 eenheid bij op , en deelt die dan door twee.
Op dat moment heb je de positie van je letter.

dan trek je die eruit:
tweede string : outputstr
outputstr = Copy(Woord, integerpositie, 1)

That should do it

hmm bijna.. het probleem is alleen (waar ik zelf ook al tegen aan was gelopen) dat integerpositie alleen een real variabele kan zijn om je gedeeld door gebruikt. Copy werkt alleen met integers.... en toen?
 
heh:P ik snap er niets van:) mja ik heb nog nooit echt pascal geprogrammeerd:P kga ffjes mezelf wat kennis bij brengen en dan weet ik je een antwoord te geven:)
Cya soon
 
Keeeej, ik ben terug, heb wat geleerd, en kom tot devolgende conclusie: dit doet het:)
Beetje wat ik dacht, je moest gewoon de 'trunc' gebruiken om een juiste output te krijgen van die bewerking...

program Untitled;
var Woord:string;
var integerpositie:integer;
var outputstr:string;
begin
Woord:='test2';
integerpositie:=Length(Woord)+1;
integerpositie:=trunc(integerpositie/2);
outputstr:=Copy(Woord,integerpositie,1);
writeln(outputstr);
end.

Cya
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan