Zdravím, chtěl bych Vás poprosit o radu.
Naprogramoval jsem tento program
program retezce;
uses vyskyt;
var danyText: string; co: char;
begin
writeln('Tento program Vam vypise, kolikrat se dane pismeno, ktere si zvolite,');
writeln('ve Vami zvolenem retezci pismen vyskytuje + na jakem miste stoji ');
writeln('prvni a posledni znak tohoto typu');
writeln;writeln;
writeln('Zadejte znakovy retezec: ');
readln(danytext);
writeln;writeln;
writeln('Zadejte pismeno, ktere chcete vyhledat: ');
readln(co);
writeln('Pismeno je zde: ',PocetVyskytu(danyText,co));
writeln('Toto pismeno: ',co,' je zde na: ',PrvniVyskyt(danyText,co),' miste.');
writeln('Toto pismeno: ',co,' je zde na: ',PosledniVyskyt(danyText,co),' miste od konce.');
end.
a tento modul k němu
unit Vyskyt;
interface
function PocetVyskytu(danytext: string; co: char): integer;
function PrvniVyskyt(danyText: string; co: char): integer;
function PosledniVyskyt(danytext: string; co: char): integer;
implementation
function PocetVyskytu(danytext: string; co: char): integer;
var index, pocetShod: integer;
begin
index:=1;
pocetShod:=0;
while index<= length(danytext) do
begin
if danyText[index]= co then
inc(pocetShod);
inc(index);
end;
PocetVyskytu:=pocetShod;
end;
function PrvniVyskyt(danyText: string; co: char): integer;
var index:integer;
begin
index:=1;
while index<= length(danyText) do
begin
if danyText[index] = co then break;
inc(index);
end;
if index<= length(danyText) then PrvniVyskyt:=index else
PrvniVyskyt:=0;
end;
function PosledniVyskyt(danyText: string; co: char): integer;
var index:integer;
begin
index:=length(danyText);
while index >0 do
begin
if danyText[index] = co then break;
dec(index);
end;
PosledniVyskyt:= index;
end;
end.
Vše funguje jak má, kromě výpis, na kterém místě je poslední zvolený znak, vypisuje mi to první a ne poslední. Děkuji za rady.