Ricerca di elementi uguali in un array

In questa lezione implementeremo un semplice algoritmo per la ricerca di elementi uguali in un array.

Per implementare questo algoritmo utilizziamo le funzioni che poi richiameremo nella funzione principale main.

Quindi realizziamo una prima funzione che permette l’inserimento dei numeri interi nell’array.

Dopo implementiamo una funzione per la stampa degli elementi dell’array.

Poi implementiamo la funzione di ricerca che quando individua elementi uguali li visualizza in output.

Ricerca di elementi uguali in un array – Procedimento

La ricerca funziona in questo modo:

Si prende il primo elemento e si confronta con il secondo, dopo con il terzo e così via fino all’ultimo.

Dopo si prende il secondo elemento e si confronta con il terzo, e così via fino all’ultimo.

Si procede fino al penultimo elemento che verrà confrontato solo con l’ultimo.

Al termine si confronta la variabile che tiene traccia del conteggio e si visualizza in output il messaggio opportuno.

Ecco dunque il listato completo in linguaggio C dell’algoritmo per la ricerca di elementi uguali in un array.

#include <stdio.h>
#include <stdlib.h>
//Ricerca di elementi uguali in un array
#define MAX 100
 int insert_array(int a[]){
     int i, n;
     printf("quanti elementi vuoi inserire?:");
     scanf("%d", &n);
     for(i=0;i<n;i++) {
         printf("inserisci elemento %d:", i);
         scanf("%d", &a[i]);
     }
     return(n);
 }
 int stampa_array(int a[], int n){
     int i;
     for(i=0;i<n;i++) {
         printf("%d\t", a[i]);
     }
      return;
 }
 //ricerca elementi uguali
 int ricerca_uguali(int a[], int n){
     int i, j, f;
     f=0;
     for(i=0;i<n-1;i++) {
         j=i+1;
         while((j<n) && (f==0)) {
             if(a[i]==a[j]) {
                 printf("\nelementi uguali trovati: %d \t%d", a[i], a[j]);
                 f+=1;
             }       
             j++;
         }       
     }
     if(f==0)
         printf("\nnon ci sono uguali");
     else
          printf("\nci sono uguali");
      return;
 }
 int main(){
     int n, a[MAX];
     n=insert_array(a);
     stampa_array(a, n);
     ricerca_uguali(a, n);   
 }

Chiaramente questo è solo un semplicissimo esempio,, più avanti proporrò altri esercizi sugli array.

Alcuni link utili

Indice argomenti linguaggio C

La funzione fopen

La funzione fclose

Funzione fprintf

Funzione fscanf

Allocazione dinamica della memoria con malloc

Strutture in C

Typedef struct in C

Esercitazione sulle struct in C

Realizzare un menù di scelta in C

Strutture complesse in C

Come sommare gli elementi della cornice esterna

Come sommare due matrici

Matrice trasposta

Prodotto tra matrici

Ricerca elementi in una matrice

Tavola pitagorica in C

Autore dell'articolo: Cristina

Avatar per Coding Creativo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *