← Indietro
Altro

Esercizio eliminare duplicati array

Altro di Programmazione per il corso di Informatica presso Università degli Studi di Bari Aldo Moro. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

ProgrammazioneAltro

Informazioni sul documento

Cosa trovi in questo materiale

Altro di Programmazione per il corso di Informatica presso Università degli Studi di Bari Aldo Moro. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Qualità dell’importazione: il testo è stato estratto direttamente dal documento originale.

Contenuti estratti dal documento

Passaggi rappresentativi riconosciuti nelle diverse parti del materiale. Il testo completo resta presente nella pagina per la ricerca, mentre l’anteprima compatta rende più semplice la lettura.

Pagina 1

Esercizio “elimina duplicati array” Funzione che elimina duplicati da un array ordinato: int eliminaDuplicati (int a[], int n) /* Vettore ordinato */ { int i; int k = 1; for (i = 1; i < n; i++) /* per tutti gli elementi a partire dal secondo */ { if (a[i] != a[i-1]) /* se nuovo elemento (non copia del precedente) */ { a[k] = a[i]; k++; } } return k; } La stessa funziona, per un array non ordinato: typedef enum {FALSO, VERO} boolean; int eliminaDuplicati (int a[], int n) /* Vettore NON ordinato */ { int i, j; boolean duplicato; int k = 1; for (i = 1; i < n; i++) /* per tutti gli elementi a partire dal secondo */ { duplicato= FALSE; for (j=o; j<i; j++) { if (a[i] == a[j]) duplicato = TRUE; } /* se il nuovo elemento non era già presente nell'array destinazione, */ /* lo aggiunge */ if (!duplicato) { a[k] = a[i]; k++; } } return k; } Il programma principale: #include <stdio.h> void main() { int b[] = { 1, 3, 3, 3, 5, 7, 7, 9, 9}; /* inizializzazione statica */ int dimb = 9; int i, nuova_dimb; /* stampa vettore inserito */ for (i = 0; i < dimb; i++) printf("%d ", b[i]); printf("\n"); nuova_dimb = eliminaDuplicati(b, dimb); /* stampa vettore dopo la chiamata */ for (i = 0; i < nuova_dimb; i++) printf("%d ", b[i]); printf("\n"); }

Anteprima

Prima pagina del documento.

Prima pagina: Esercizio eliminare duplicati array