Hi, I am

Ngô Tôn

I am a programmer.

Home / Programming / C/C++ / Đảo ngược dãy số

Đảo ngược dãy số

Yêu cầu:

Viết chương trình nhập vào dãy số a gồm n số nguyên ( n <= 100 ).
• Hãy đảo ngược dãy đó.
Ví dụ: Nhập a: 3 4 5 2 0 4 1
Dãy sau khi đảo: 1 4 0 2 5 4 3
• (*)Hãy kiểm tra xem dãy đã cho có thứ tự chưa? (dãy được gọi là thứ tự khi là dãy tăng hoặc dãy giảm ).


Thuật toán:

Code:

/************************************************************
#include "stdio.h"
#include "conio.h"
#include "string.h"

#define INT_SIZE sizeof(int)
#define ARR_MAX 100

void invert_arr(int A[], int n);
bool is_order_arr(int A[], int n);
void print_arr(int A[], int n, char name_arr);

void main()
{
int A[] = {6, 5, -2, 3, 5, 4, 14, 11, 9, 16, 0, -1, 12};
int n = sizeof(A)/INT_SIZE;

print_arr(A, n, 'A');
invert_arr(A, n);
print_arr(A, n, 'B');
if(is_order_arr(A, n))
printf("\nArray A is order");
else
printf("\nArray A isn't order");
getch();
}
//Invert array
void invert_arr(int A[], int n)
{
int i, j = n-1;
int temp;

for(i = 0; i < n/2; i++)
{
temp = A[i];
A[i] = A[j];
A[j] = temp;
j--;
}
}

//Check whether array is order or not?
//Return: true: if to be order array
//Return: false: otherwise
bool is_order_arr(int A[], int n)
{
//bool asend_flg = false, descend_flg = false;
int i;
bool res = true;
if(n < 2)
{
return false;
}
if(A[0] >= A[1])
{
for(i = 1; i < n-1; i++)
if(A[i] < A[i+1])
return false;
}
else
{
for(i = 1; i < n-1; i++)
if(A[i] > A[i+1])
return false;
}
return true;
}

//Display array
void print_arr(int A[], int n, char name_arr)
{
int i;
printf("\n=============================");
for(i = 0; i < n; i++)
{
printf("\n%c[%d] = %d", name_arr, i, A[i]);
}
}

Kết quả:

Yêu cầu: Viết chương trình nhập vào dãy số a gồm n số nguyên ( n <= 100 ). • Hãy đảo ngược dãy đó. Ví dụ: Nhập a: 3 4 5 2 0 4 1 Dãy sau khi đảo: 1 4 0 2 5 4 3 • (*)Hãy kiểm tra xem dãy đã cho có thứ tự chưa? (dãy được gọi là thứ tự khi là dãy tăng hoặc dãy giảm ). Thuật toán: Code: Kết quả: [crayon-5a1521f9b36f9794134917/]

User Rating: 5 ( 1 votes)

About ngoton

Ngô Tôn is a programmer. He is crazy about new gadgets and up to date with latest technology trends. Use comments to notify any issues you are facing.

Check Also

Xây dựng một lớp Time mô tả thông tin về giờ, phút giây

Yêu cầu: Xây dựng một lớp Time mô tả thông tin về giờ, phút giây. …

Leave a Reply

Your email address will not be published. Required fields are marked *