Mi lehet a probléma ilyenkor?
17. oldalon lévő feladatot akarom megírni.
[link] így néz ki most, a rendezés még hiányzik belőle, de nem is az a bajom, mostani randomizálás szerint olyan eredményeket kapok, azok olyanok, hogy tizedmásodperc már mindenhol 0. Perc, másodperc még oké, ha átírom a randomizálást
t[j,i]:=(random(4100)+6000)/100; -ra akkor ugye jelez, hogy nem jó az adattípus, mert ez törtet eredményez. ezt a hibaüzenete kapom:
race.pas(20,11) Error: Incompatible types: got "Extended" expected "LongInt"
a kurzor pedig az egyenlőség jel utánra ugrik. a hibaüzenet nem azt jelenti, hogy LongInt szükségeltetik Extended helyett? ez így fura, mert LongInt alapból. Na nemfontos, átírom a t tömb-öt Extended-re, akkor ez a sor hibádzik.
sum[i]:=sum[i]+t[i,j];
hibaüzenet:
race.pas(37,17) Error: Incompatible types: got "Extended" expected "LongInt"
és a kurzor a + on van, ezek szerint nem lehet hozzáadni, igen mert a sum tömb nem kezel törtet, ha átírom azt, extended-re akkor meg megint más hibádzik.
Ez mindig így van és nem értem miért.. mert most már ott tartok, hogy minden változóm kezeli a törtet, mégis baj van, miért ??
Köszönöm szépen annak aki elolvassa és segít nekem. :)
A hibaüzenet (Error: Incompatible types: got "Extended" expected "LongInt") azt jelenti, h nem kompatiblis típus, Extended típust kapott és Longint-et várt. Tehát Longint-hez nem adhatsz hozzá egy extended értéket, illetve longint-ben nem írhatod egy osztás eredményét csak simán, mindenféle átalakítás nélkül.
A tizedmásodperceid pedig azért nullák, mert a random a nálad alkalmazott megoldásban egész értéket generál, ha Kicseréled erre ( t[j,i]:=random(40)+59+random; ) és a t tömböd nem longint típusú lesz, hanem mondjuk single, vagy extended, akkor lesz tized és századmásodperced is.
Vess egy pillantást erre: [link]
Azt hiszem, jól működik. Nincsen benne típus keveredés, meg semmi ilyesmi. Free Pascal alatt lett tesztelve.
megelégeltem, újraírtam az egészet.
a kommentek pascal idióta kódolása miatt olyanok. Tényleg, van erre valamiféle megoldás? Hogy pl egy mezei jegyzettömb is szépen jelenítse meg az ékezetes karaktereket is? Gondolom pascalban kell átállítani a kódolást, van erre lehetőség ?
Most olvasom a tied, valóban, hülyeség az új verzióm is, mert egyszerűbb az összidőt rendezni, majd a kiíratásnál osztogatni stb. Érettségin minden rohadt perc számít :S:D
köszi.
Szia, az első két hozzászóló, vagyok :).
"Tényleg, van erre valamiféle megoldás? Hogy pl egy mezei jegyzettömb is szépen jelenítse meg az ékezetes karaktereket is? Gondolom pascalban kell átállítani a kódolást, van erre lehetőség ?"
Ez a hiba abból adódik, hogy windowson a grafikus felület és a karakteres felület eltérő karakterkódolást használ. A legegyszerűbb megoldás, ha nem használsz ékezeteket, vagy nem a Pascal gyári IDE-jét használod (bár így programod által kiírt szövegeknél fog jelentkezni a probléma, ha kiírás előtt nem alakítod át őket).
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!