Výpis hodnoty z funkce – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Výpis hodnoty z funkce – Pascal – Fórum – Programujte.comVýpis hodnoty z funkce – Pascal – Fórum – Programujte.com

 

kozomelec
~ Anonymní uživatel
8 příspěvků
11. 3. 2013   #1
-
0
-

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.

Nahlásit jako SPAM
IP: 178.255.169.–
KIIV
~ Moderátor
+43
God of flame
11. 3. 2013   #2
-
0
-

a pro jaky text? Protoze nevracis pozici od konce, ale od zacatku ... treba mas prvni a posledni vyskyt na stejne "pozici" kdyz si reknes "tolik znaku od konce"

napriklad   'abcdcba' by dalo prvni vyskyt b na 2 a posledni vyskyt na 6...  (coz je pozice od zacatku ne od konce)

Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
kozomelec
~ Anonymní uživatel
8 příspěvků
11. 3. 2013   #3
-
0
-

#2 KIIV
Jsem trotl, děkuju za objasnění, máš pravdu, jen já jsem debil...

Nahlásit jako SPAM
IP: 178.255.169.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Výpis druhé hodnoty stringu — založil Montezo

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý