Hirdetés
- Kormányok / autós szimulátorok topikja
- OLED monitor topic
- AMD Navi Radeon™ RX 9xxx sorozat
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Apple MacBook
- Vezeték nélküli fülhallgatók
- Autóhifi
- iPad topik
Új hozzászólás Aktív témák
-
Protezis
őstag
Nah nekem is ez a kötprogom

az én progim elszáll vhol, bár a rendezés nincs még benne.
Lehet egy kicsit túlbonyolítottam:
Program kotprog;
Type
mutato = ^tomb;
tomb = array [0..10000] Of string;
Var
szo: mutato;
szohossz: integer;
function betuszamlalof(filenev: string) : word;
var
szoveg: text;
tmpszoveg: string;
db: integer;
begin
assign(szoveg, filenev);
reset(szoveg);
db:=0;
while not eof(szoveg) do
begin
readln(szoveg, tmpszoveg);
db:=db+length(tmpszoveg);
end;
betuszamlalof:= db;
end;
function szokeres(filenev: string; szohossz: integer): mutato;
var
szo: mutato;
szoveg: text;
sor: string;
i: byte;
betuszamlalo: longint;
ujszo: boolean;
szoszamlalo: longint;
mem: word;
begin
assign(szoveg, filenev);
reset(szoveg);
{Megszámoljuk a betuszamlalo fügvénnyel a szövegfájlban található karakterek számát,
és lefoglalunk akkora memóriát, amekkorára maximálisan szükségünk van.
Ha a fájlban minden páros sorszámú helyén 'szemét' karakter van és minden páratlanadik helyén
betű, vagy kötőjel, akkor n db karakter esetén (n div 2)+1 szó (jó karakter) van a szövegben.
(Így ezek mindegyike 1 betűből áll)}
mem:=((betuszamlalof('be.txt') Div 2) + 1)*szohossz;
GetMem(szo, mem);
betuszamlalo:=-1;
szoszamlalo:=0;
ujszo:=false;
while not eof(szoveg) do
begin
readln(szoveg, sor);
for i:=0 to (length(sor)-1) do
begin
if ((sor[i+1]>='a') and (sor[i+1]<='z')) or ((sor[i+1]>='A') and (sor[i+1]<='Z')) or (sor[i+1]='-') then
begin
szo^[szoszamlalo][i-betuszamlalo]:=sor[i+1];
ujszo:=true;
end
else
begin
betuszamlalo:=i;
if ujszo then
begin
szoszamlalo:=szoszamlalo+1;
ujszo:=false;
end;
end;
end;
end;
szokeres:=szo;
end;
Begin
readln(szohossz);
szo:=szokeres('be.txt',szohossz);
writeln(szo^[0][1]);
End.
A hiba fpc-vel fordítás után:
Runtime error 5 at 0x0040106A
0x0040106A
0x0040119E
0x00401235
Bocs a hosszú hozzászólásért!
Új hozzászólás Aktív témák
- Honor X6a 128GB, Kártyafüggetlen, 1 Év Garanciával
- Dell Precision 7560 - Intel Core i9-11950H RTX A4000 32GB 1TB SSD FHD
- HIBÁTLAN iPhone 13 Pro 128GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3667 100% Akkumulátor
- Konzol felvásárlás!! Playstation 5, Playstation 5 Pro
- STANDARD Setup! Már kamatmentes rèszletre is! Èrdeklődj!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő



