Kezdőoldal » Számítástechnika » Programozás » Hogyan kell egy tömb bizonyos...

Hogyan kell egy tömb bizonyos elemeit átmásolni egy másik tömbbe C-ben?

Figyelt kérdés
Tehát, hogyha valamilyen feltétel teljesül arra az elemre, akkor szeretném, hogy az átkerüljön a másik tömbbe.

2021. okt. 31. 19:47
 1/7 Pelenkásfiú ***** válasza:
Pontosan melyik ponton akadtál el?
2021. okt. 31. 19:50
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
Hát igazából, az még megy, hogy kiválasszam a megfelelő elemeket, de utána nem nagyon tudom hogy mit csináljak. Simán csináljak rá egy ciklust, hogy sorba ilessze be a másik tömbbe a kiválasztott elemeket? Vagy úgy nem működik a dolog?
2021. okt. 31. 20:02
 3/7 anonim ***** válasza:
100%

kell egy i=0 változó, és mész végig az elemeken, ha olyat találsz ami megfelel a feltételeknek, akkor a másik tömb i. helyére beírod és i-t megnöveled eggyel

tehát az eredeti tömböt csak egyszer kell bejárni

2021. okt. 31. 20:09
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
36%

Forras[index]

feltetelvizsgalat

cel[index]


Loop 9 do {

if (source[si] <> x) then {destination[di]; inc(di);}

inc(si);}

2021. nov. 1. 08:03
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:
100%

Van két tömböd, ehhez kell két index, amikkel az aktuális elemekre "mutatsz". Az eredeti tömbön egyszerűen végiglépkedsz az indexével, és megvizsgálod, megfelel-e a feltételnek, a ciklusmag végén növelve az indexét. Ha megfelel, akkor a másik tömb aktuális helyére beírod, és növeled azt az indexet is. (A második tömböt megfelelő méretűre kell venni, vagy menet közben ellenőrizni, hogy ne csorduljon túl!)


// nem C, csak vázlat

a1[...] // kiinduló adatok tömbje

a2[...] // cél tömb

idx1=0

idx2=0

ciklus amíg idx1 el nem éri az 'a1 mérete-1' -et (OR ugyanez idx2 és a2-vel)

__ha a1[idx1] megfelel, akkor

____a2[idx2] = a1[idx1]

____++idx2

__felt. vége

__++idx

ciklus vége

2021. nov. 1. 09:04
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:

...

long idx1=0; // vagy long helyett inkább size_t

long idx2=0;

while (idx1 < a1_size)

{

if (...) a2[idx2++] = a1[idx1];

++idx1;

}

2021. nov. 2. 00:38
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:

Itt van egy dinamikus tombos megoldas, remelem korrekt:


[link]


Elvart kimenet (paros szamokat atmasolja a destination tombbe a source tombbol, mindketto inteket tartalmaz):

Source:

Array's 0. element: 0

Array's 1. element: 1

Array's 2. element: 2

Array's 3. element: 3

Array's 4. element: 4

Array's 5. element: 5

Array's 6. element: 6

Array's 7. element: 7

Array's 8. element: 8

Array's 9. element: 9


Destination:

Array's 0. element: 0

Array's 1. element: 2

Array's 2. element: 4

Array's 3. element: 6

Array's 4. element: 8

2021. nov. 5. 04:57
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!