Yêu cầu:
Cho mảng A có n phần tử. Hãy cho biết mảng này có đối xứng hay không?
Thuật toán:
– Kiểm tra điều kiện A[i] = A[n-i]
Code:
/************************************************************
#include "stdio.h"
#include "conio.h"
#include "string.h"
#define INT_SIZE sizeof(int)
#define ARR_MAX 100
bool is_arr_sym(int A[], int n);
void main()
{
int A[] = {6, 5, -2, 1, 2, 1, -2, 5, 6};
int B[] = {1, 2, 3, 3, 2, -1};
int n = sizeof(A)/INT_SIZE;
int m = sizeof(B)/INT_SIZE;
if(is_arr_sym(A, n))
printf("\nArray A is symmetry");
else
printf("\nArray A isn't symmetry");
if(is_arr_sym(B, m))
printf("\nArray B is symmetry");
else
printf("\nArray B isn't symmetry");
getch();
}
//Check whether array is symmetry or not?
//Return: true if array is symmetry
// false if array isn't symmetry
bool is_arr_sym(int A[], int n)
{
int i, j = n-1;
for(i = 0; i < n/2; i++)
{
if(A[i] != A[j])
{
return false;
}
j--;
}
return true;
}
Kết quả:
1 2 |
Array A is symmetry Array B isn't symmetry |
Leave a Reply