Kezdőoldal » Számítástechnika » Programozás » Hogyan törlök ki egy feltöltöt...

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

Figyelt kérdés

2016. ápr. 17. 18:39
 1/8 anonim ***** válasza:

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)

2016. ápr. 17. 18:53
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

Sehogy, az a lancolt lista amibol egyszeruen lehet torolni.


A kezi modszer az, hogy a mogotte levo elemeket egyel elorebb mozgatod.

2016. ápr. 17. 18:53
Hasznos számodra ez a válasz?
 3/8 A kérdező kommentje:

''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?

2016. ápr. 17. 19:15
 4/8 A kérdező kommentje:

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.

2016. ápr. 17. 19:58
 5/8 anonim ***** válasza:

Ez a feladat a Kivalogatas programozasi tetelre kerdez ra.


Masold at a tomb2-be azokat az elemeket, melyek nem-negativak.

2016. ápr. 17. 20:08
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:

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.

2016. ápr. 17. 20:11
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:

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.

2016. ápr. 18. 00:44
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:
sőt, ott is hülyeséget írtam, (nyilván) nem végtelen részhalmaz
2016. ápr. 18. 00:46
Hasznos számodra ez a válasz?

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

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!