16.5 C
Roma
martedì, Maggio 11, 2021
Home Algoritmi C Ricerca elementi uguali in un Array in C

Ricerca elementi uguali in un Array in C

L’esercizio che analizzeremo nella lezione odierna ci consentirà di scoprire se ci sono e quanti sono gli elementi uguali all’interno di un array.  

Il programma che abbiamo creato è composto principalmente da tre funzioni: 

  • Caricamento 
  • Stampa 
  • Stampa valori Uguali 

La funzione di caricamento inizialmente richiede all’utente il numero degli elementi che comporrà il nostro array, dato che verrà restituito come valore della funzione del caricamento e riutilizzato all’interno delle successive funzioni, dopodiché effettuerà un ciclo in cui chiederà l’inserimento di “n” valore, dove n sta per il numero di elementi dichiarati dall’utente. 

Successivamente effettuiamo una funzione di stampa generale tramite un ciclo for ripetuto “n” volte. 

L’ultima delle tre funzioni è senz’altro la più complessa da comprendere. Abbiamo innanzitutto necessità di una variabile “f” la quale terrà il conto degli elementi duplicati che troveremo. Subito dopo effettueremo due cicli uno all’interno dell’altro con i relativi contatori “i” e “j”. In questo modo possiamo confronti tutti gli elementi dell’array gli uni con gli altri. Se gli elementi “i” e “j” dovessero risultare eguali il programma segnalerà all’utente la corrispondenza, ed aumenta il conteggio dei duplicati totali. 

Successivamente ai due cicli for viene segnalato all’utente il numero di corrispondenze trovate. Se non ci dovessero essere corrispondenze il messaggio all’utente sarà “Non ci sono uguali”, altrimenti segnalerà il numero totale di elementi uguali. 

#include <stdio.h>
#include <stdlib.h>
#define index 20


 int inserimento(int a[]){
     int i, n;
     printf("Inserire il numero degli elementi: ");
     scanf("%d", &n);
     for(i=0; i<n; i++) 
	 {
         printf("Inserisci il %d elemento: ", i+1);
         scanf("%d", &a[i]);
     }
     return(n);
 }
 
 
void stampa(int a[], int n)
 {
     int i;
     for(i=0; i<n; i++) 
	 {
	 	printf("\n%d valore e' %d", i+1, a[i]);
     }
    return;
 }
 
void stampaUguali(int a[], int n)
	{
	int f = 0;
	for(int i=0; i<n-1; i++) 
	{
		for(int j=0; j<n ; j++)
		{
			if(a[i]==a[j]) 
			{
				printf("\nElementi uguali trovati: %d \t%d", a[i], a[j]);
				f+=1;
        	}
        }       
    }
	if(f==0)
		printf("\nNon ci sono uguali");
	else
		printf("\nCi sono %d elementi uguali", f);
    return;
 }
 
 
int main(){
     int n, a[index];
     n=inserimento(a);
     stampa(a, n);
     stampaUguali(a, n);   
 }

LINK UTILI

Pagina Instagram: https://www.instagram.com/developer_sumo/
Corso C: https://www.developersumo.com/c/
Altri algoritmi in C: https://www.developersumo.com/category/corsi/c/algoritmi/
I nostri Corsi: https://www.developersumo.com/corsi/
Le nostre App su Play Store: https://play.google.com/store/apps/developer?id=Developer+Sumo

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Cos’è e come fare un Vlog

Se siete abituati ad usare la tecnologia è abbastanza probabile che siate giovani e che passiate molto tempo sui social e se...

Come usare e creare le classi in HTML

L'attributo class è utilizzato per assegnare ad un oggetto HTML una classe. Una delle caratteristiche principali delle classi HTML è che possono...

Lista compleanni personaggi Death Note

Death Note scritto da Tsugumi Ōba e illustrato da Takeshi Obata. È stato serializzato in Giappone dal 1º dicembre 2003 al 15...

Linguaggio di Programmazione di League of Legends

Se sei un appassionato di sviluppo informatico sicuramente ti sarai chiesto quale sia il linguaggi di programmazione di League of Legends. League...

Recent Comments