for ciklus2012-05-17T12:29:32+00:00

Címkézve: ,

10 bejegyzés megtekintése - 1-10 / 10
  • Szerző
    Bejegyzés
  • gezatata
    Tag
    Bejegyzések száma: 20

    Szia Radu

    szeretném feltölteni a tömböt az a-k értékeivel for ciklusba, de a StringConcatenate(“a”,q) parancs nem megfelelő, van esetleg valami parancs ami ide passzolna, vagy fogjak neki bepötyögtetni ;o)

    string a0, a1, ….. a37,
    tomb[4,38];

    a0=”e”; a1=”t”; …….. a37=”v”;

    for(int q=0; q<=37; q++)
    tomb[0,q]=StringConcatenate("a",q);

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    Ha leírod pontosan a feladatot, lehet hogy könnyebben átlátom mit szeretnél.

    A fenti kód alapján sejtelmem sincs, mi a végcél 🙂

    gezatata
    Tag
    Bejegyzések száma: 20

    szörnyű a fogalmazó készségem, ezért előre elnézést is kérek.

    vannak string változók 38 darab, a0-tol a37-ig,
    ezeknek az értékeit szeretném beíratni egy 38soros 4 oszlopos tömb első oszlopába, egymás alá.
    írtam neki egy for ciklust de nem müködik.
    úgy gondoltam, hogy a0 értékét(ami “e”) beírja a tomb[0,0] első sor első oszlopába , a1 értékét (ami t) beírja a tomb[0,1]második sor első oszlopába, és így tovább a37 ig.
    úgy gondoltam, hogy StringConcatenate(“a”,q); paranccsal ha kialakítom az “a0” formát, akkor azt úgy ismeri fel mintha a0 változó lenne aminek az értéke “e”, és beírná a tömbbe az “e” értéket. DE “e” helyet “a0” beírás lett.
    tehát következtetésem szerint a0 nem egyenlő “a0” val. És így nem tudom használni a for ciklust a tömbbe írásra.

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    Már értem a kérdésed.

    Sajnos ilyen megoldást nem tudsz elkövetni, mégpedig amiatt hogy az MQL4 nyelvben nincsen lehetőséged a változónévben (változót használni (pl. PHP-ben van). Ezutóbbi megállapításból természetesen csak a tömbök képeznek kivételt, hiszen ott a kulcsokra lehet hivatkozni változóval.

    A tomb[0, q] megoldás még működik, de a fixen elnevezett változók (a1, a2, stb.) nem tehetőek dinamikussá.

    A következő megoldást tudod alkalmazni: a fejlécben létrehozol egy adattömböt, amit init-ben feltöltesz a string adataiddal (kézzel kell sajna mind a 38 sort megadnod).

    Tehát fejlécben:

    string
       adattomb[38];

    Init-ben:

    adattomb[0] = a1;
    adattomb[1] = a2;
    adattomb[2] = a3;
     
    // satöbbi

    Mivel ezután már dinamikusan használhatod a 38 adatodat, meg tudod oldani a feladatod az egyébként jól indult megoldásoddal.

    gezatata
    Tag
    Bejegyzések száma: 20

    Köszönöm szépen válaszod

    gezatata
    Tag
    Bejegyzések száma: 20

    szia

    szeretném megkérdezni, hogy van e arra lehetőség, hogy a for ciklusban több FELTÉTEL-t és több KIFEJEZÉS-t írjunk?

    az “atomb” tartalmát akartam átirni a “tomb”-be,
    és én így képzeltem el, de nem működik

     for(int v=0, int q=0;      q<=39;       q++, v++)           
          tomb[v,q]=atomb[v,q];
    

    szép napot.

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    A v változó kapcsán nem írtál értéknövelést.

    A két ciklust simán egymásba ágyazhatod: a külső lefut 40 alkalommal, a belső meg 40 alkalomszor annyi alkalommal, ahányat megadsz a v-nek.

    gezatata
    Tag
    Bejegyzések száma: 20

    ez nem csak egy darab for ciklus?
    a v++ gondoltam értéknövelésnek.
    ha igy írom be a for ciklus fejlécét for(int v=0, int q=0; q<=39; q++, v++) akkor hiba üzenetet ad "variable expected"-el

    gezatata
    Tag
    Bejegyzések száma: 20

    közben rá jöttem miről írtál nekem
    ez lesz a megoldás ugye?

    for(int o=0; o<=5; o++)
         {   for(int=s; s<=10; s++)
                    tomb[o,s]=a[o,s];       } 

    bocs hogy teleirkálom az oldalad gyerekes kérdéseimmel.
    ismét köszönöm szépen az irányadó válaszod

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    Valami ilyesmi, igen!

10 bejegyzés megtekintése - 1-10 / 10

A hozzászóláshoz jelentkezz be!

Adhatok Neked még több ingyenes tartalmat?

Értesítelek hetente megjelenő új tartalmaimról.

Hozzájárulok, hogy az adatvédelmi nyilatkozat szerint biztonságosan kezeld megadott adataimat, valamint hasznos anyagokat és egyedi ajánlatokat küldj nekem termékeiddel, szolgáltatásaiddal kapcsolatban e-mailben