• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Usuwanie okreslonych liczb z tablicy

+1 głos
2,069 wizyt
pytanie zadane 20 stycznia 2016 w C i C++ przez bergman Obywatel (1,600 p.)
Nie mam pojecie jak usunac okreslone liczby z tablicy

np.jesli w tablicy jest 3 5 6 7 3

jak usunac wszystkie 3

zeby bylo w tablicy bylo 5 6 7

Moglibyscie mnie nakierowac na odpowiedz niekoniecznie podac rozwiazanie

3 odpowiedzi

–2 głosów
odpowiedź 20 stycznia 2016 przez Colossus Mądrala (6,850 p.)
wybrane 22 stycznia 2016 przez bergman
 
Najlepsza

Przykład: 

#include <iostream>
#include <vector>

using namespace std;

int main() {
	vector <int> tablica;
	for(int i=0;i<100;++i){
		tablica.push_back(i%3);
	}
	for(int i=0;i<tablica.size();++i){
		if(tablica[i]==3){
			tablica.erase(tablica.begin()+i);
			++i;
		}
	}
	for(int i=0;i<tablica.size();++i){
		cout<<tablica[i]<<" ";
	}
	return 0;
}

 

komentarz 21 stycznia 2016 przez bergman Obywatel (1,600 p.)

rozumiem wszystko oprocz tablica.push_back(i%3);//to napewno robi cos z liczbami podzielnymi przez 3

komentarz 22 stycznia 2016 przez Colossus Mądrala (6,850 p.)
Wrzuca do tablicy resztę z dzielenia liczby przez 3, możliwe reszty to: 0,1,2
+2 głosów
odpowiedź 20 stycznia 2016 przez Michał Kopaczewski Użytkownik (870 p.)
Zawsze możesz przepisywać "dobre" liczby do drugiej tablicy. Algorytm może nie najszybszy ale nie ma bawienia się w wektory.
komentarz 21 stycznia 2016 przez bergman Obywatel (1,600 p.)
w moim programie bym musial zrobic przynajmniej 6 takich tablic

na pewno mozna to inaczej zrobic
komentarz 22 stycznia 2016 przez Michał Kopaczewski Użytkownik (870 p.)
W takim razie element który chcesz usunąć zamieniaj z ostatnim elementem tablicy, ustaw jego wartość na 0 po czym zmniejsz zmienną odpowiedzialną za trzymanie ostatniego elementu tablicy. Nie zwiększasz wielkości tablicy. Czasowo też nie jest najgorzej.
0 głosów
odpowiedź 20 stycznia 2016 przez Patrycjerz Mędrzec (192,320 p.)
Zostaje ci podstawowe rozwiązanie, czyli operowanie na tablicach dynamicznych (usuwasz pierwotną, tworzysz docelową) lub skorzystanie z jakiegoś kontenera dynamicznego, najlepiej pochodzącego z bibliotek standardowych.

Podobne pytania

0 głosów
3 odpowiedzi 1,495 wizyt
pytanie zadane 3 stycznia 2016 w C i C++ przez Mesiak Bywalec (2,380 p.)
0 głosów
3 odpowiedzi 1,384 wizyt
pytanie zadane 2 czerwca 2022 w Python przez Sebastian Szyja Bywalec (2,950 p.)
+2 głosów
0 odpowiedzi 344 wizyt
pytanie zadane 11 lutego 2022 w C i C++ przez RufinB Bywalec (2,020 p.)

93,743 zapytań

142,682 odpowiedzi

323,299 komentarzy

63,330 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...