Maison  >  Article  >  développement back-end  >  En langage C, quels sont les éléments du tableau qui apparaissent plusieurs fois ?

En langage C, quels sont les éléments du tableau qui apparaissent plusieurs fois ?

WBOY
WBOYavant
2023-09-05 09:05:101359parcourir

En langage C, quels sont les éléments du tableau qui apparaissent plusieurs fois ?

Array est un conteneur qui contient des éléments du même type de données, et la longueur doit être définie à l'avance. Les éléments d'un tableau peuvent apparaître dans n'importe quel ordre et n'importe quel nombre de fois. Ainsi, dans ce programme, nous retrouverons les éléments qui apparaissent plusieurs fois dans le tableau.

Description du problème - On nous a donné un tableau arr[], nous devons trouver les éléments récurrents dans le tableau et les imprimer.

Prenons un exemple pour mieux comprendre.

Exemple :

Input: arr[] = {5, 11, 11, 2, 1, 4, 2}
Output: 11 2

Explication

Nous avons un tableau arr contenant quelques éléments, nous comparons d'abord l'élément suivant dans une fonction répétitive. La fonction de répétition est utilisée pour rechercher des éléments en double dans un tableau. Dans la fonction répétitive, nous utilisons une boucle pour trouver les éléments répétitifs dans le tableau donné. Nous utiliserons la condition if else pour vérifier le nombre d'éléments du tableau, si l'élément du tableau apparaît une fois, le nombre sera de 1 et s'il apparaît plusieurs fois, le nombre sera incrémenté en conséquence. Si le compte est supérieur à 1, l'élément sera imprimé à l'écran. La traduction chinoise de

Algorithme

Input : arr[], n the length of array.
Step 1 : For i -> 0 to n, Follow step 2,
Step 2 : For each element of the array. Do :
   Step 2.1 : For j -> i to n repeat step 2.2 - 2.3.
   Step 2.2 : if (arr[i] == arr[j]) -> print arr[i]
   Step 2.3 : else {// do nothing}

Exemple

est :

Exemple

#include <stdio.h>
int main() {
   int arr[] = {21, 87, 212, 109, 41, 21};
   int n=7;
   printf("The repeat elements of the array are : ");
   int *count = (int *)calloc(sizeof(int), (n - 2));
   int i;
   for (i = 0; i < n; i++) {
      if (count[arr[i]] == 1)
         printf(" %d ", arr[i]);
      else
         count[arr[i]]++;
   }
   return 0;
}

Sortie

The repeat elements of the array are : 21

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer