View Full Version : [C++] Confrontare intero array...
Salve... si lo so sto aprendo troppe discussioni ma devo rispolverare il mio c++... ho fatto 1 mese a non programmare e mi si è resettato il cervello...vabbè...chiacchere a parte...
Ho un array di struct 'lista' e devo confrontare ogni suo singolo campo con un altro stuct 's'.
Entrambi hanno gli stessi campi cioè: nome, cognome e email.
Il mio problema è:
=> come faccio a confrontare l'intero array di struct 'lista' con i campi dello struct 's'??
Mi servirebbe una cosa di questo tipo anche se non si può:
if (for (n=0; n < x; n++) {
strcmp (lista[n].nome, s.nome) != 0 &&
strcmp (lista[n].cognome, s.cognome)!= 0 }
)
Si lo so non ha senso ma è per fare capire cosa cerco di fare.
tomminno
08-02-2010, 11:38
Salve... si lo so sto aprendo troppe discussioni ma devo rispolverare il mio c++... ho fatto 1 mese a non programmare e mi si è resettato il cervello...vabbè...chiacchere a parte...
Ho un array di struct 'lista' e devo confrontare ogni suo singolo campo con un altro stuct 's'.
Entrambi hanno gli stessi campi cioè: nome, cognome e email.
Il mio problema è:
=> come faccio a confrontare l'intero array di struct 'lista' con i campi dello struct 's'??
Mi servirebbe una cosa di questo tipo anche se non si può:
if (for (n=0; n < x; n++) {
strcmp (lista[n].nome, s.nome) != 0 &&
strcmp (lista[n].cognome, s.cognome)!= 0 }
)
Si lo so non ha senso ma è per fare capire cosa cerco di fare.
Non è che si capisce molto bene. Vuoi verificare se tutti gli elementi di lista sono uguali a s? Vuoi trovare tutti gli elementi di lista differenti da s? Vuoi trovare il primo elemento di lista diverso da s? Vuoi cercare se s è presente all'interno di lista?
Volevi qualcosa di simile?
int n = 0;
bool equal = true;
do
{
if (strcmp (lista[n].nome, s.nome) != 0 &&
strcmp (lista[n].cognome, s.cognome)!= 0)
equal = false;
}while(++n<x);//se ti interessa trovare il primo diverso basta aggiungere && equal==true
Poi però non so cosa ci devi fare se c'è un elemento in lista che è diverso da s.
Suppongo che tu non stia usando niente di C++ e tutto C. Vedo che usi array e strcmp al posto di vector e string.
Altrimenti potresti definire l'operatore == per l'oggetto nome,cognome,email e usare equal o find a seconda di quello che devi fare.
sto utilizzando c++ questo ne sono sicuro... questo è l'esercizio così si capisce meglio:
" Realizzare una funzione booleana di nome aggiungi che, presi come suoi parametri un array lista di strutture di tipo Ind, il numero n di elementi in lista, ed una struttura s di tipo Ind, aggiunge s a lista, in posizione n, se non trova nessun elemento in lista con lo stesso valore dei campi nome e cognome di s "
tomminno
08-02-2010, 12:00
sto utilizzando c++ questo ne sono sicuro...
Direi che stai usando C e basta.
Ovvero non stai usando niente del "++".
questo è l'esercizio così si capisce meglio:
" Realizzare una funzione booleana di nome aggiungi che, presi come suoi parametri un array lista di strutture di tipo Ind, il numero n di elementi in lista, ed una struttura s di tipo Ind, aggiunge s a lista, in posizione n, se non trova nessun elemento in lista con lo stesso valore dei campi nome e cognome di s "
Si ma te hai capito cosa chiede l'esercizio?
In parole tue sapresti esprimere cosa devi cercare di fare?
:mbe:
Ho una funzione "aggiungi" con quei 3 parametri.
Questa funzione aggiunge lo struct 's' dentro l'array di struct 'lista' in una posizione n, solo se 's' non trova nessun campo nome e cognome uguale a un elmento qualsiasi dell'array 'lista'.
ho capito cosa devo fare ma non riesco ad esprimerlo con il linguaggio.
tomminno
08-02-2010, 16:12
:mbe:
Ho una funzione "aggiungi" con quei 3 parametri.
Questa funzione aggiunge lo struct 's' dentro l'array di struct 'lista' in una posizione n, solo se 's' non trova nessun campo nome e cognome uguale a un elmento qualsiasi dell'array 'lista'.
ho capito cosa devo fare ma non riesco ad esprimerlo con il linguaggio.
Non è che questo forum sia un posto dove chiedere le soluzioni agli esercizi da 0:
E' vietato chiedere la risoluzione completa di progetti relativi a corsi di studio (http://www.hwupgrade.it/forum/showthread.php?t=1631648).
Posta il codice che riesci a scrivere e poi riceverai eventualmente aiuto su cosa non va nel tuo codice.
Il problema è estremamente semplice: ricerca di un elemento in una lista.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.