Concetti Chiave
- Il programma C++ consente di inserire numeri in un array e identificare i duplicati tra di essi.
- Utilizza due cicli for annidati per confrontare ogni elemento dell'array con tutti gli altri elementi.
- Implementa un array booleano per tenere traccia degli elementi duplicati, inizialmente considerati tutti non duplicati.
- Il contatore incrementa quando si trovano numeri non duplicati, permettendo di determinare la loro presenza.
- Il programma fornisce un output in base al numero di elementi non duplicati trovati nell'array.
Programma C++ il quale inseriti dei numeri in un array stampa quelli duplicati
#include
using namespace std;
int main()
{
int n,con=0;
cout
cin>> n;
int a[n];
bool c[n];
for (int i=0; i
c= true;
}
for (int i=0; i
c= false;
}
}
for (int i=0; i
con= con+1;
}
if (con>1)
cout
else
if (con==0){
cout
return 0;
}else
cout
for (int i=0; i
cout;
if (con>1){
con= con-1;
cout
}
}
}
return 0;
}
Il codice scritto è un programma in C++ che chiede all'utente di inserire il numero di celle di un array, quindi acquisisce gli elementi dell'array dall'utente. Successivamente, determina quali numeri non sono duplicati nell'array e li visualizza.
Ecco una spiegazione linea per linea del codice:
#include
using namespace std;: Specifica l'utilizzo del namespace standard per evitare la scrittura esplicita di std:: prima delle funzioni della libreria standard.
int main(): Funzione principale del programma, da dove inizia l'esecuzione.
int n, con = 0;: Dichiarazione delle variabili n e con come interi. n conterrà il numero di celle dell'array, con conterà il numero di numeri non duplicati.
cout
cin >> n;: Acquisisce il valore inserito dall'utente e lo memorizza nella variabile n.
int a[n];: Dichiarazione di un array di interi di dimensione n, utilizzato per memorizzare gli elementi inseriti dall'utente.
bool c[n];: Dichiarazione di un array di booleani di dimensione n, utilizzato per tenere traccia dei numeri duplicati. Inizialmente, tutti gli elementi sono impostati su true.
for (int i = 0; i
cout
cin >> a;: Acquisisce il valore inserito dall'utente e lo memorizza nell'array a nella posizione i.
c = true;: Imposta l'elemento i dell'array c su true, indicando che inizialmente tutti i numeri sono considerati non duplicati.
for (int i = 0; i
for (int y = 0; y
if (i != y && a == a[y]): Verifica se gli elementi i e y dell'array a sono diversi e uguali, indicando un duplicato.
c = false;: Imposta l'elemento i dell'array c su false se viene trovato un duplicato.
for (int i = 0; i
if (c): Verifica se l'elemento i dell'array c è impostato su true, indicando un numero non duplicato.
con = con + 1;: Incrementa il contatore con di 1.
if (con > 1): Verifica se il contatore con è maggiore di 1, indicando la presenza di numeri non duplicati.
cout
if (con == 0): Verifica se il contatore con è uguale a 0, indicando l'assenza di numeri non duplicati.
cout
cout
if (c): Verifica se l'elemento i dell'array c è impostato su true, indicando un numero non duplicato.
cout ;: Stampa a schermo il numero non duplicato.
if (con > 1): Verifica se il contatore con è maggiore di 1, indicando che ci sono altri numeri non duplicati.
con = con - 1;: Decrementa il contatore con di 1.
cout
return 0;: Termina il programma restituendo 0.
Domande da interrogazione
- Come funziona il programma C++ per identificare i numeri duplicati in un array?
- Qual è il ruolo dell'array booleano nel programma?
- Come viene determinato il numero di elementi non duplicati?
Il programma acquisisce un numero di elementi dall'utente, memorizza i valori in un array e utilizza due cicli for per confrontare ogni elemento con gli altri, segnando i duplicati in un array di booleani.
L'array booleano serve a tenere traccia degli elementi duplicati; inizialmente, tutti gli elementi sono considerati non duplicati (true), e vengono impostati su false se un duplicato viene trovato.
Il programma conta gli elementi non duplicati scorrendo l'array booleano e incrementando un contatore ogni volta che trova un elemento impostato su true, indicando che non è stato duplicato.