Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++] eliminare un elemento da un array di tipo string

    Scusate se vi bombardo di domande ma sono un principiante...
    nel mio programma, quando viene scelto casualmente dall' array un elemento, lo stesso array deve cambiare il suo contenuto(se sbaglio correggetemi la sintassi che ho appena intrapreso l'argomento degli array) esempio:

    char array[3]={"a","b","c"};
    srand(time(NULL));
    x=rand()%3;
    cout<<"lettera scelta="<<array[x];

    if(array=="a")
    {
    array={"b","c"}; //eliminare la "a"?
    }

    quindi avrei bisogno di sapere come eliminare un elemento da un array per esempio:

    string arrayregion[28] = {"Canada","USA","Messico","Cuba","Peru","Brasile", "Cile","Francia","Italia","Spagna","Germania","Aus tralia","NuovaZelanda","Indonesia","Russia","Cina" ,"Giappone","India","Arabia","Egitto","Libia","Tun isia","Madagascar","Congo","Algeria","Turchia","Gu inea","Iran"};

    come faccio a togliere l'elemento USA dell'array?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non puoi togliere un elemento da un array.

    Devi creare un array con un elemento in meno e spostare tutti quelli che ti interessano (tranne quello che vuoi eliminare).

    Per questo tipo di lavori "dinamici" la libreria del C++ mette a disposizione oggetti specifici (list, map ...)

    http://www.cplusplus.com/reference/stl/list/

    http://www.cplusplus.com/reference/stl/map/
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    allora dovrei sostituire l'array?

    per le variabili è facile
    int a,b;
    a=b;

    con gli array invece come si fa?

    char vocali[5]={"a","e","i","o","u"};
    char vocali_senza_a[4]={"e","i","o","u"};

    vocali=vocali_senza_a; ????
    oppure
    vocali[5]=vocali_senza_a[4]; ????

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No ... devi lavorare con l'allocazione/riallocazione dinamica della memoria per allocare un nuovo array ed eliminare il precedente.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.