Cetak elemen unik dalam tatasusunan yang diisih dalam C

王林
Lepaskan: 2023-09-20 17:05:01
ke hadapan
791 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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;
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan