Ú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! -
Protezis
őstag
Röviden a működése: megszámolja a betűket a fájlban, lefoglalja a memóriát, majd egy ciklusban betölt egy sor egy string változóba, és végighalad a karakterein. Ha betű vagy -, akkor eltárolja egy tömb string elemének megfelelő pozicióján. A nagy ciklus a fájl végéig megy.
Itt a forrás a jobb áttekinthetőség kedvéért:
Bővebben: link
[Szerkesztve] -
-
Protezis
őstag
válasz VladimirR #385 üzenetére
Na átnéztem a progidat, és világos
Nem tudom miért, de mindig mindent túlbonyolítok. Tavaly csináltam egy számológépet, ami RÓMAI számokkal működött. Tudta a 4 alapműveletet, ill. az eredményt fel tudta használni a következő számolásnál. Asszem 30000 környékén száll el, de ki ír be 30 db M betűt?? :
A tanár visszaírja e-mailben, hogy ez hogy műkszik? Mert ő nem érti, de mivel gyors voltam, 13 pontot kaptam a 15-ből -
Protezis
őstag
válasz VladimirR #387 üzenetére
Hát tényleg nem értem
Leszedtem az exe-t, mellette csináltam egy RENDEZ.IN fájlt, beleírtam, hogy alma
A végeredmény: RENDEZ.OUT, tartalma semmi
Kezdem lámának érezni magam
Már egy programot se tudok normálisan futtatni
Ja igen, free pascal. De akkor nem ott van a bibi.
[Szerkesztve] -
Protezis
őstag
válasz VladimirR #390 üzenetére
Sajna az fpc parancssori fordító, legalábbis én így tudom, és ezért is használom. Debug szvsz nincs benne. kipróbáltam in fájl nélkül, természetesen akkor hibaüzivel leállt. NEM NEM NEM ÉRTEM!
Milyen oprendszered van? Nálam sp2 van, nem lehet, hogy az zavar be?
Gondoltam már az írási jogra is, de rendszergazdaként vagyok bejelentkezve, szal az is van
Aki megfejti, meghívom egy sörre, feltéve hogy lejön Szegedre -
Protezis
őstag
LOL
Dévényi bácsinak tök mindegy mit használunk. Linux alatt fogják fordítani a progikat, fpc-vel, de lehet megnézik még Kylixxal, meg még valamivel.
Amúgy én Műszaki Informatika szakos vagyok.
Az fpc-t meg azért használom, mert gyors és egyszerű használni. Tavaly TP volt a menő, most ez
Ja, ha linux alatt nem fordul, akár a windows és linux alatt eltérő sorvégi karakterekből adódóan, 0 pont. Csak a forrás 7 pontot ér, ha teljesen jó, és szintaxisdiagrammot is kell rajzolni. I Love Devenyi!! -
Protezis
őstag
válasz Cicalány #401 üzenetére
Én nem ezt fogom beadni, hanem vagy folytatom a sajátomat, vagy csinálok egyet újból. Először én is lánccal csináltam, csak zat nem teljesen értettem, de mostmár szerencsére nagyjából értem.
Amúgy ha ugyanazt adnánk be, valszeg nem u.a a gyakvezérünk.
De még ha u.a is, nekem haver, szóval nem érdekelné -
Protezis
őstag
khalox:
VladimirR: mondtam, hogy nem a tiedet fogom beadni! Cicalány meg majd eldönti. Bár szerintem 7 gyakorlati óra (2 órás egy óra) alatt ilyen szintig nem igazán lehet eljutni, főleg úgy, hogy első kettön linuxoztunk, azóta minden 2. órán 15 perces ZH. Meg azt is hozzáteszem, hogy némi előnyöm van Cicalánnyal szemben, ugyanis én már másodszorra vettem fel a kurzust DE remélem utoljára. -
Protezis
őstag
válasz VladimirR #431 üzenetére
Én tavaly progalap gyakon a lehetséges 60 pontból 45-öt szereztem, ami szerintem nem olyan rossz. Ennek ellenére vizsgán nem sikerült összeszednem a 21 pontot
És tényleg szóról szóra azt kéri, amit leadott. Pedig szerintem a programozásnak nem ez a lényege. Nemrég a linuxos zh előtt feldobtam a fórumra, hogy aki nem akar felrakni linuxot, de szeretne gyakorolni, az próbálja ki a sulixot. Erre minden linuxfan a torkomnak esik. Mondván a win így szar, úgy szar. Én meg normálisan válaszoltam, hogy a win is lehet stabil, és a linux is le tud fagyni. Rá 2-3 napra hallom a haveromtól (gyakvezér), hogy Dévényi az egész fórumot elküldte nekik, hogy nézzék meg, és mellékelte, hogy aki win/linux hitvitát kezdeményezett, az nem baj, ha nem megy át félév végén. Bár jónéhány smiley volt a levélben, ez az ember hasonló levelet - hasonlóan sok smileyval - küldött egy évvel ezelőtt, melynek a tartalma: Most buktattam meg 150 embert.
Azóta nem írok semmit se a fórumra, nem szeretnék ilyen köcsögségek miatt megbukni. Nem mintha a tavalyi nem lett volna az. -
-
Protezis
őstag
Na kész a progim.
Tegnap sikerült megértenem a lánckezelést VladimirR programjából, és utána teljesen egyedül megírtam. COOL!
Csak ne kéne szerkezeti ábrát is rajzolni -
Protezis
őstag
Leteszteltem a Microsoft server 2003 eulájával - mivel az angol - és jónak tűnik
Kb 6-7 mp a futási idő, proci 100%-on. A gáz az, hogy a végén több szabad memóriám van, mint az elején
Hopp, és most látom, hogy kvázi-tag lettem
[Szerkesztve] -
Protezis
őstag
Bővebben: link
Bővebben: link
Egy linuxos!! leszedné őket, és futtassa már le! Semmi vírus az életemre!
Csinál egy ki.txt-t, és abban abc sorrendben kell lennie a szavaknak!
Pls! win alatt jó, linuxon ssh-n belépve meg nem rendezi sorba! Thx! -
Protezis
őstag
Egyrészt a forrást azért nem akarom közzétenni, mert ez egy kötelezőprogram, amit sok más embernek is meg kell oldania, és nem szeretném, ha utána azért kapnék 0 pontot, mert másnak is u.a volt a forrása. Másrészt a be.txt-t, és a programot egy könyvtárba kell tenni, és elindítani a programot. A be.txt-ben található szavakat kell kigyűjtenie, és abc-be rendezve a ki.txt-tbe írnia. Ha kicsit feljebb is olvasol pár hozzászólást, láthatod, hogy erről elég sokat beszélgettünk.
De ha gondolod, neked elküldöm mailben a forrást, és akkor átbogarászva eldöntheted, hogy trójai -e, vagy sem.
Minderre azért van szükség, mert inuxon nézik meg a program futásást, nekem meg nincs feltelepítve linuxom, a sulixom meg otthon van. A suli szerverén távolról! sikerült lefordítanom, nem sajnos a sorbarendezést nem csinálta meg. Ezért lenne jó, ha egy linuxon lefuttatná valaki.
[Szerkesztve] -
Protezis
őstag
El se hiszem. Most meg mi a baja? Win alatt jól műkszik.
Elegem van ebből az egész linuxból, már megbocsásson az egész linux/unis közösség.
Meg persze a köcsög tanáromból.
Esetleg nem tudod, mi lehet a baj? Vagy nem vágod a pascalt?
Azt nem értem, hogy ha lefordul, és lefut tökéletesen mindkét rendszeren, akkor miért nem u.a a kimenet. -
Protezis
őstag
Végigmész a string betűin. Ha az x. betű u.a mint a keresett szó 1. betűje, akkor bemész egy ciklusba, ahol összehasonlítod az x+1-et a keresett 2. betűjével, és így végig a keresett szó uccsó betűjéig. Ha megvan benne, akkor növeled a számlálót, és ugrasz a string 2. betűjére. Ha nincs, ugyancsak.
-
Protezis
őstag
Function kicsi2nagy (szoveg: string): string;
var
i: integer;
tarolo: string;
begin
for i:=1 to length(szoveg) do
if ((szoveg>='a') and (szoveg<='z')) then
tarolo:=chr(ord(szoveg)-(ord('a')-ord('A')))
else
tarolo:=szoveg;
kicsi2nagy:=tarolo;
end;
Így csináltam meg. Viszont erre a bemenetre nem jó:
hurka!]a kocsi derival''+ favago: 3 5=sok
kimenet:
derival a favago hurka kocsi sok
[Szerkesztve] -
Protezis
őstag
Csak azt nem értem, hogy miért nem tölthetem fel a stringemet indexelve
Linux alatt ugyanis rossz volt, a hozzáfűzéssel meg jó.
Szvsz az indexelős változat is szabványos dolog. Ekkora sz@rt, hogy ugyanazzal a compilerrel (FreePascal) win alatt jó, linux alatt meg rossz. Ép ésszel fel nem tudom fogni.
(az indexelés azért nem látszik, mert [ i ]-t dőltnek értelmezi a PH.) -
Protezis
őstag
válasz VladimirR #513 üzenetére
Soha nem tenném
Így utólag összehasonlítottam a te progidat, meg az enyémet, és látom, hogy néhány helyen sikerült túlbonyolítanom . Az elve u.a., mivel a tiédből értettem meg a láncot, utána nem nagyon tudtam tőle elszakadni De legalább én írtam, nem copyztam semmit!
Mail ment!
Új hozzászólás Aktív témák
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- TCL LCD és LED TV-k
- Samsung Galaxy S23 Ultra - non plus ultra
- exHWSW - Értünk mindenhez IS
- Sorozatok
- Apple iPhone 13 mini - miért nem veszik elegen?
- Yettel topik
- gban: Ingyen kellene, de tegnapra
- Horgász topik
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- További aktív témák...
- Lenovo T61 T400-T470s V110-15ISK Asus UX303U HP 6470b 840 G3 bontás:akksi dokkoló töltők stb
- Acer aspire 3 Laptop,Szép állapotban,Intel Silver N5030 ,4gb,Ram,2 hónap garancia
- Klotz dupla Jack 6.3 audiokábel 3m
- DELL Latitude bontás E5420 30 E5530 E6320 30 E6420 30 40 E5440 50 70 80 90 E7440 50 70 80 90E7240 70
- iPad 9. gen. 64GB Wifi - (Space Gray, Silver) - Csak 1-1db!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen