271
Turbo Pascal
  • Brainermaister
    #191
    Ki próbáltam a példát de a reset-nél mindig a 3 hibát írja ugyan ugy írtam be mint ott le van írva de még a file helyét is megadtam.
  • ba32107
    #190
    Fájlkezeléssel megoldható. Leírás.
  • Brainermaister
    #189
    Hát ja vagy arra hogy meg ad mondjuk valaki egy nevet és azt feltölti amikor valaki más meg belép és frissíti a progit annak meg letölti és az is megjegyzi.
  • ba32107
    #188
    Fájlkezelésre gondolsz?
  • Brainermaister
    #187
    Még azt is meg szeretném kérdezni hogy olyat hogy lehet csinálni hogy ha valaki meg ad egy adatot az megmaradjon a programban vagy hogy a program feltöltse velehova ahonnan leszedi a többi vagy valami.
  • Brainermaister
    #186
    Ok kösz.
  • ba32107
    #185
    Igen, de nem gé hanem kú
  • Brainermaister
    #184
    Csak annyi kell hogy H:=sgrt(a);
  • ba32107
    #183
    sqrt() függvény
  • Brainermaister
    #182
    Ok a menüre már rá jöttem hogy hogy lehet megcsinálni már csak egy kérdésem van:
    Hogyan lehet négyzetgyököt vonni?
  • ba32107
    #181
    Az idevágó részt már beillesztettem, a többit felesleges elküldenem.
  • Brainermaister
    #180
    Ok akk nem tudnád átküldeni a te progidnak a .pas-ját csak a parancsok kellenének a szöveg meg a számítász meg ilyenek nem és akk ki következtetném hogy hogyan müködik.
  • ba32107
    #179
    Sokféle ilyen program van, én spec egyet se ismerek, keress rá google-ban.
  • Brainermaister
    #178
    Kösz a segítséget de nem nagyon használ a másik se. És ha ebben nem tudsz segíteni azt meg tudod e mondani hogy az .exe nek hogyan lehetne ikont adni ami minden gépen ugyan az lenne.
  • ba32107
    #177
    Látom eléggé megkavartalak a programrészletemmel. Asszem értem mit nem értesz, de én ezt most itt nem fogom tudni elmagyarázni. Még mindig azt mondom, hogy ne csinálj menüt, ha még azt sem tudod, hogy mi az a case. De ha mindenáron meg akarod csinálni, akkor rákattintasz az egyes linkre, amit adtam, és ott van nagy betűkkel az egyik cím hogy menü készítése. Bár az még bonyolultabb, mint az enyém....inkább olvasd végig az elejétől a tutorialt.
  • Brainermaister
    #176
    Azt nem mondtam hogy írd meg készre de a tiédnek akár az öszes parancsát meg adhatnád de a számítás, képlet, szöveg nem kellene bel és nem a gyakorlásnak szerintem vége mert már megírtam az összes ismert hasáb, síkidom felszinét térfogatát, kerületét, területét kűlön és ezeket szeretném egybe írni.
    Viszatérve a menühöz tehát az utolsó end után mit kéne írni? Újra begin aztán menu és közé a számítást meg ilyenek és ha igen akk hogyan tudja majd a progi hogy melyik az 1-es és a kettes.
  • ba32107
    #175
    Kész programot nem írok meg, de próbálok segíteni. Azért ír hibát, mert ez csak egy részlet volt az én programomból (olyan dolgokra is hivatkozik, ami itt nincs). A főprogramból hívd meg ezt a menu procedure-t. Miután beraktad a menüt, tegyél egy ilyet is:

    Begin
    menu;
    End.

    De mondom, ha ennyire kezdő vagy, akkor ne szórakozz a menüvel, hanem gyakorold az alapokat. Amúgy itt van két magyar tutorial:

    [URL=http://free-pascal.extra.hu/tutorial.htm]#1[/URL]
    [URL=http://users.atw.hu/hunigor/pascal_leckek.php]#2[/URL]
  • Brainermaister
    #174
    Megpróbáltam de nem nagyon megy megtudnád csinálni és átküldeni a pas.- ját. Ugyan azt beírtam a mit te de az utolsó end nél hibát ír ugyhogy nem nagyon megy.
  • Brainermaister
    #173
    Azt hogy case tényleg nem értem de a többit igen és kössz a segítséget majd akk próbálkozom a pacalban :).
  • ba32107
    #172
    A menüpontoknál ne csak azt írasd ki, hogy kilépés, hanem: "3 - Kilépés". Így a felhasználó tudja, ha 3-ast nyom, kilép a progi. Az a baj, hogy nem tudom, hogy egyáltalán érted-e, hogy miket írtam, pl. mi az a case.

    Ez a rész nálam:
    '1': beker(sz);
    '2': about;

    A beker és az about szintén procedúrák. Ha hasonlóan akarod megírni, akkor azt ajánlom, te is írj külön procedure-t a kerületnek, területnek. Mert ha rögtön ott dolgozod ki, akkor elég csúnya, átláthatatlan lesz. De ha mindenképp ott akarod, akkor begin-end közé kell tenni az utasításokat.

    Ha viszont ezt még nem érted, akkor azt ajánlom, hogy ne csinálj menüt, bőven elég gyakorlásnak maga a háromszögszámítás.

    (Persze szívesen segítek)
  • Brainermaister
    #171
    '1':
    writeln('Kerület sámítás');
    writeln('add meg az a');
    readln(b);
    Writeln('add meg a b-t);
    Readln.....
    valahogy így?
  • Brainermaister
    #170
    Hú ez bonyolult nak tünik tehátígy kéne kináznie az egésznek ha én egy háromszög kerületet, területet csinálok:
    program harom
    procedure menu;
    var
    a:char;
    begin
    repeat
    clrscr;
    writeln('Háromszög kerület,terület számító progi');
    writeln('1-kerület');
    writeln('2-terület');
    writeln'(kilépés');
    a:=readkey;
    case a of
    '1':IDE MIT KELL ÍRNI?
    '2':about;
    end;
    until a='3';
    clrscr;
    halt;
    end;
    Bocs de még nagyon kezdő vok.
  • ba32107
    #169
    Deklarálsz egy karakter típusú változót, és egy repeat-until ciklusba foglalod a menüt. A ciklusmagban töröld a képernyőt, írd ki a menüpontokat, kérd be a karaktert readkey-el, vizsgáld az értékeket.

    Itt a menü rész egy saját programból:
    procedure menu;
    var a:char;
    begin
    repeat
    clrscr;
    writeln;
    write(' Sudoku fejto program v1.0');
    writeln;
    writeln;
    writeln(' 1-Sudoku fejtes vagy ellenorzes');
    writeln(' 2-Keszito es informaciok');
    writeln(' 3-Kilepes');
    a:=readkey;
    case a of
    '1': beker(sz);
    '2': about;
    end;
    until a='3';
    clrscr;
    halt;
    end;

  • Brainermaister
    #168
    Hi all! Vlaki megtudná nekem mondani hogy hogy lehet olyat csinálni a program elejére hogy ki írom hogy:
    Nyomdmeg az 1-est ha ... akarsz.
    nyomd meg a 2-est ha ... akarsz.
    tehát azt hogy lehet beleépíteni hogy választani lehessen.
    A segítséget előre is kösz.
  • Looooser
    #167
    hát ahogy én most tanulom a pascalt, különösebb értelmét nem látom, hisz sok karaktert így sem jelenít meg....
  • Nekrofil
    #166
    sziasztok!
    meg lehet oldani valahogy hogy vista alatt a magyar billentyűzetkiosztást használja?
  • Looooser
    #165
    tudom hogy van benne hisz nem értek hozzá,
  • ba32107
    #164
    Van hiba benne bőven. A for ciklusok belsejében az összeghez ne j-t adj, hanem t1[i,j]-t. A j csak egy index, de neked az elemeket kell összegezni, ezért t1[i,j]-t kell hozzáadni. Az átlagszámítást vidd ki a cikluson kívülre, azt elég a legvégén elvégezni. A tömböt nem tudod úgy kiíratni, hogy write(t1[i,j]), ez csak egy elemet fog kiírni, jelen esetben t1[10,4]-et. Úgy tudod kiíratni az egész tömböt, ha ismét csinálsz egy dupla for ciklust. Arra figyelj, ha sort is akarsz törni, akkor write helyett writeln-t használj.

    Az utolsó rész teljesen rossz, egyrészt egy booleant nem lehet beolvasni, másrészt hasonlítani sem tudod egy integerhez, harmadrészt nem is értem, mit akartál ott csinálni. Ha meg akarsz keresni egy elemet, hogy benne van-e a mátrixban, megint végig kell menned mindegyik elemen egy for ciklusban.
  • Looooser
    #163
    teljes átlag kell
  • Looooser
    #162
    program tomb,atlagok,kereses;
    uses crt;
    const N=10
    M=4
    var
    t1:array[1..N,1..M]of byte;
    i,j,osszeg,atlag:integer;
    van:boolean;
    begin
    clrscr;
    randomize;
    osszeg:=0
    for j:=1 to N do
    for i:=1 to M do
    begin
    t1[i,j]:=random(5)+1; {tomb feltöltés}
    osszeg:=osszeg+j;
    atlag:=osszeg/(N*M);
    end;
    write(t1[i,j]); {tomb kiirasa }
    write('a tábla jegyeinek összege: ',osszeg);
    write('a tábla jegyeinek az átlaga: ',atlag:5:2);
    Write('mit keressek? ');
    read(van);
    if van=j then
    write('igen ',van,' van a táblában);
    else
    write(van,' nincs a táblában);
    readln;
    end.

    ez vmivel normalizáltabb forma, de én a rendezést, úgy gondoltam még annó amikor elkezdtem a kérdezést, hogy először ezt íta ki:
    1 sor 3 1 sor 5 1 sor 2 2 sor 3 2 sor 1 2 sor 2 és így továbbb holott azt kértem, hogy
    1 sor 3 5 2
    2 sor 2 1 2
    3 sor 3 5 2
    stb
  • Saddalim #161
    legelejéről hiányzik egy atlag:=0;
    (gondolom i,j,atlag:integer)
  • Japep
    #160
    Ja, és még az end-ek alá jön, hogy

    atlag:=atlag/30

    Egész átlag kell, vagy sor/oszloponként?
  • Japep
    #159

    for i:=1 to 10 do begin
    for j:=1 to 3 do begin
    tomb[i,j]:=random(4)+1;
    atlag:=atlag+tomb[i,j];
    end;
    end;


    Mit kellene rendezni?
  • ba32107
    #158
    Nyomd be ide a teljes forráskódot, meg hogy milyen hibát jelez
  • Looooser
    #157
    a darabszám egyszerű, mert azt konstansban határotamm meg N 10,M 3 és ezekre hivatkoztam arrayben. de amikor vissza kértem megjelenítés tomb[i,j] <- hibát jelzet....
  • ba32107
    #156
    Bocs elfelejtettem, hogy a szögletes zárójelek közti i a dőlt betű makrója. Tehát a ciklusmagban ez van:

    tomb{i}{j} := random(4) + 1;

    Ahol a szögleteseket kapcsos zárójelekkel helyettesítettem.
  • ba32107
    #155
    Csinálsz két for ciklust, és a legbelső ciklusmagban adsz random értékeket. Valahogy így:

    for i:=1 to 10 do
    for j:=1 to 3 do
    tomb[i][j] := random(4) + 1;

    Az átlagszámolás ugyanígy ciklusban, egy változóban összegyűjtöd az összeget, és a végén elosztod egy darabszámmal. Ha valamit nem értesz, akkor elmagyarázom részletesebben is.
  • Looooser
    #154
    legyetek szívesek írjatok, mert tényleg nem toom megcsinálni, és ez most fontos lenne....
  • Looooser
    #153
    jah igen, erre kéne még átlagot számolnia
  • Looooser
    #152
    hali van itt valaki????fontos lenne, lekáéne adnom egy anyagot, de a 2 dimenziós tömbbe való adat bevitel valahogy ki fog rajtam
    a feladatom az lenne
    hogy egy 10 soros és 3 oszlopos tömbbe vélet len szerű számok kerüljenek 1-5 ig és ezeknek kéne az átlagát számolnia a programnak, odáig eljutottam hogy bekéri a számokat csak minden oaszlopot külön új sorba kér be, és rendezetten kéne beadnom....
    szóval ha valki tudna nekem ebben segíteni azt nagyon megköszönném