/* */

Hi, I am

Ngô Tôn

I am a programmer.

Home / Programming / C/C++ / Chèn X vào dãy sao cho dãy vẫn có thứ tự tăng dần

Chèn X vào dãy sao cho dãy vẫn có thứ tự tăng dần

Yêu cầu:

Cho dãy a gồm n số nguyên có thứ tự tăng dần. Nhập vào một phần tử nguyên X, viết hàm chèn X vào dãy sao cho dãy vẫn có thứ tự tăng dần(không sắp xếp).

Thuật toán:

Code:

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

void insert_at_i_pos(int A[], int* n, int pos, int x);
void insert_arr(int A[], int* n, int x);
void print_arr(int A[], int n);

void main( void )
{
int A[] = {-2, 3, 4, 7, 8, 11, 90, 100};
int n = sizeof(A)/sizeof(int);

print_arr(A, n);
insert_arr(A, &n, 30);
print_arr(A, n);

getch();
}

//insert x into array
void insert_arr(int A[], int* n, int x)
{
int i;
for(i = 0; i < *n; i++)
{
if(x <= A[i])
{
insert_at_i_pos(A, n, i, x);
return;
}
}
(*n)++;
A[i] = x;
}

//insert x at i position in array
void insert_at_i_pos(int A[], int* n, int pos, int x)
{
int i;
(*n)++;
for(i = *n - 1; i > pos; i--)
{
A[i] = A[i-1];
}
A[i] = x;
}

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

Kết quả:

Yêu cầu: Cho dãy a gồm n số nguyên có thứ tự tăng dần. Nhập vào một phần tử nguyên X, viết hàm chèn X vào dãy sao cho dãy vẫn có thứ tự tăng dần(không sắp xếp). Thuật toán: Code: Kết quả: [crayon-5befc07dd5256147447981/]

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 *