Hogyan törlök ki egy feltöltött tömből egy adott elemet? (C++)





Attól függ, hogy tömb alatt pontosan milyen adatstruktúrát értesz, ileltve, hogy törlés alatt mit értesz. Ha egyserű tömb típust, akkor annak fix mérete van, így törölni nem tudsz belőle elemet, legfeljebb beállítani az adott elem értékét valamilyen 'nullértékre', illetve a tömb végére rendezheted azt. HA mégis konkrétan 'törölni' akarsz (tehát a tömb mérete is csökkenjen), akkor maximum azt csinálhatod, hogy csinálsz egy új tömböt eggyel kisebb méretbe, és oda átpakolod az elemeket (dinamikus memóriakezelést nem árt ehhez ismerni)
Ha a tömböd mondjuk vector, a történet egyszerűbb, meghívható az erase metódus, az n. indexen lévő elemet így törölheted vele: myVector.erase(myVector.begin()+n)





Sehogy, az a lancolt lista amibol egyszeruen lehet torolni.
A kezi modszer az, hogy a mogotte levo elemeket egyel elorebb mozgatod.
''Adott egy valós számokat tartalmazó tömb. Töröljük a tömb negatív elemit!''
Lényegében ezt kéne mególdjam.Egy pár napja kezdtem el a C++-al foglalkozni, és még nem ismerek minden eljárás.
For ciklussal végig megyek a tömbön megnézem melyik elemei negatívak azt törlöm majd az elem felszabaduló helyére kerül az előző elem? avgy milyen módón lehet mególdani?
int main()
{
int tomb[100],elem,tomb2[100],j=0;
cout<<"Add meg a tomb elemeinek szamat!"<<endl;
cin>>elem;
cout<<"Olvasd be a tomb elemeit!"<<endl;
for(int i=0;i<elem;i++){
cin>>tomb[i];
if(tomb[i]>0) {tomb2[j]=tomb[i] ;j++;}
}
for(int i=0;i<j;i++)
cout<<tomb2[i] ;
}
Én így oldottam meg de szerintem a konkrét törlésre érti a feladat.





Ez a feladat a Kivalogatas programozasi tetelre kerdez ra.
Masold at a tomb2-be azokat az elemeket, melyek nem-negativak.





Ajj bocs, felreertettem.
Meg lehet csinalni 1 tombon belul is. Kulon koveted hogy hol tartasz a torolnivalo es a mar kivalogatott tombbel - a tobbi pedig megegyezik a megoldasoddal.





Ha valós akkor legyen már inkább valami lebegőpontos (persze az is csak egy megszámlálhatóan végtelen racionális részhalmazát tartalmazza a valós számoknak, de ettől most el lehet tekinteni..):
Mondjuk eldöntöd minden elemről, hogy negatív-e, és ha igen, akkor "hátulról ráhúzod" a mögötte lévőket:
double tomb[666];
unsigned elemszam;
..
for(..) if(tomb[i]<0) for(..) tomb[j]=tomb[j+1];
Ezután kiíratod őket elemszam-ig.





Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!