- Motorola ThinkPhone - gondold végig kétszer!
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Fotók, videók mobillal
- Xiaomi 15T Pro - a téma nincs lezárva
- iPhone topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Yettel topik
- Okosóra és okoskiegészítő topik
- Xiaomi 14T - nem baj, hogy nem Pro
- One mobilszolgáltatások
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
Új hozzászólás Aktív témák
-
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]
Új hozzászólás Aktív témák
- Honor X7b 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÖNERŐ NÉLKÜL, 12 RÉSZLETRE ELITRO PC BANKMENTES KAMATMENTES RÉSZLETFIZETÉS
- Telefon felvásárlás!! Samsung Galaxy S23/Samsung Galaxy S23+/Samsung Galaxy S23 Ultra
- LG 35WN75C-B - 35" Ívelt VA - 3440x1440 - 100Hz 5ms - USB Type-C 60W - AMD FreeSync - HDR 10
- GYÖNYÖRŰ iPhone 11 Pro 256GB Midnight Green -1 ÉV GARANCIA - Kártyafüggetlen, MS2048, 96% Akksi
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest