program v pascale...help

Programovacie jazyky, rady, poradňa...
l0tr1k
Amateur
Amateur
Príspevky: 16
Registrovaný: 13 mar 2006, 22:27

program v pascale...help

Príspevok od používateľa l0tr1k »

pls pomozte mi s tymito programmi..

1)Napíšte program, ktorý načíta vetu ukončenú bodkou a vypíše počet znakov a počet medzier vo vete.

2)Napíšte funkciu, ktorá zistí počet výskytov znaku „c“ reťazci.
inkognitto
Star
Star
Príspevky: 653
Registrovaný: 21 júl 2005, 12:25
Bydlisko: pjj

Príspevok od používateľa inkognitto »

toto je len to jadro.

for x:= 1 to length (slovo) do begin
if slovo[x]=" " then y:=y+1;
end;
writeln ('pocet medzier vo vete je:',y);

+na pocet znakov sluzi prikaz length
//edit (audiotrack): uz som dlho nepisal v pascale :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

ale namiesto úvodzoviek treba dať apostrofy
l0tr1k
Amateur
Amateur
Príspevky: 16
Registrovaný: 13 mar 2006, 22:27

Príspevok od používateľa l0tr1k »

diki..ale ja som skor chcel ako spravim aby mi vypisalo pocet znakov tie medzery som uz raz robil
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

Uff tak pascal som dost dlho nevidel, no nieco taketo by malo ist:
Pocet znakov c:
for x:= 1 to length (veta) do begin
if (slovo[x]='c') then y:=y+1;
end;
writeln ('pocet znakov c vo vete je:',y);
_______________________________________________

A tie znaky mam ako chapat? Su to vsetky znacky okrem medzery? Ak ano, tak ti staci vykonat prikaz: poc_znakov:=length(veta)-y; Pricom y je pocet medzier.
l0tr1k
Amateur
Amateur
Príspevky: 16
Registrovaný: 13 mar 2006, 22:27

Príspevok od používateľa l0tr1k »

ppt napísal:
A tie znaky mam ako chapat? Su to vsetky znacky okrem medzery? Ak ano, tak ti staci vykonat prikaz: poc_znakov:=length(veta)-y; Pricom y je pocet medzier.
heej no tak to mna vobec nenapadlo...diq za radu
l0tr1k
Amateur
Amateur
Príspevky: 16
Registrovaný: 13 mar 2006, 22:27

Príspevok od používateľa l0tr1k »

este by som potreboval jednu vec aby ste mi poradili...

uzivatel zada nejake viacciferne cislo do integeru...a ja by som potreboval jednotlive cifry dostat do pola - kazdu zvlast....diki
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Môžeš použiť niečo takéto:

Kód: Vybrať všetko

var a: array[1..10] of Integer;
var n: Integer;

n := 12345;

for i := 1 to 10 do
begin
  a[i] := n mod 10;
  n := n div 10;
end;
(alebo môžeš použiť while a testovať, či je n 0)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

alebo môžeš vstup brať ako reťazec, potom to pôjde for I:=1 to length(vstup) a pri vkladaní do poľa to prevedieš funkciou val na číslo ;)
možností je veľa
l0tr1k
Amateur
Amateur
Príspevky: 16
Registrovaný: 13 mar 2006, 22:27

Príspevok od používateľa l0tr1k »

diki..uz mi to ide
l0tr1k
Amateur
Amateur
Príspevky: 16
Registrovaný: 13 mar 2006, 22:27

Príspevok od používateľa l0tr1k »

pls potrboval by som este zistit jak prikaz mam pouzit ked chcem nahradit napriklad nejake slovo z textu inym slovom...nieco podobne ako prikaz pos ale ten nahradza len 1 pismeno....dik
piston
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 374
Registrovaný: 12 jún 2005, 20:27
Bydlisko: Bé-á
Kontaktovať používateľa:

Príspevok od používateľa piston »

ja mam tiez otazku z pascalu, ako mam spravit aby mi program vygeneroval nahodne pismeno z abecedy, predpokladam ze to bude nieco s ascii kodmy ale neviem ako na to :(
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

piston napísal:ja mam tiez otazku z pascalu, ako mam spravit aby mi program vygeneroval nahodne pismeno z abecedy, predpokladam ze to bude nieco s ascii kodmy ale neviem ako na to :(
Niečo takéto:

Kód: Vybrať všetko

c := char(random(26)+65);
piston
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 374
Registrovaný: 12 jún 2005, 20:27
Bydlisko: Bé-á
Kontaktovať používateľa:

Príspevok od používateľa piston »

dik moc, ja som zabudol davat pred random char.
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

l0tr1k napísal:pls potrboval by som este zistit jak prikaz mam pouzit ked chcem nahradit napriklad nejake slovo z textu inym slovom...nieco podobne ako prikaz pos ale ten nahradza len 1 pismeno....dik
Skus sa pohrat s funkciami DELETE a INSERT. Najdes si poziciu daneho slova v retazci, funkciou delete dane slovo zmazes a namiesto, kde to zmazane slovo zacinalo, tak vlozis pomocou funkcie insert nove slovo.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Taktiež sa dá použiť funkcia COPY.
l0tr1k
Amateur
Amateur
Príspevky: 16
Registrovaný: 13 mar 2006, 22:27

Príspevok od používateľa l0tr1k »

ppt napísal:Skus sa pohrat s funkciami DELETE a INSERT. Najdes si poziciu daneho slova v retazci, funkciou delete dane slovo zmazes a namiesto, kde to zmazane slovo zacinalo, tak vlozis pomocou funkcie insert nove slovo.
no aj tak mi to nejako nejde
IgiPoP
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 446
Registrovaný: 12 sep 2005, 8:17
Bydlisko: MT

Príspevok od používateľa IgiPoP »

v pascale som nerobil uz pekne roky, ale pokusil som sa urobit funkciu replace. je mozne, ze tam mam syntakticke chyby, preto dufam, ze ma kolegovia opravia.

Kód: Vybrať všetko

function replace(old:string, new:string, source:string):string
var len_old, posit:integer;
begin
  posit := pos(old, source);
  len_old := length(old);
  while posit <> 0 do
  begin
    delete(source, pos, len_old);
    insert(new, source, pos);
    posit := pos(old, source);
  end
  replace := source;
end;
pouzitie:

Kód: Vybrať všetko

text := 'toto je nejaky text.';
text := replace('nejaky', 'daky', text);
writeln(text); // toto je daky text
good luck.
Napísať odpoveď