L.abcd
di L.abcd
Genius
3 min. di lettura
Vota

Concetti Chiave

  • Il programma C++ riceve in input la dimensione di un array e i suoi elementi, quindi identifica i numeri non duplicati.
  • Utilizza un array ausiliario di booleani per tracciare quali numeri sono duplicati, inizialmente considerandoli tutti non duplicati.
  • Attraverso cicli nidificati, il programma confronta ogni elemento dell'array con gli altri per rilevare duplicati.
  • Se un duplicato viene trovato, l'elemento corrispondente nell'array ausiliario viene impostato su false.
  • Il programma stampa i numeri non duplicati e termina restituendo 0 se non ve ne sono.

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 cout cin>> a;
c= true;
}
for (int i=0; i for (int y=0; y if (i!=y && a==a[y])
c= false;
}
}
for (int i=0; i if (c)
con= con+1;
}
if (con>1)
cout else
if (con==0){
cout return 0;
}else
cout for (int i=0; i if (c){
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 : Include la libreria standard per l'input/output in C++.

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

  1. Come funziona il programma C++ per identificare i numeri duplicati in un array?
  2. Il programma acquisisce prima un insieme di numeri dall'utente e li memorizza in un array. Successivamente, utilizza cicli nidificati per confrontare ogni elemento dell'array con tutti gli altri. Se trova elementi uguali in posizioni diverse, identifica questi numeri come duplicati. Infine, stampa il conteggio dei numeri non duplicati, utilizzando un array ausiliario per tenere traccia degli elementi già considerati duplicati.

  3. Qual è il ruolo dell'array ausiliario 'c' nel programma?
  4. L'array ausiliario 'c' viene utilizzato per tenere traccia dello stato di ogni numero nell'array principale 'a'. Inizialmente, tutti gli elementi di 'c' sono impostati su true, indicando che ogni numero è considerato non duplicato. Durante il confronto, se viene trovato un duplicato, l'elemento corrispondente in 'c' viene impostato su false. Questo permette al programma di distinguere tra numeri duplicati e non duplicati, facilitando la stampa finale del conteggio dei numeri unici.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community