Programaren kodea:
{-------------------------------------------------------------- Esaldi bat hartu eta bere hitzak banatu egiten duen programa --------------------------------------------------------------} program EsaldiBatetikBereHitzakLortu; uses crt; type tKateLuze = string[100]; function fnsAurrekoakKendu(sEsaldia: tKateLuze): tKateLuze; //var // k: integer; begin writeln('/////fnsAurrekoakKendu funtzio barruan/////'); //k := 1; while sEsaldia[1] = ' ' do begin delete(sEsaldia, 1, 1); writeln('posizioa ', 1, ' denean/////', sEsaldia,'/////'); end; fnsAurrekoakKendu := sEsaldia; end; function fnsAtzekoakKendu(sEsaldia: tKateLuze): tKateLuze; var iAzkenposizioa: integer; begin writeln('\\\\\fnsAtzekoakKendu funtzio barruan\\\\\'); iAzkenposizioa := length(sEsaldia); while sEsaldia[iAzkenposizioa] = ' ' do begin delete(sEsaldia, iAzkenposizioa, 1); writeln('posizioa ', iAzkenposizioa, ' denean\\\\\', sEsaldia,'\\\\\'); iAzkenposizioa := length(sEsaldia); end; fnsAtzekoakKendu := sEsaldia; end; function fnsErdikoakKendu(sEsaldia: tKateLuze): tKateLuze; var iNon: integer; begin writeln('|||||fnsErdikoakKendu funtzio barruan|||||'); repeat iNon := pos(' ', sEsaldia); (* zuriune bikotea bilatu *) write('iNon: ', iNon, ', '); delete(sEsaldia, iNon, 1); (* bikotetik zuriune bat kendu *) writeln('delete ondoren|||||', sEsaldia,'|||||'); until iNon = 0; (* azken bikotearen bigarren zuriunea geratzen da *) fnsErdikoakKendu := sEsaldia; end; procedure HitzakErakutsi(sEsaldia: tKateLuze); var sHitza: tKateLuze ; k, iNon: integer; begin writeln('#####HitzakErakutsi prozedura barruan#####'); sEsaldia := sEsaldia + ' '; k := 1 ; iNon := pos(' ', sEsaldia); while iNon <> 0 do begin sHitza := copy(sEsaldia, 1, iNon-1); delete(sEsaldia, 1, iNon); // writeln(k, ' itzulian, delete ondoren#####', sEsaldia,'#####'); writeln(k, '. hitza#####', sHitza,'#####'); k := k + 1; iNon := pos(' ', sEsaldia); end; end; {---------------------Programa nagusia---------------------} var sEsaldia, sEsaldiBerri1, sEsaldiBerri2, sEsaldiBerri3: tKateLuze; begin clrscr; write('Sarrerako esaldia eman: '); readln(sEsaldia); writeln('===>', sEsaldia, '<==='); writeln; sEsaldiBerri1 := fnsAurrekoakKendu(sEsaldia); writeln('===>', sEsaldiBerri1, '<==='); writeln; sEsaldiBerri2 := fnsAtzekoakKendu (sEsaldiBerri1); writeln('===>', sEsaldiBerri2, '<==='); writeln; sEsaldiBerri3 := fnsErdikoakKendu (sEsaldiBerri2); writeln('===>', sEsaldiBerri3, '<==='); (* esaldi barruan hitzak zuriune bakarrez banaturik daude *) (* hitzak esalditik banatu, horretarako zuriuneak bilatu *) writeln; HitzakErakutsi(sEsaldiBerri3); writeln; writeln('======================='); writeln('RETURN sakatu amaitzeko'); writeln('======================='); readln; end.
iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.