Yêu cầu:
– Viết chương trình nhập vào mảng A gồm n phần tử, trong quá trình nhập kiểm tra các phần tử nhập vào không được trùng, nếu trùng thông báo và yêu cầu nhập lại.
Thuật toán:
– So sánh giá trị nhập vào với các phần tử trong mảng.
Code:
/************************************************************
#include <stdio.h>
#include <conio.h>
#define MAX_SIZE 100
void print_arr(int A[], int n, char name_arr);
void import_arr(int A[], int n);
bool is_existed_arr(int A[], int n, int x);
void main()
{
int A[MAX_SIZE];
int n = 5;
import_arr(A, n);
print_arr(A, n, 'A');
getch();
}
void print_arr(int A[], int n, char name_arr)
{
int i;
if(n == 0)
{
printf("\nArray %c is empty", name_arr);
return;
}
printf("\nMang %c", name_arr);
for(i = 0; i < n; i++)
printf("\n%c[%d] = %d", name_arr, i, A[i]);
}
void import_arr(int A[], int n)
{
int i, j;
int temp;
for(i = 0; i < n; i++)
{
do
{
printf("\nNhap vao A[%i] = ", i);
scanf("%d", &temp);
}while( i > 0 && is_existed_arr(A, i+1, temp));
A[i] = temp;
}
}
// Ham kiem tra xem x da xuat hien trong mang A hay chua?
bool is_existed_arr(int A[], int n, int x)
{
int i;
for(i = 0; i < n; i++)
if(x == A[i])
return true;
return false;
}
Kết quả:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Nhap vao A[0] = -2 Nhap vao A[1] = 0 Nhap vao A[2] = 3 Nhap vao A[3] = 6 Nhap vao A[4] = -2 Nhap vao A[4] = 3 Nhap vao A[4] = 9 Mang A A[0] = -2 A[1] = 0 A[2] = 3 A[3] = 6 A[4] = 9 |
Leave a Reply