Hirdetés
- Samsung Galaxy A17 5G – megint 16
- Poco F8 Ultra – forrónaci
- Samsung Galaxy Watch5 Pro - kerek, de nem tekerek
- Örömkönnyek és üres kezek a TriFold startjánál
- Milyen robotporszívót vegyek karácsonyra? (2025)
- Töltő már van a Galaxy S26 Ultrához
- Milyen okostelefont vegyek?
- Bekerül az Apple Pay és Google Pay a Budapest GO alkalmazásba
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Vivo X300 - kicsiben jobban megéri
Új hozzászólás Aktív témák
-
VladimirR
nagyúr
-
VladimirR
nagyúr
válasz
richardCHEF
#1765
üzenetére
mod a maradekkepzes
neked valami ilyesmi kell:
ha x mod 4 = 0, akkor ezt ir ki, egyebkent azt ir ki -
VladimirR
nagyúr
válasz
Jester01
#1761
üzenetére
egen, pontosan az ord char tipust var parameterkent
alitak: a megoldas, ahogyan jester is irta, valami ilyesmi: x := ord( a[1] );
ez csak az a elso karakteret adja at az ord fuggvenynek, s asszem, igy mar char tipusu lesz
a val egy string-ben levo szam valoban szamma alakitasara szolgal
fejbol pontosan nem tudom, de asszem ugy megy, hogy az elso parameterben levo string-et elkezdi az elejen nezni, es amig nem talal nem szamjegy karaktert, addig szepen pakolja a aszamjegyeket a masodik parameterkent kapott szam (asszem csak egesz elhet) valtozoba, a harmadik parameterben pedig visszaadja az elso nem szamjegy karakter poziciojat (de ezt a help ugyis leirja pontosabban)
valahogy igy mukodik (s:string, x, code:word):
s := '123asdf';
val( s, x, code );
ekkor s marad, ami volt, x felveszi az 123 erteket, a code pedig 4 lesz, mert a 4. az elso nem szamjegy karakter -
VladimirR
nagyúr
a funkcio megkapja a tomb-ot, es visszateresi ertekkent az atlagot adja vissza
azt, hogy mi legyen a fuggvenyen belul, fentebb mar N!tRo leirta
ehh, de lassu vagyok (lehet nem artana frissiteni, mielott irok)
N!tRo: de, ugy aakrta, hogy az egy tomb, csak i az index (*latszik is, hogy utana dolt a szoveg)
[Szerkesztve] -
VladimirR
nagyúr
a ciklusmagban ez legyen:
tomb[ i, j ] := ( i - 1 ) * 3 + j;
es ellenorzeshez is hasznalhatsz eg ugyanilyen ciklust
nyert := true;
for i := 1 to 3 do
for j := 1 to 3 do
nyert := nyert and tomb[ i, j ] = ( i - 1 ) * 3 + j;
a nyert boolean valtozo itt igazzal kezd, s amig a cellkban megfelelo ertek van, igaz is marad
ha egy cellenal nem egyezik a vizsgalt ertek azzal, amivel kell, akkor a nyert erteke hamis lesz es a tovabbiakban is az marad -
VladimirR
nagyúr
mint Sportman is irta, hasznalj egy 3x3-as tombot, amiben a tabla aktualis allasat tarolod
a 8-as elem jobbra mozditasahoz a fuggveny annyit kell tegyen, hogy atrakja a tomb[3][2] elemet a tomb[3][3] elembe, a tomb[3][2] elemet pedig uresnek jeloli (pl 0-t tesz bele)
azt, hogy epp melyik elemen vagy, a kurzor aktualis poziciojabol (wherex, wherey fuggvenyek), illetve abbol, hogy hova rajzoltad a tablatki tudod szamolni
persze minden mozgatas utan ujra kell rajzolnod a mozgatott elem kiindulo es erkezesi cellajat (vagy ha jobban tetszik, irhatsz egy eljarast, ami az egesz tablat ujrarajzolja a tomb ertekei alapjan)
ezen kivul figyelned kell meg egy billentyut, ami kapcsolokent mukodik - egy logikai valtozot billent at leutesre, amely valtozo erteketol fugg, hogy csak a kurzort mozgatod, vagy az alatta levo mezo tartalmat is -
VladimirR
nagyúr
válasz
MIFtIli
#1645
üzenetére
eloszor is azert, mert megeshet, hogy kapasbol kepernyopn kivulre teszi
nem veszed figyelembe, hogy nem csak egy karaktert mozgatsz, hanem egy szoveget, aminek hossza van, igy a jobb oldali utkozes vizsgalatakor ne azt nezd, hogy az x koordinata egyenlo-e 80-nal, mert akkor egesz addig ''kimegy'' a kepbol, mig az elso karakter el nem eri a kep szelet
masodszor pedig a cikluson belul ne x+1 es y+1 legyen, illetve az y elojelet valtoztasd, ha elerted a kepernyo szelet - jo fel indultal, mert az x koordinata vizsgalatakor jot hasznaltal, az i valtozot, viszont az utana jovo 3 sort imho elnezted
harmadszor pedig, mielott az uj koordinatakra teszed a szoveget, a regi helyere irj a szoveg hosszaval azonos mennyisegu space-t, igy nem fog maga utan ''csikot'' huzni a felirat
negyedszer pedig ne writeln-t hasznalj, jo lesz a sime write is - semmi szukseged soremelesre -
VladimirR
nagyúr
a kurzormozgato nyilak es hasonlok nem vezerlokarakterek
az ascii tabla elso 32 karakteret nevezik vezerlokarakternek, mint pl (a teljesseg igenye nelkul):
0 (00): NULL
7 (07): BEL (csengo)
8 (08): BS (backspace)
9 (09): TAB (tabulator)
10 (0A): LF (soremeles)
13 (0D): CR (kocsivissza)
27 (1B): ESC (escape)
a masik, amit belekevertel azok a billentyukodok, mint pl (a teljesseg igenye nelkul):
8 (08): backspace
9 (09): tabulator
13 (0D): enter
27 (1B): escape
32 (20): space
48 (30): 0, )
57 (39): 9, (
97 (61): a, A
122 (7A): z, Z
de vannak olyan billentyuk is, melyekhez ket elemu kod tartozik, mint pl (a teljesseg igenye nelkul):
0, 59 (0, 3B): F1
0, 68 (0, 44): F10
0, 133 (0, 85): F11
0, 134 (0, 86): F12
0, 75 (0, 4B): balra
0, 77 (0, 4D): jobbra
0, 72 (0, 48): fel
0, 80 (0, 50): le
0, 71 (0, 49): home
0, 79 (0, 4F): end
elobbiek (ascii kod) segitsegevel kiirni tudsz a kepernyore (illetve vezerlo karakterek nem jelennek meg, azoknak valami funkciojuk van, mint pl sort emel, sipol), utobbiak (billentyukodok) pedig a billentyuzetrol valo olvasasnal hasznalatosak
a ketelemu kodokat arrol lehet felismerni, hogy minden esetben 0-val kezdodnek es a 0-t mindig koveti valamilyen masik kod, maganban nem allhat
ilyen ketjegyu kodok tartoznak egyebkent a modositobillentyukkel egyutt leutott billentyukhoz is (pl.: 0, 104 (0, 68): alt + F1) -
VladimirR
nagyúr
válasz
Wizardmon
#1423
üzenetére
minden tipusu valtozo arra valo, hogy taroljuk az adatokat
viszont nem lehet mindent eltarolni ugyanabban a 3 valtozoban (egy integer., egy real, meg egy string) - azaz lehet, csak vert izzadsz, mire megvalositod
bonyolultabb feladatok megoldasahoz (teszemazt egy korhazi kartotekrendszer, ahol a beteg kulonfele adatait kell tarolni) szukseges a bonyolultabb adatszerkezet hasznalata (hogy a valos adatoknak megfeleloen mindent el tudjunk tarolni, kesobbi felhasznalas celjabol)
ilyenkor jon jol peldaul a rekord, ahol minden egyes rekord egy beteg adatait tarolja - minden adatat, mint ahogy a korhazi kartonodon is van (ott figyel rajta a nev, bekerules ideje, kortortenet, kezeloorvos neve, orvossagok, datumok, vercsoport)
es igen, ahogy haladsz a programozassal, ugy valik majd egyre bonyollultabba, a kezdeti egyszeru programokat, ahol szepen sorban kovetik egymast az utasitasok, majd felvaltja a strukturalt programozas, ahol fuggvenyeket, eljarasoikat hasznalsz, kesobb pedig esetleg az objektumorientalt programozas
en azt javaslom, picit lassits le, eloszor az alapokat ertsd meg, az egyszeru adattipusokat (egeszek, lebegonpontos szamok, string-ek, logikai valtozok, majd ha ezek mar mind mennek, akkor a tombok, rekordok, s legvegul a pointerek) -
VladimirR
nagyúr
válasz
Wizardmon
#1419
üzenetére
ezzel definialsz uj adattipust, a mar meglevokbol
mint irtad, lehet felsorolt, tomb, rekord, de lehet barmilyen adattipus
tegyuk fel, hogy neked olyan adattipusra van szukseged, amiben egyutt tudod tarolni valakinek az adatait, mint pl nev, cim, szuletesi datum, suly, magassag
ehhez a legjobb, ha csinalsz egy rekord-ot es minden szemely adatait egy kulon rekordban tarolod
type adatlap=record
nev : string[80];
cim : string[80];
szul_dat : string[8];
szuly : real;
magassag : byte;
end;
ezzel csak az adattipust hoztad letre, a valtozot meg nem, azt itt is meg kell tenni, pl.:
var user1, user2 : adatlap;
vagy lehet az adatlapokat tomb-ben tarolni:
var users : array[1..100] of adatlap;
elobbi esetben egyszeruen user1.nev, user2.cim formaval hivatkozol a rekord elemeire, utobbiban pedig users[1].nev, users[2].cim formaban
de ettol egyszerubb pelda, hogy a fentebb hasznalt 80 karakter hosszu szoveg tarolasara alkalmas tipust hozunk letre:
type s80 = string[80];
amit aztan igy tudsz hasznalni:
var s : s80; -
VladimirR
nagyúr
1: igaz, valoban kerdes volt - mindemellett mondd, hogy nem az volt mogotte, hogy ''hat nana hogy persze hogy dehogynem'' - mellesleg ki fogsz rohogni/le fogsz nezni, de igy, nev alapjan halvany sejtesem sincs, hogy az operatoroknak mije az a precedencia es mire jo - azon kivul, hogy jolhangzo kifejezes, amivel lehet dobalozni
2: igen - kozvetlen utana irtam azt is, hogy dehogy tanulok, csak kinezem, ami eppen kell
3: nc utani reszt nem is igazan olvastam el, onnan kezdve nem igazan lattam ertelmet a vitanak
ami a megvilagosodasomat illeti, koszonom megvagyok segitseg nelkul is - pl azt is tisztan latom, hogy neked van egy (nem feltetlen teljesen helytelen) elkepzelesed a programozas oktatasarol/tanulasarol es ehhez minden aron ragaszkodni akarsz
lehet meg fogsdz lepodni, ha most azt mondom neked, hogy az operator overloading-ot (szinten jol hangzo kifejezes, amivel lehet dobalozni), az oo-t, az adatbaziskezelest szinte tisztan kodbol, peldakon keresztul tanultam meg (legalabbis hasznalni - aztan ahhoz, hogy a hianyzo lukakat betomjem, mar kellett olvasgatnom is)
az igazi problemam leginkabb az, hogy lehuztad szinte az egesz forumot - egy reszet azert, mert kerdez (es nem egy teljesen kezdo kerdezget itt), masreszt valahol azokat is, akik segitik oket
en pl orulok, ha segiteni tudok valakin, akinek az ismeretei hianyosabbak meg az enyeimnel is - nem azert, mert varok erte valamit, nem azert, mert ettol erzem magam okosabbank, egyszeruen jol esik, hogy segithettem
jonehany topic-ot mar otthagytam, ezt nem szeretnem, ez valamiert kedves nekem - ha nem tetszik, hogy itt teljesen kezdok is kerdezgetnek, azt javaslom menj valami pascal experts forumra, ott egesz biztos nem fogsz ilyen esetbe belefutni (hozzateszem, van, hogy nekem sincs kedvem valaszolgatni, ilyenkor egyszeruen elsiklok a kerdesek felett - vagy be sem nezek a topic-ba)
szek.: off
[Szerkesztve] -
VladimirR
nagyúr
1: altalanossagban kijelentetted (pont) - megcafoltam (pont) - egyebkent igen, kezdonek is max az adattipusok, szelekciok es iteraciok erejeig javaslom a konyvet
2: nem is kell, hogy megtanitson - fogjuk ram, hogy tudok programozni (egyebkent igen sokat tanultam angster erzsebet turbo pascal a..z konyvebol, ami gyakorlatlag a pascal _sugo_janak forditasa)
4: milyen nc? te allitottal hulyesegeket
Jester01: ha mar menozunk, bemasoljam milyen jatekot irtam reszegen? (masnap is mukodott ;p)
[Szerkesztve] -
-
VladimirR
nagyúr
válasz
Rickenstein
#1380
üzenetére
?
-
VladimirR
nagyúr
válasz
Wizardmon
#1369
üzenetére
amikor kezdoerteket adsz a valtozoidnak
tehat az nem eleg, hogy letrehozod a valtozot (tombot), kell neki adni valami erteket is, hogy ne 0-k, vagy a memoriaban talalt szemet legyen benne
pl.:
var i, j: byte;
x: array[ 1..3, 1..3 ] of byte;
begin
for i := 1 to 3 do
for j := 1 to 3 do
x[ i, j ] := i * 10 + j;
[...]
end.
ekkor a tomb elemeinek elso szamjegye ez egyik, masodik szamjegye a masik dimenzio index-e lesz -
VladimirR
nagyúr
bahh, nem eleg, hogy megelozol, de raarasul olyannyira, hogy ketszer is beirtad, mig en csak egyszer ;p
egyebkent aprosag ugyan, de amit en hasznaltam (borland pascal 7) az ugy remlik nem nullazott semmit, azokat az ertekeket irta ki, amiket epp a memoriaban talalt
szerk.: lol, mar megint megeloztel
[Szerkesztve] -
VladimirR
nagyúr
válasz
Wizardmon
#1362
üzenetére
sorba irja, de ez nem a tomb elemeit irja ki, hanem a kovetkezot:
111213212223313233
ha a tomb elemeit akarod kiiratni, akkor:
write( x[ i, j ] );
ha azt akarod, hogy tablazatos legyen, magad kell megoldanod, pl.:
for i := 1 to 3 do
for j := 1 to 3 do begin
if j = 3 then
writeln( x [i, j ] : 4 )
else
write( x[ i, j ] : 4 );
end;
a write-ban a : 4 arra valo, hogy igy 4 karakter szelessegu helyet tart fenn a kiirandfo erteknek (byte eseteben ugye 3 a max szamjegy (0-255), es szep igy tablazatos format fogsz kapni)
1 2 3
1 2 3
1 2 3
azaz majdnem, ugyanis neked minden hulyeseget fog kiirni, mivel nem inicializaltad a tombot -
VladimirR
nagyúr
{$I-}
append( file );
{$I+}
if ioresult <> 0 then begin
{$I-}
rewrite( file );
{$I+}
end;
bar nem tudom, lehet delphi alatt van ra fuggveny, pascal alatt a I direktiva kapcsolgatasaval, es az ioresult valtozoval lehetett jatszani (mindkettorol kimeritoen ir a sugo, en meg csak azert nem, mert reg hasznaltam) -
VladimirR
nagyúr
ezzel pont az a baj, hogy igy nem fogod tudni megkulomboztetni a felfele nyilat a mittudomen melyik betutol
en ezt hasznalnam
ch:=readkey;
if ch=#0 then begin
ch2:=readkey;
if ch2=#59 then {akarmi};
if ch2=#60 then {akarmi};
if ch2=#68 then {akarmi};
end;
if ch=#8 then begin
gotoxy(wherex-1,wherey);
write(' ');
gotoxy(wherex-1,wherey);
end;
if ch=#27 then begin
{esc, kilepes}
end;
if ch>=#32 then {magjelenitheto karakter}
-ahol {akarmi} van, ott lusta voltam megnezni, hogy mi is az adott billentyu
-a backspace pontatlan, csak akkor jo, ha nem log at a kurzor uj sorba (csak kimasoltam, es megritkitottam a kodot, most lusta vagyok pontosabbat adni)
ezzel mar egyertelmuen meg lehet kulonboztetni az egy, es a ket byte kodu karaktereket egymastol, s mindkettohoz rendelhetoek muveletek, eljarasok, fuggvenyek
[Szerkesztve] -
VladimirR
nagyúr
mint Gyuri16 is irta, lehet, hogy bennmaradt a buffer-ben egy enter meg korabbrol
en ezt a kovetkezokeppen szoktam kikuszobolni
while keypressed do readkey;
es ezt a readkey ele jel := readkey ele tennem be
ez annyit csinal, hogfy barmit, ami a buffer-ben van, ksizedi onnan, es eldobja (pontosabban tarolas nelkul kiolvassa), s csak ezutan kezdi figyelni, hogy kerul-e valami (pl az altalad vart esc) a buffer-be
[Szerkesztve] -
VladimirR
nagyúr
lof*szt a s*ggedbe
[Szerkesztve] -
VladimirR
nagyúr
-
VladimirR
nagyúr
válasz
#72042496
#1245
üzenetére
extended is csak 19-20 szamjegyig pontos
10-esbo, hatosba nem lenne gaz, ott nem kell tarolni az eredmenyt, de visszafele alakitashoz (asszem) letre kell hoznod egy masik tombot a 10-es szamrendszer beli eredmeny szamara, amin tudsz sorzast, es osszeadast vegezni
beolvasas:
uses
crt;
var
i : byte;
ch : char;
darabszam : byte;
szamjegyek : array[1..60] of byte;
begin
darabszam := 0;
clrscr;
writeln( 'kerem a szamot: ' );
while keypressed do readkey;
repeat
ch := readkey;
if ( ch >= '0' ) and ( ch <= '6' ) then begin
inc( darabszam );
write( ch );
szamjegyek[darabszam] := ord( ch ) - 48;
end;
until ( ch = #27 ) or ( ch = #13 ) or ( darabszam = 60 );
writeln;
for i := 1 to darabszam do
write( szamjegyek );
end.
Bovebben: [link]
ez csak annyit csinal, hogy beolvas egy 60 jegyu 6-ois szamrendszer beli szamot
addig olvas, amig esc-et, vagy enter-t nem utsz, vagy a szamjegyek szama el nem eri a 60-at
[Szerkesztve] -
VladimirR
nagyúr
válasz
Tangerine
#1233
üzenetére
ha megnezed, az ups-nek nem adtam kezdoerteet, igy az elvileg (gyakorlatilag nem mindig) ures string-kenbt kezd, s hiaba toltod bele a karaktereket, a string hossza marad 0
ha a sztring-edet a hagyomanyos uton (tehat pl sztringosszefuzessel), nem pedig karakterenkent rakod ossze, akkor erre nincs szukseg, a string hossza (elso byte-ja) amutomatikusan megvaltozik
probald ki a fenti kodot az emlitett sor nelkul
(egyebkent ez az oka a string 255 karakteres hosszkorlatozasanak: egy byte-on nem tudsz nagyobb hosszt megadni
c-ben ezzel szemben ilyen korlat nincs, hisz ott nem tarolod a string hosszat a veget egy null ( \0 ) karakter jelzi
[Szerkesztve] -
VladimirR
nagyúr
válasz
norbiphu
#1232
üzenetére
egen, rajottem, ezert irtam, hogy ''eldoltek a betuid'', csak elsore nem tunt fel
az meg, hogy mit raksz a vegere, nekem edesmindegy, csak mivel szoba kerult (kerdesre valaszoltam) megemlitettem (mint mas is), hogy a readln kivaltasara valo
hatranya viszont, hogy emiatt be kell include-olnod a crt unit-ot, ami egyreszt megnoveli a binaris meretet, masreszt (en szoptam ezzel anno) regi programok eseteben uj gepen fordithattad ujra es/vagy pecselhetted meg a progikat a crt unit hibaja miatt
szoval az en maganvelemenyem az, hogy ha csak ennyire (meg kepernyotorlesre, ami itt szinten nem szukseges) hasznalnad, akkor hasznalata kerulendo -
VladimirR
nagyúr
válasz
Tangerine
#1227
üzenetére
behuzas: karakterekkel toltom fel a sor elejet (a nem torheto szokoz html kodja)
[i]-k: a szogletes zarojelen belulre valahova teszek egy [b][/b] kodot (itt is van mindkettoben, csak nem latszik), igy a forummotor nem alakitja at
aztan az egeszet jol letesztelem ezzel, hogy biztos jo legyen => Bovebben: [link] (hsz vege - ez itt a reklam helye
)
#1227: jo a readkey is (csak foloslegesen csak emiatt be kell include-olni a crt egyseget) -
VladimirR
nagyúr
válasz
Tangerine
#1225
üzenetére
de, mukodne igy is
az ups[0] := s[0] pedig azert kell, mert mivel uj valtozot hasznalok, be kell allitani annak hosszat
pascalban a c-vel ellentetben nem nullterminated stringek vannak, hanem a string elso byte-ja (0. index) tartalmazza annak hosszat
enelkul az ups hiaba tartalmazna a megfelelo karaktereket, ures stringet kapnank vissza, mivel a hosszat nem allitottuk be (esetleg a kivant string elejet, vagy az egeszet valami szemettel megtoldva, amennyiben a valtozot nem inicializaltuk, s az altala hasznalt memoriateruleten volt mar korabban adat, ekkor ugyanis a string hossza a 0. indexen levo karakterbol adodik, amihez ugye mi nem nyultunk hozza)
[Szerkesztve] -
VladimirR
nagyúr
gondolom azert a readkey, hogy lassa a program kimenetet
egyebkent irhatsz raja fuggvenyt, vagy eljarast
function strtoupper( s : string ) : string;
var
ups : string;
i : byte;
begin
for i := 1 to length( s ) do
ups[i] := upcase( s[i] );
ups[0] := s[0];
strtoupper := ups;
end;
[Szerkesztve] -
VladimirR
nagyúr
blablabla
if a then begin end;
blablabla
pont azert kerdeztem, mert en meg egyszer sem talalkoztam azzal, hogy szuksegem lett volna a nop utasitasra
feltetelnel egyebkent lehet egyszerubb lenne ugy, hogy ha azt akarod, hogy:
if a then nop else valami;
ahelyett csinalsz inkabb olyat, hogy
if not a then valami
[Szerkesztve] -
VladimirR
nagyúr
arra, hogy az emlitett jatekokat nem ismered, egyetlen mentseged lehet, megpedig a korod - ha elmultal mar 18 eves, akkor megbocsajthatatlan bun, hogy ezeket kihagytad, de mindenkeppen potlando hianyossag, mitobb, meg tanulhatsz is belole, adhat otleteket
Szakadt csoves => Bovebben: [link]
Revenge on School => Bovebben: [link]
Revenge on Police => Bovebben: [link]
Revenge on Army => Bovebben: [link]
agyelszivas => Bovebben: [link] -
VladimirR
nagyúr
válasz
#16741888
#978
üzenetére
csinalsz egy rekordot az auto adataival, es ket mutatoval
-egyik mutato mutasson a lista legelso elemere, masik a lista kovetkezo elemre (az utolsonal a kovetkezore mutato legyen nil)
-egyik mutato mutasson az elozo, masik a kovetkezo elemre (elso elemnel az elozore, utolso elemnel a kovetkezore mutato mutato erteke legyen nil (ezt reszletezem)
pelda1:
p_listaelem=^listaelem; (* ez lesz az alabbi rekor tipusu mutato *)
listaelem=record
marka:string
tipus:string;
szin:string;
rendszam:string;
gyartaseve:string;
prev:p_listaelem; (* ez mutat az elozo elemre *)
next:p_listaelem; (* ez mutat a kovetkezo elemre *)
end;
pelda2:
p_listaelem=^listaelem; (* ez lesz az alabbi rekor tipusu mutato *)
listaelem=record
marka:string
tipus:string;
szin:string;
rendszam:string;
gyartaseve:string;
first:p_listaelem; (* ez mutat az elso elemre *)
next:p_listaelem; (* ez mutat a kovetkezo elemre *)
end;
lista letrehozasa:
kell egy elem, es egy temp elem, amibe az adatfeltoltes tortenik, s amit majd a listahoz fuzol
var elem=p_listaelem;
temp=p_listaelem;
letrehozzuk, es feltoltjuk a listat (a beolvasas nincs benne):
for i:=1 to 30 do begin
(* marka, tipus, szin, rendszam es gyartaseve valtozok beolvasasa *)
new(temp); (* memoriafoglalas egy listaelem szamara *)
temp^.marka:=marka;
temp^.tipus:=tipus;
temp^.szin:=szin;
temp^.rendszam:=rendszam;
temp^.gyartaseve:=gyartaseve;
if i=1 then (* ha az elso elemet hozzuk letre, vagyis a listank meg ures, nincs aktualis eleme *)
temp^.prev:=nil; (* akkor az elozore mutato mutato legyen nil *)
else begin (* egyebkent *)
temp^.prev:=elem; (* az elozo legyen az aktualis elem *)
elem^.next:=temp; (* az aktualis elem kovetkezoje pedig legyen a jelenlegi *)
end;
temp^.next:=nil; (* mivel jelenleg nincs kovetkezo elem, ezert az legyen nil *)
elem:=temp; (* legyen az ujonnan letrehozott elem az aktualis *)
end;
ugras a lista elejere (addig megyunk, amig nem lesz elozo elem):
while elem^.prev <> nil do
elem:=elem^.prev;
ugras a lista vegere (addig megyunk, amig nem lesz kovetkezo elem):
while elem^.next <> nil do
elem:=elem^.next;
listaelem beszurasa az aktualis elem moge:
new(temp); (* memoria foglalasa az uj listaelemnek *)
temp^.prev:=elem; (* az uj elem elott levo a jelenlegi elem lesz *)
temp^.next:=elem^.next; (* az uj elem utan a jelenlegi elemet koveto elem lesz *)
temp^.prev^.next:=temp; (* az uj elem elott levo elemnek megmondjuk, hogy az uj elem lesz mogotte (tudom, hulyen hangszik) *)
temp^.next^.prev:=temp; (* az uj elem utan jovo elemnek megmondjuk, hogy az uj elem lesz elotte (tudom, ez is) *)
a program vegen illik (kvazi kotelezo) torolni a listankat, felszabaditva ezzel a memoriat:
ehhez eloszor a lista elejere (vagy vegere) kell allnunk (fentebbi kod), es sorbamenni az elemeken, majd mindet torolni
ha elol allunk a kovetkezokeppen torlunk (ha a vegen, akkor a next, es a prev ertelemszeruen felcserelendo)
while elem^.next <> nil do begin
temp:=elem; (* fogjuk az aktualis elemet *)
elem:=elem^.next; (* majd az azt kovetot tesszuk aktualissa *)
dispose(temp); (* vegul felszabaditjuk az elem altal foglalt memoriat *)
end;
mivel ezzel nem toroljuk az utolso elemet (aminel ugye a next nil volt), ezert azt kulon kell torolnunk
dispose(elem);
erdemes egyebkent a tesztelesi szakaszban a program elejen es vegen is megszamolni a szabad memoriat
program elejen:
size:=memavail;
program vegen:
writeln;
writeln(size);
size:=memavail;
writeln(size);
ha a ket ertek nem egyezik, akkor valami gubanc van a kodban: vagy tobb elemet hoztunk letre, mint amennyivel szamoltunk es vagy emiatt, vagy az esetlegesen a torlesnel levo hibabol adodoan kevesebbet toroltunk, mint amennyi van
ekkor erdemes lepesenkent ellenorizni a memoriameretet
megnezzuk, hogy mekkora egy
sizeof(elem);
majd a letrehozas utan is lekerdezzuk a szabad memoriat, es ebbol kivojnuk az elemek szamanak, es azok meretenek szorzatat, es ekkor meg kell kapnunk a kezdetbeni szabad memoria meretet
remelem tudtam seginteni, amr eleg reg pascaloztam, de akkor ugyahogy mentek ezek a dinamikus listak
ha valami kellene meg, vagy ebbol nem tiszta valami (pedig erot vettem magamon, es kommenteztem is), akkor kerdezz nyugodtan
peldaprogi itt => Bovebben: [link] -
VladimirR
nagyúr
esetleg megnezi a tizes alapu logaritmusanak felfele kerekitett erteket
RAM: ko egy pecs a crt unit-hoz, meg van egy progi, amivel a mar leforditott progikat lehet megjavitani - crt unit hasznalata eseteben van csak gaz (runtime error 200 - division by zero)
Bovebben: [link] (nemtom ebben mi van benne, hirtelen gugliztam)
[Szerkesztve] -
VladimirR
nagyúr
kodot nem irok, mert egyreszt ugy nem tanulsz, masreszt lusta vagyok eloturni a pascalt (ez a nyomosabb ok)
a lenyeg az, hogy elindulsz a kep bal felso sarkabol, a jobb also fele, es vegignezel minden pixel-t, a kovetkezokeppen:
-ha az adott pixel tavolsaga az x1,y1 ponttol kisebb, mint r1 (ahol x1,y1 az elso kor kozeppontja, r1 annak sugara)
-es ha az adott pixel tavolsaga a x2,y2 ponttol kisebb, mint r2 (ahol x2,y2 az elso kor kozeppontja, r2 annak sugara)
akkor:
-az adott pont-ot fessuk valamilyen szinure
-noveljuk a szamlalot
ez azt eredmenyezi, hogy azok a pontok, amik mindket korben benne vannak kapnak egy szint, illetve tudni fogod ezen pontok szamat
remelem tudtam segiteni -
VladimirR
nagyúr
pascal nem igazan nyujt lehetoseget keresesre, magadnak kell megirnod
beolvasol egy string-et, es pos (asszem) fugvennyel meg tudod nezni, hogy egy adott karaktersorozat elofordul-e benne...ha igen, akkor a kezdopoziciojat adja vissza, ha nem, akkor 0-t
tehat a keresendo szavakkal raengeded ezt a pos fgv-t a string-re
if (pos(mit1, miben) > 0) then
talalat = true;
if (pos(mit2, miben) > 0) then
talalat = true;
es ezt beteszed egy ciklusba, ami vegigmegy a file minden egyes string-jen
vagy valami hasonlo, attol fuggoen, hogy pontosan hogyan, mire keresel.... -
VladimirR
nagyúr
tp fizetos, abbol imho nem talalsz
freepascal? Bővebben: link -
VladimirR
nagyúr
válasz
gyuszmok
#650
üzenetére
1:
procedure kiir(mit:string);
begin
writeln('ezt irtad: '+mit);
end;
procedure beolvas(var mibe:string);
begin
write('irjal be valamit: ');
readln(mibe);
end;
s: string;
begin
beolvas(s);
kiir(s);
end.
2:
var tomb:array[1..15] of string;
i: byte;
begin
for i:=1 to 15 do
tomb[i]:='ez a tomb'+i+'. eleme';
for i:=1 to 15 do
writeln tomb[i];
end.
[Szerkesztve] -
VladimirR
nagyúr
válasz
[HUN]Zolee
#625
üzenetére
ajanlom mindenkinek a figyelmebe Angster Erzsebet turbo Pascal 6.0 'A'..'Z' konyvet
az elejen van egy kis ez, meg az, ciklusok, elagazasok, tipusok, aztan sorra veszi a fobb junitok fuggvenyeit
gyakorlatilag egy leforditott pascal help, de nagyon jol hasznalhato, valahova masoltam is belole a filekezelessel kapcsolatban -
VladimirR
nagyúr
nem, boven nincs benne ez az elso 30 oldalban, de meg 40 oldalasokban is csak a tartalomjegyzek utan
ez nem resze a dolognak, igen keves konyv celja a fuggvenyek bemutatasa, sokkal inkabb helyezi a hangsulyt arra, hogy hogyan kell programozni, s nem arra, hogy ehhez milyen figgvenyek allnak rendelkezesunkre
utobbira utt a sugo, abbol elo lehet turni az ilyeneket (persz a dos-os tp sugolya erre nem a legjobb, mert csak fgv nev alapjan tudsz benne keresni) -
VladimirR
nagyúr
válasz
[HUN]Zolee
#613
üzenetére
round?
pl.: q:=round( 220+20*b); -
VladimirR
nagyúr
válasz
Darth_Revan
#599
üzenetére
valami olyasmi kell neked, hogy egy tombbe felveszed a cimleteket (20 000, 10 000, 5 000, 2 000, 1 000, 500, 200, 100, 50, 20, 10, 5, 2, 1), meg van egy masik tomb, amiben azt szamolod, hogy az adott cimletekbol mennyi kell, aztan bekered a szamot
ezutan van egy hatultesztelo ciklusod, ami azt nezi., hogy a szam mikor lesz nulla (ekkor kilep belole), ezen belul pedig egy eloltesztelo (belepesi feltetel: az input szambol megmaradt resz, nagyobb, mint az aktualis cimlet), ami az adott cimlettel csokkenti az input szamot, es felir egy darabot az aktualis cimlethez
ehhez az kell, hogy van egy valtozod, ami azt mutatja, hogy epp melyik cimletrol van szo (ennek megfeleloen vonsz le a belso ciklusban az input szambol, s ez alapjan irsz fel 1-1 darabot az eppen aktualis cimlethez), ezt a belso cillusbol valo kilepes (vagy bele sem lepes) utan noveled egyel
ha vege a kulso ciklusnak (vagyis kileptel belole), akkor a ket tombnek megfeleloen ki tudod iratni, hogy mely cimletekbol mennyi szukseges -- ha gondolod leirom az algoritmust es programot is szivesen, de inkabb ez alajan probald meg magad elkesziteni -
VladimirR
nagyúr
tipusok:
text -> szoveges file, sorokat tudunk bele ini/olvasni (irni lehet stringet is, akar tobbet is egy sorba)
file -> tipus nelkuli file, blokkokat irunk/olvasunk
file of xxx -> tipusos file, ahol xxx lehet szinte barmely tipus
eljarasok:
assign(var f, name:string)
f allomany tipusu valtozohoz (logikai allomanyhoz) hozzarendeli name fizikai allomanyt. a logikai allomanyra vonatkozo minden tovabbi muvelet name fizikai allomanyra vonatkozik. a kapcsolat a program vegeig tart, hacsak egy ujabb assign eljarassal nem rendelunk a logikai valtozohoz egy masik fizikai allomanyt. name tartalmazhat teljes utvonalleirast is, hossza maximalisan 79 karakter lehet. name azonosithat dos periferiat is: con, lpt1 (=prn), lpt2, lpt3, com1 (=aux), com2, nul. ha name ures karakterlanc, az eljaras f-hez a con periferiat rendeli
*nyitott allomanyra nem szabad hasznalni
append(var f: text) (A kettőspont és a ''t'' közé nem kell space, de a fórummotor smiley-vá alakította, ezért tettem. Bash)
megnyitja irasra az f szoveges allomanyt es az allomany aktualis poziciojat az allomany vegere allitja - a kovetkezo irasok bovitik az allomanyt. ha az allomany nyitva volt, akkor az eljaras bezarja, majd ujranyitja azt. amennyiben az utolso 128 bajtos blokkban volt allomanyvegjel (^Z, vagyis #26 karakter), akkor az aktualis pozicio az elso ilyenre all. f allomanybaltozot elozoleg az assign eljarassal egy letrezo fizikai allopmanyhoz kell rendelni. ha f-hez az ures karakterlancot rendeljuk, akkor az iras a szabvanyos b/k eszkozre (con) tortenik. $I- eseten az ioresult figgvennyel a nyitas eredmenye lekerdezheto
reset(var f [ :file; recsize:word)
megnyitja az assign eljarassal elozoleg f-hez rendelt, letezo fizikai allomanyt es az allomanymutatot az allomany elejere allitja (filepos(f)=0). ha az allomany ures (0 hosszusagu, illetve szoveges allomany eseten az elso karakter a ^Z), akkor eof(f)=true. ha f szoveges tipusu, akkor csak olvasni lehet az allomanybol, mig tipusos es tipus nelkuli allomanyok irhatoak es olvashatoak is lesznek az eljaras hivasa utan. tipusnelkuli allomanyok eseteben megadhato a rekordmneret is recsize parameterben, ha nem adjuk, meg, 128bajt lesz. ha f allomanyvaltozohoz ures karakterlancot rendeltunk, akkor az input allomanyt nyitja meg - ez az inicializalo reszben automatikusan megtortenik a program inditasakor. ha az eljaras nyitott allomanyra alkalmazzuk, akkor azt automatikusan lezarja az ujranyitas elott. $I- eseten az ioresult fuggvennyel a nyitas eredmenyessege lekerdezheto
rewrite(var f [ :file; recsize:word)
ha az assign eljarassal elozoleg f allomanyvaltozohoz rendelt fizikai allomany meg nem letezik, letrehozza azt es szoveges allomany eseteben irasra, tipusos es tipus nelkuli allomany eseteben irsra es olvasasra megnyitja. ha a fizikai allomany mar letezik, akkor elobb torli annak tartalmat. az allomanymutato az allomany elejere all (filepos(f)=0) es az allomany ures lesz (filesize(f)=0). ha f allomanyvaltozohoz ures karakterlancot rendelunk, akkor az output allomanyt nyitja meg irasra - az az inicaializalo reszben automatikusan megtortenik a program indulasakor. tipus nelkuli allaomanyok eseten a recsize parameterret a rekordmeret adhato meg, egyebkent az 128 bajt lesz. $I- eseten az ioresult fuggvennyel a nyitas eredmenyessege lekerdezheto
close(var f) lezarja az elozoleg reset, rewrite, vagy append eljarassal; megnyitott f logikai allomany. lezaras elott meg a pufferben maradt adatokat kiirja az allomanyba, a katalogust aktualizalja. vegul felszabaditja az allomanyhoz tartozo kezeloszamot (dos handle) tovabbi felhasznalas celjara. a muvelet eredmenyessege $I- mellett az ioresult fugvennyel lekerdezheto
(volna meg legalabb ennyi, de most lusta vagyok begepelni, ha keritek beirom a tobbit is)
forras: Angster Erzsébet - Kertész Lászóo: Turbo Pascal 6.0 'A' .. 'Z' -
VladimirR
nagyúr
aloszinuleg azert mukodik a program maga, mert ennek a nagybetusitesnek eleg ritkan van szerepe
mint Te is irtad: ''Az ''Asztal alma'' és a ''telex Telefon'' rész gyanús...'' - a tobbi azonban rendben volt, hisz a tobbi mind kisbetus szo
viszont ami igazan erdekes, az az hogy a masik peldaban (a derivalos bemenet) nincs is nagybetu
meg lenne meg egy olyan keresem, hogy nezz mar ra erre a kodra: Bővebben: link
mindenkinel hibas eredmenyt ad, kiveve nalam (mondjuk nalam is csak akkor, ha a bp ''fejlesztokornyezetebol
'' futtatom ctrl+f9-cel, a kesz exe nekem sem ad jo eredmenyt) 
kosz -
VladimirR
nagyúr
válasz
Protezis
#511
üzenetére
el tudnad kulkdeni a forrast, vagy akar csak a nagybetusitest vegzo reszletet? (bar jobb lenne a teljes, mert erdekel, hogy ha soronkent futtatom, akkor mit latnek)
mert van egy olyan gyanum, hogy miutan a tarolo nevu valtozot feltoltotted betukkel, nem allitottad be a 0. karaktert, vagyis a string hosszat - igy a az osszehasonlitast nem lehetett elvegezni, s kvazi veletlenszeruen kapod a kimenetet
na azert veletlenszeruen megsem, hisz a memoriaban ott maradnak az ertekek, s ennek koszonhetoen egymas utan tobbszor futtatva mindig ugyanazt kapod
igazan nem mondhatod, hogy a kotprogodat akarom behuzni![;]](//cdn.rios.hu/dl/s/v1.gif)
[Szerkesztve] -
VladimirR
nagyúr
graphdetect szvsz nem kell, helyette hasznalhatod igy:
gd := VGA;
gm := VGAHI;
initgraph( gd, gm, 'path\bp\bgi );
errorcode := graphresult;
if errorcode <> 0
then exit
else begin
[...]
end;
a [...] helyere megy a program - ugye egyeb esetben nincs grafikus felulet, szoval az igaz agra max egy hibauzenet mehet (komolyabb proginal esetleg bekerheted az egavga.bgi helyet)
a billentyufigyeles meg valahogy igy nez ki:
if (keypressed) and (readkey=0)
then case readkey of
75 : balra;
77 : jobbra;
80 : fel
72 : le;
end;
azert kell az elso feltetel, mert a nyilakhoz ket kod van, amibol az elso 0, s a masodikat csak akkor kerdezed, ha ez teljesul (maskulonben lehetne billentyukkel is iranyitani, pl: H=fel) -
VladimirR
nagyúr
az en 7-es borlan pascalomban nincs ilyen, de a nevebol itelve levag valamit (ha z tipusa string, akkor nagy valoszinuseg szerint az esetleges szokozoket tavolitja el a z elejerol es vegerol)
hol van ez es mi z tipusa?
Crab: bar ezek kozul egyik konyvvel sem talalkoztam, Angster Erzsebet konyveit igen jonak tartom -
VladimirR
nagyúr
kicsit modositani kellett rajta, mert a fenti kod az egyjegyu romai szamokkal bajban van (ugyanis a ciklus csak 2-ig szamol vissza), az utana levo feltetel meg nezne a masodik elemet
if tmp[2]<=tmp[1]
then szam:=szam+tmp[1];
if length(s)=1
then szam:=tmp[1];
romai2arab:=szam;
ugyanis egyjegyui szamnal, ha a 2. tombelemnek nagyobb volt az erteke, mint az egyetlen beallitott ertek, akkor erdekes dolgokat irt ki (ugye a tombben letrehozasakor minden hulyeseg van, s ezekkel dolgozott)
a dolt betus resz beszurasa utan mar ez az ertek nem szamit, mert egyjegyu szam eseten felulirja a kimeno erteket a helyes eredmennyel
[Szerkesztve] -
VladimirR
nagyúr
hat ebben 2 hibat latok igy hirtelen
-tmp[j-1] tovabbra is nemletezo tombelemre hivatkozik, hisz j felveszi az 1 erteket is
-if j<>0 mindig igaz erteket ad, hisz j egy pozitiv egesz szamrol csokken 1-ig, s tovabb nem, igy soha nem lesz nulla
en mashogy oldottam meg:
i:=length(s);
while i>=2 do
begin
if tmp[i]>tmp[i-1]
then begin
szam:=szam+(tmp[i]-tmp[i-1]);
dec(i,2)
end
else begin
szam:=szam+tmp[i];
dec(i);
end;
end;
if tmp[2]<=tmp[1]
then szam:=szam+tmp[1];
romai2arab:=szam;
[Szerkesztve] -
VladimirR
nagyúr
ahogy en latom a problemat, nincs is szukseg a tomb 0. elemere
sokkal inkabb at kell dolgozni a ciklusokat es a feltetelekt
ha emlekeim nem csalnak meg (leven eleg reg tanultam mar a romai szamrendszert), akkor ilyen prefix ertek (pl I a V elott) maximum egy lephet fel, s csakis es kizarolag ilyen esetben koveti a kesebb elemet a nagyobb
tehat ha arra jutsz, hogy a j-edik elem nagyobb, mint a j-1-edik, akkor a j-1edik elemet nem kell vizsgalnod, hanem egybol ugorhatsz a j-2-ra, igy inkabb mast kellene hasznalnod a lepteto ciklus helyett
tovabba nem kell vizsgalnod az utolso elem eseteben, hogy az elotte levo milyen, hisz nincs elotte semmi, tehat a ciklus menjen a jobbrol az elso elemtol a balrol a masodikig
szerintem -
VladimirR
nagyúr
a for j:=i downto 1 do utolso koreben (j=1-nel) a tmp tomb nem letezo elemere hivatkozol: if (tmp[j]>tmp[j-1]) (if (tmp[1]>tmp[0]) then), ezert az else agra ugrik
csinald ugy a tombot, hogy 0. elem is van es abba tegyel megfelelo erteket, vagy ird at a felteteleket
jobban megnezve mas baj is van a ciklussal
ha a bemenet IV, akkor egyszer hozzaadja a szamhoz az 5-1-et, aztan kovetkezo korben az 1-et
[Szerkesztve] -
VladimirR
nagyúr
válasz
Cicalány
#454
üzenetére
majd megcsinalom este a kommenteket rendesen (ugyanis mikor atirtam a lancolt lista kezeleset, eyg kicsit osszekeveredtek a kommentek) --- az talan segit valamit, de mindenesetre azt javaslom, hogy addigis probalj itt (Bővebben: link) szetnezni a rendezesi algoritmusok teren (gugli dobta ki, de ha beirod a rendezes nevet, akar meg jobb leirast is talalhatsz)
-
VladimirR
nagyúr
azt nem ismerem, abbol megbuktam
![;]](//cdn.rios.hu/dl/s/v1.gif)
Protezis: az elso alkalom ramentem vizsgazni, s nekem sem lett meg (s ahogy hallottam senkinek sem - s azert erdekes, hogy 100 emberbol egy sem eleg a 21 ponthoz) - masodikra sikerult, de boven 12 felett voltam
Cicalany: nem az elvezeten mulik, inkabb anyagi okai vannak (szigoruan maganvelemeny)
khalox: progabol ugy tudom nem volt szobeli (volt viszont 3 irasbeli lehetoseg)
[Szerkesztve] -
VladimirR
nagyúr
válasz
Protezis
#430
üzenetére
ezert nem er semmit ez a targy (illetve az elmelet az egesz jo lenne, de devenyi hulyesegenek hala - hogy szorol szora azt az algoritmust keri vissza, amit leadott - az is gaz) - nem t'om, hogy most hogy van, de tavaly a felev alatt vettuk (vettek a tobbiek) at a pascal es a c alapjait - aki addig nem tudta, az utana sem - es kulon vicc, hogy minek linuxon, hisz a tobbseg meg nem is latott olyat - allitolag azert, hogy proga-n a linux, architecturan meg a win alapjait tanulja meg a nep, de ez vicc
btw nekem is van egy kis elonyom: 11 eve programozok pascalban
khalox: oda jarok
(mondjuk mar 2. evfolyam, a kotprogom tavaly c-ben volt, aknakereso, a tanar gepen linuxon nem hogy nem futott, de megcsak le sem fordult - cirka ~50 hibat irt ki a fordito - ennek ellenere maxpontos lett
) -
VladimirR
nagyúr
válasz
Cicalány
#426
üzenetére
hibauzenetet ir ki a program? mert ha igen (mivel nincs lejkezelve, ezert runtim error-t kellene dobnia), akkor nem tud file-t letrehozni (talan nincs irasjoga)
a z (/pub/home/users) meghajton probald, azon van mindenfele jogod
es kevesebb kerdojelet plz
khalox: mit? hova?
[Szerkesztve] -
VladimirR
nagyúr
nem a rendezessel volt a gond, hanem a listaval - kicsit atrendeztem, igy mar elvileg jo
forras kommentekkel: Bővebben: link
leforditott exe: Bővebben: link
pelda input: Bővebben: link
pelda output: Bővebben: link - egy ugyanilyen tartalmu, pelda.out file kellene, hogy letrejojjon
_Petya_: milyen ''sorvegjeles marhasag''?
[Szerkesztve] -
VladimirR
nagyúr
válasz
Protezis
#411
üzenetére
khalox: nekem benne van a zokni, mint az a rendez.sam (Bővebben: link) fileban latszik is
es ha a rendez.in csak alma (enter meg minden nelkul, vagyis 4 byte), akkor a kimenetben ott van az alma
egyebkent az lm^.next nem nil, mert ha megnezed, akkor a lanc vegen mindig egy ures elem all - marmint ugy ures, hogy az ''utolso'' lm^.s nem kap erteket
szerk.: hatultesztelo ciklus nem jo, mert akkor csak az ugras utan ellenorizne, hogy amire ugrik, az nil-e es akkor mar nem tudna rola visszafele menni
[Szerkesztve] -
VladimirR
nagyúr
válasz
Cicalány
#402
üzenetére
mint fentebb irtam, az csak debug uzenet, mert hulye vagyok, de ha hibatlan lesz majd kiveszem
neked sem csinal egy rendez.out file-t? abban kellene lenni a rendezett kimenetnek
legujabb verzio: Bővebben: link
debug verzio: Bővebben: link - csak azoknak, akiknek a masik nem ir semmit a rendez.out-ba -
VladimirR
nagyúr
válasz
Protezis
#391
üzenetére
ezt nezd meg:
itt legalabb egy ilyen kellene lenni a kimeneti file-ban: ---
forras kommentekkel: Bővebben: link
leforditott exe: Bővebben: link
pelda input: Bővebben: link
pelda output: Bővebben: link
egyebkent angol xpsp2, borland pascal 7.0
[Szerkesztve] -
VladimirR
nagyúr
válasz
Protezis
#389
üzenetére
hat ezt nem ertem

jo lenne, ha masok is tesztelnek a programot, hogy kideruljon melyikunknel van a hiba
esetleg probald meg soronkent futtatni es az lm^.s valtozo erteket debug/watch ablakban figyelni
btw a forrasban frissitettem a kommenteket
forras kommentekkel: Bővebben: link
leforditott exe: Bővebben: link
pelda input: Bővebben: link
pelda output: Bővebben: link - egy ugyanilyen tartalmu, pelda.out file kellene, hogy letrejojjon
[Szerkesztve] -
VladimirR
nagyúr
válasz
Protezis
#386
üzenetére
az fpc az freepascal-t takar? en bp7-tel dolgozom es felraktam a leforditott .exe-t is a forras melle, kerlek nezd meg azzal is (es a forrast is erdemes ujra leszedni, mert belekerultek a kommentek)
forras kommentekkel: Bővebben: link
leforditott exe: Bővebben: link
a lancolt listamat ne nagyon nezegesd, mert szerintem megoldhato egyszerubben is - szerintem tulbonyolitom (szokasom) -
VladimirR
nagyúr
válasz
Protezis
#384
üzenetére
semmi? nekem egy alma-t beleir (attol meg bug, mindjart utanajarok, de addig is nezd meg az eredeti feladatkiirasban levo peldainputtal, en azzal teszteltem, arra jo)
a kepernyore kiirassal meg ne torodj, azt mindjart kiszedem - csak debug info, mert lame vagyok
szerk.: megvan a hiba, ha az utolso karakter hasznalhato (kisbetu/nagybetu/kotojel), akkor az utolso szo lemarad - mindjart javitom
JAVITVA
Na kesz vannak a kommentek is, az elgepelesekert es a helyenkent erthetetlen szovegelesert elnezest
[Szerkesztve] -
VladimirR
nagyúr
neh itt a teljes progi: megeri idonkent megnezni, mert meg csak most fogom kommentelni - Bővebben: link -jah es valaki mondja mar meg, hogy a lancolt listat miert bonyolitom ennyire tul?
fontos: habakezeles nincs benne - a leforditott exe melle kell tenni a bemeno adatokat egy rendez.in nevu file-ba a kimenet pedig egy rendez.out nevu file lesz - ha a bem,eneti file hianyzik, akkor runtime error![;]](//cdn.rios.hu/dl/s/v1.gif)
Új hozzászólás Aktív témák
- Apple asztali gépek
- urandom0: Száműztem az AI-t az életemből
- Kertészet, mezőgazdaság topik
- Milyen processzort vegyek?
- Real Racing 3 - Freemium csoda
- Call of Duty: Modern Warfare III (2023)
- Az SK Hynix elárulta, hogy meddig nem lesz elég memória
- SörcsaPH!
- EU-s vám vethet véget a nagyi temus vásárlási lázának
- sziku69: Szólánc.
- További aktív témák...
- Dell Latitude 5430 14" Touchscreen i5-1235U 16GB 256GB 1 év garancia
- Mac Mini M4 AZONNAL 16GB 256GB 1 év gar
- BESZÁMÍTÁS! ASROCK B650M R7 8700F 32GB DDR5 1TB SSD RX 7900XT 20GB Be quiet Pure Base 500FX EVGA750W
- Motorola Edge 40 / 8/256 GB / Kártyafüggetlen / 12Hó Garancia
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest
)
![;]](http://cdn.rios.hu/dl/s/v1.gif)


'' futtatom ctrl+f9-cel, a kesz exe nekem sem ad jo eredmenyt)




