Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cetak elemen unik dalam tatasusunan yang diisih dalam C

Cetak elemen unik dalam tatasusunan yang diisih dalam C

王林
王林ke hadapan
2023-09-20 17:05:01735semak imbas

Memandangkan tatasusunan elemen integer, tugasnya adalah untuk mengalih keluar nilai pendua dan mencetak elemen yang berbeza dalam cara yang disusun.

Diberikan di bawah adalah tatasusunan yang menyimpan nilai jenis integer dalam susunan 4, 6, 5, 3, 4, 5, 2, 8, 7 dan 0. Sekarang, hasilnya akan menjadi 0, 2, 3, 4, 4 , 5, 5, 6, 7 dan 8 mencetak elemen yang diisih dalam susunan, tetapi hasil ini masih mengandungi nilai pendua 4 dan 5, ia harus dialih keluar, hasil akhir ialah 0, 2, 3, 4 , 5, 6, 7 dan 8

Cetak elemen unik dalam tatasusunan yang diisih dalam C

Contoh

Input: array[] = {4, 6, 5, 3, 4, 5, 2, 8, 7, 0}
Output: 0 2 3 4 5 6 7 8

Penjelasan

Jadi, untuk mencapai matlamat kami, kami akan

  • menyimpan elemen yang berbeza dalam tatasusunan lain1.
  • Isih tatasusunan1.
  • Cetak nilai tatasusunan1.

Algoritma

START
   STEP 1: DECLARE VARIABLES i, j, array1[size], temp, count = 0
   STEP 2: LOOP FOR i = 0 AND i < size AND i++
      LOOP FOR j = i+1 AND j < size AND j++
         IF array[i] == array[j]) then,
            break
         END IF
      END FOR
      IF j == size then,
         ASSIGN array1[count++] WITH array[i]
      END IF
   END FOR
   STEP 3: LOOP FOR i = 0 AND i < count-1 AND i++
      LOOP FOR j = i+1 AND j < count AND j++
         IF array1[i]>array1[j] then,
            SWAP array1[i] AND array[j]
         END IF
      END FOR
   END FOR
   STEP 4: PRINT array1
STOP

Contoh

#include <stdio.h>
/* Prints distinct elements of an array */
void printDistinctElements(int array[], int size) {
   int i, j, array1[size], temp, count = 0;
   for(i = 0; i < size; i++) {
      for(j = i+1; j < size; j++) {
         if(array[i] == array[j]) {
            /* Duplicate element found */
            break;
         }
      }
      /* If j is equal to size, it means we traversed whole
      array and didn&#39;t found a duplicate of array[i] */
      if(j == size) {
         array1[count++] = array[i];
      }
   }
   //sorting the array1 where only the distinct values are stored
   for ( i = 0; i < count-1; i++) {
      for ( j = i+1; j < count; j++) {
         if(array1[i]>array1[j]) {
            temp = array1[i];
            array1[i] = array1[j];
            array1[j] = temp;
         }
      }
   }
   for ( i = 0; i < count; ++i) {
      printf("%d ", array1[i]);
   }
}
int main() {
   int array[] = {4, 6, 5, 3, 4, 5, 2, 8, 7, 0};
   int n = sizeof(array)/sizeof(array[0]);
   printDistinctElements(array, n);
   return 0;
}

Output

Jika kita menjalankan program di atas, ia akan menghasilkan output berikut.

rreeee

Atas ialah kandungan terperinci Cetak elemen unik dalam tatasusunan yang diisih dalam C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam