- Messaggi: 6
- Ringraziamenti ricevuti 0
Esercizio esame programazione
- roberta dardis
-
Autore della discussione
- Offline
- New Member
-
Riduci
Di più
17 Anni 7 Mesi fa #68697
da roberta dardis
Esercizio esame programazione è stato creato da roberta dardis
Salve a tutti, stavo provando a fare questo esercizio di Fondamenti dell'esame dell'anno scorso:
Scrivere una funzione C++ che, dati due array di interi positivi a
e b, restituisce l’array c che si ottiene eliminando da a gli elementi che appaiono in b (si
suppone che gli array a e b non contengano elementi ripetuti).
Esempio: a={2,11,6,5,9}, e b={2,3,4,11,7,5}. La funzione restituisce c={6,9}.
Ora io non riesco a capire come posso confrontare i due array. Pensavo a due cicli for ma cosi facendo nell'array c andrebbero anche altri elementi che appaiono in a e b. Qualcuno ha qualche idea? Grazie
Scrivere una funzione C++ che, dati due array di interi positivi a
e b, restituisce l’array c che si ottiene eliminando da a gli elementi che appaiono in b (si
suppone che gli array a e b non contengano elementi ripetuti).
Esempio: a={2,11,6,5,9}, e b={2,3,4,11,7,5}. La funzione restituisce c={6,9}.
Ora io non riesco a capire come posso confrontare i due array. Pensavo a due cicli for ma cosi facendo nell'array c andrebbero anche altri elementi che appaiono in a e b. Qualcuno ha qualche idea? Grazie
Si prega Accedi o Crea un account a partecipare alla conversazione.
- emanuele caracciolo
-
- Offline
- Platinum Member
-
Riduci
Di più
- Messaggi: 366
- Ringraziamenti ricevuti 0
17 Anni 7 Mesi fa #70169
da emanuele caracciolo
Risposta da emanuele caracciolo al topic Esercizio esame programazione
L'ho risolto, spero che sia abbastanza chiaro da capire, se non lo fosse chiedi pure!!!
#define DIM_A 5
#define DIM_B 6
#include <iostream>
using namespace std;
int controllo(int a[DIM_A], int b[DIM_B], int c[DIM_B]);
int main()
{
int array1[]={2,11,6,5,9}, array2[]={2,3,4,11,7,5};
int i = 0, risultato[DIM_B], dimensione_logica = 0;
dimensione_logica = controllo(array1, array2, risultato);
cout << "L'array risultante \x8a:\n";
for (i = 0; i < dimensione_logica; i++)
cout << risultato[i] << " ";
cout << "\n";
system ("pause");
return 0;
}
int controllo(int a[DIM_A], int b[DIM_B], int c[DIM_B])
{
int i = 0, j = 0, contatore = 0;
bool trovato = false;
for (i = 0; i <= DIM_A; i++)
{
trovato = false;
j = 0;
while (j <= DIM_B && !trovato)
{
if (a[i] == b[j])
trovato = true;
j++;
}
if (trovato == false)
{
c[contatore] = a[i];
contatore ++;
}
}
return contatore - 1;
}Si prega Accedi o Crea un account a partecipare alla conversazione.