Mảng đối xứng là gì

Bỏ qua nội dung

Nhân tiện ôn lại kiến thức về lập trình xem lại một số bài tập c++. Ở đây mình có một bài về c++ kiểm tra một mảng có tính chất đối xứng không theo định nghĩa phần tử a[i] == a[n – i -1]. Và nếu mảng không đối xứng thì phải bỏ đi bao nhiêu phần tử của mảng để có thể xắp xếp thành mảng đối xứng.

Cách giải bài này là ta sẽ tiến hành đếm có bao nhiêu cặp số giống nhau trong mảng [gọi là c] và sau khi đếm nếu c == l /2 [trong đó l là số phần tử của mảng] thì mẳng đó có thể sắp xếp đối xứng, ngược lại thì không.

Để tránh bị đếm trùng ta dùng một mảng để lưu lại cờ là ptu đó đã đếm rồi.

int main[int argc, char *argv[]]

{

    int a[] = {4, 8, 4, 58, 4, 12, 3, 4, 343, 7, 566, 8, 58, 12, 3, 343, 7};

    int l = sizeof[a] / sizeof[a[0]];

    int f[l];

   for[ int i=0; i

Chủ Đề