Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Zadatak] Uklanjanje elemenata iz niza

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Uklanjanje elemenata iz niza

[ Pregleda: 4049 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

osmania
Panet

Član broj: 26316
Poruke: 773
*.20.11.vie.surfer.at.



+7 Profil

icon [Zadatak] Uklanjanje elemenata iz niza12.11.2007. u 07:32 - pre 200 meseci
pitanje glasi kako izbrisati jedan element u nizu i da se sve sto iza tog niza nalazi pomjeri za jedan, znhaci sve se u biti pomjeri sot je iz aizbrisanog elementa pomjeri za jedan?
NPRJ ovako: ukucam rijec kakaoo= izbrisem k i dobijem aaoo izbrisem a dobijem oo itd....

ja imam jedan code ali ne kontam ga? pa ako mi mozete pomoci da rijesim taj code ili neku drugu ideju? ne kontam ove uzvicnike u if? hvala vam puno

Code:

while(1) {
      cin >> b;
      if(b == '!')
    break;

      for(int i = 0; c[i] != '\0'; i++) {
    if(c[i] == b)
      c[i] = '!';
    if(c[i] != '!')
      cout << c[i];
      }
      cout << endl;
    }
 
Odgovor na temu

xeron
Sarajevo

Član broj: 25909
Poruke: 133
89.146.175.*



Profil

icon Re: [Zadatak] Uklanjanje elemenata iz niza12.11.2007. u 15:43 - pre 200 meseci
Kad je vec c++ u pitanju mozes koristiti klasu vector umjesto obicnog niza, #include <vector>, koja ima implementiranu metodu vector::erase(). Mislim da radi bas na principu koji je tebi potreban.

[Ovu poruku je menjao xeron dana 12.11.2007. u 16:57 GMT+1]
if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
printf("Don't Panic!n");
exit(42);
}
 
Odgovor na temu

xeron
Sarajevo

Član broj: 25909
Poruke: 133
89.146.175.*



Profil

icon Re: [Zadatak] Uklanjanje elemenata iz niza12.11.2007. u 16:13 - pre 200 meseci
Code:

#include <vector>
#include <iostream>
using namespace std;

int main(int argc, char** argv){
    vector <int> foo;
    for(int i=0;i<5;i++)
        foo.push_back(i);

    cout<<"prije izbacivanja: ";
    for(int i=0;i<5;i++)
        cout<<foo[i];

    foo.erase(foo.begin()+2);
    cout<<endl<<"nakon izbacivanja: ";

    for(int i=0;i<foo.size();i++)
        cout<<foo[i];
    return 0;
}


a evo i izlaza

Citat:

./vectortest
prije izbacivanja: 01234
nakon izbacivanja: 0134


foo.begin() nam vraca adresu foo[0]clana niza.
foo.begin()+2 nam vraca adresu foo[2] clana niza.
Konkretno u nizu 0 1 2 3 4 foo[2] je broj 2.
Ako ti je potrebno takođe postoji metoda end() koja vraca adresu posljednjeg elementa u nizu.

dodatna objasnjenja:
metoda size() vraca duzinu vektora, metoda push_back() ubacuje elemente u vector.
Deklaracija vector-a vector <tip> ime. Tip vectora se navodi u '< >' zagradama jer je klasa vector rijesena preko templatea i svako castovanje je potrebno navesti u zagradama.
if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
printf("Don't Panic!n");
exit(42);
}
 
Odgovor na temu

osmania
Panet

Član broj: 26316
Poruke: 773
*.20.11.vie.surfer.at.



+7 Profil

icon Re: [Zadatak] Uklanjanje elemenata iz niza12.11.2007. u 20:26 - pre 200 meseci
fora je sot ne smijemo koristiti vefktore :)
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: [Zadatak] Uklanjanje elemenata iz niza12.11.2007. u 21:04 - pre 200 meseci
Probaj nesto ovako /netestirano/
Code:

#include <cstdlib>
#include <iostream>
using namespace std;

void ukloni_slova( char ch, char *text )
{
   int length = strlen( text );
   for ( int i=0; i<length; i++ )
       if ( text[i] == ch )
       {
          for( int j=i; j<length; j++ )
             text[j] = text[j+1];
          --length;
          --i;
       }
   text[length] = '\0';
}

int main(int argc, char *argv[])
{
    char ch;
    char text[100];

    cout << "Upisi slovo: ";
    cin >> ch;
    
    cout << "Upisi recenicu: ";
    cin >> text;

    ukloni_slova( ch, text );
    
    cout << "nova recenica:" << text;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}


 
Odgovor na temu

osmania
Panet

Član broj: 26316
Poruke: 773
*.20.11.vie.surfer.at.



+7 Profil

icon Re: [Zadatak] Uklanjanje elemenata iz niza13.11.2007. u 13:23 - pre 200 meseci
hvala puno
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Uklanjanje elemenata iz niza

[ Pregleda: 4049 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.