Document information
- University
- Università degli Studi di Bari Aldo Moro
- Degree programme
- Informatica
- Subject
- Programmazione
- Material language
- Italian
- Classification
- Other study material
- Original format
- Text
- Searchable text
Study material for Programmazione, shared by the Studwiz community and reviewed by moderators.
Study material for Programmazione, shared by the Studwiz community and reviewed by moderators.
Import quality: text was extracted directly from the original document.
Representative passages recognised in different parts of the material. The full extracted text remains available to search, while this compact preview makes the page easier to read.
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"); }
First page of the document.