Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [C++] Eliminazione di elementi in un vettore

    ciao, ho questo esercizio che mi chiede (dopo una prima parte di programma) di eliminare in un vettore gli elementi minori di un certo valore da me scelto...ad esempio io ho un vettore di riempimento r=6 e di componenti V1 = 2 9 4 1 7 6, e devo eliminare tutti quanti gli elementi minori di k=6.....e poi mandare in stampa i risultati del tipo:
    codice:
    Il vettore residuo V1 è composto da: 9 7 6  Numeri di elementi eliminati: 3
    sapete consigliarmi su come fare? che tipo di algoritmo usare?? Grazie.

  2. #2
    sono riuscito a fare un ciclo for che mi riesce a dare il risultato di quanti elementi ha eliminato (cioè un conteggio di tutti gli elementi minori di k) però per mandare in stampa quelli restanti ancora non va, vi posto il codice:

    codice:
     
      {int i;   //variabili di conteggio
       j=0;
       
       for(i=0;i<r1;i++)
       {if (v1[i]<k)
            {v1[i]=v1[i+1];
            j++;}
       }   R1=r1-j;
    
        cout<<"Il numero di elementi eliminati da v1: "<<j<<" \n";
        cout<<"Il vettore v1 dopo l'eliminazione e': \n";
        for(i=0;i<R1;i++)
        cout<<v1[i];
      
       }

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ma devi usare C++ o C ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Leggendo "cout" mi viene spontaneo dire C++...

    Comunque non mi sembra sbagliato il codice, dovrebbe funzionare...dovrebbe

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da piccolalory94
    Leggendo "cout" mi viene spontaneo dire C++...
    Me n'ero accorto ... ma visto che utilizza i vettori del C

    v1[i]

    e non gli oggetti della libreria standard del C++ (ad esempio vector), mi rimane il dubbio ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Mmm ti parlo da studentessa di informatica di un istituto tecnico, può essere che ancora non ha trattato quell'argomento, anche io agli inizi programmavo non usando le librerie standard per i vettori...

  7. #7
    Originariamente inviato da oregon
    Me n'ero accorto ... ma visto che utilizza i vettori del C

    v1[i]

    e non gli oggetti della libreria standard del C++ (ad esempio vector), mi rimane il dubbio ...
    c++ cmq no non va...ho provato a modificarlo un po inserendoci un ciclo for nel if in modo tale da spostare tutti quanti gli elementi del vettore indietro di un posto ogni volta che si trovava l'elemento minore di k...in teoria l'ultimo elemento poi si sdoppia ogni volta che è soddisfatta la condizione dell'if, però modificando alla fine il riempimento, in stampa le copie non dovrebbe mandarle xD sul quaderno facendo tutti i passaggi sembrava andare ma sul computer no :| avete consigli su come fare?

    edit:
    Originariamente inviato da piccolalory94
    Mmm ti parlo da studentessa di informatica di un istituto tecnico, può essere che ancora non ha trattato quell'argomento, anche io agli inizi programmavo non usando le librerie standard per i vettori...
    quali sarebbero queste librerie standard? xD

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da killer922009
    c++
    Se devi farlo in C++ perché non usi i vector?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Originariamente inviato da oregon
    Se devi farlo in C++ perché non usi i vector?
    mm ancora non li ho studiati, ma l'esercizio dovrei farlo in questo modo, costruendo un algoritmo che elimini gli elementi minori di k, hai qualche idea?

  10. #10
    Utente di HTML.it L'avatar di Landi
    Registrato dal
    Jun 2012
    residenza
    Torino
    Messaggi
    39
    Originariamente inviato da killer922009
    mm ancora non li ho studiati, ma l'esercizio dovrei farlo in questo modo, costruendo un algoritmo che elimini gli elementi minori di k, hai qualche idea?

    • for(i=j+1;i<r1;i++)
      {
      v1[i-1]=v1[i];
      }
      r1=r1-1;

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.