1. Trang chủ
  2. » Công Nghệ Thông Tin

Hãy liệt kê các giá trị xuất hiện trong dãy quá 1 lần lưu ý mỗi giá trị liệt kê 1 lần

4 1K 5

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 28,78 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

Bài 232: Hãy liệt kê các giá trị xuất hiện trong dãy quá 1 lần Lưu ý: mỗi giá trị liệt kê 1 lần

#include<stdio.h>

#include<conio.h>

#include<math.h>

#define MAX 100

void nhap (int a[], int &n)

{

do

{

printf("\nNhap so phan tu: ");

scanf("%d", &n);

if(n <= 0 || n > MAX) {

printf("\nSo phan tu khong hop le Xin kiem tra lai !"); }

}while(n <= 0 || n > MAX);

for(int i = 0; i < n; i++)

{

printf("\nNhap a[%d]: ", i);

scanf("%d", &a[i]);

}

}

Trang 2

void xuat(int a[], int n)

{

for(int i = 0; i < n; i++)

{

printf("%4d", a[i]);

}

}

int KiemTraBiTrung(int a[], int n, int ViTri)

{

for (int i = ViTri - 1; i >= 0; i )

{

if (a[i] == a[ViTri]) {

return 0; // bị trùng

} }

return 1; // không bị trùng

}

// Đếm xem từ vị trí hiện tại trở về sau có bao nhiêu phần tử bị trùng

int DemSoLuongPhanTuTrung(int a[], int n, int ViTri)

{

int dem = 1;

for (int i = ViTri + 1; i < n; i++)

{

if (a[i] == a[ViTri])

Trang 3

dem++;

} }

return dem;

}

void LietKeCacGiaTriXuatHienQua1Lan(int a[], int n)

{

for (int i = 0; i < n; i++)

{

int CheckTrung = KiemTraBiTrung(a, n, i);

if (CheckTrung == 1) {

int dem = DemSoLuongPhanTuTrung(a, n, i);

if(dem != 1) {

printf("\nCac phan tu xuat hien qua 1 lan la %d", a[i]); }

} }

}

int main()

{

Trang 4

int n;

int a[MAX];

nhap(a, n);

xuat(a, n);

LietKeCacGiaTriXuatHienQua1Lan(a, n);

getch();

return 0;

}

Ngày đăng: 20/10/2016, 16:15

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w