/* */

Hi, I am

Ngô Tôn

I am a programmer.

Home / Programming / C/C++ / Chèn X vào phía sau phần tử có giá trị lớn nhất trong mảng

Chèn X vào phía sau phần tử có giá trị lớn nhất trong mảng

Yêu cầu:

– Chèn phần tử có giá trị X vào phía sau phần tử có giá trị lớn nhất trong mảng.

(Nếu mảng có nhiều phần tử có cùng giá trị lớn nhất. Thì chèn X vào phía sau tất cả các phần tử có giá trị lớn nhất.)

Thuật toán:

Tìm vị trí của phần tử lớn nhất trong mảng

– Chèn phần tử X vào sau phần tử lớn nhất

Code:

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

int max(int A[], int n);
void insert_behind_max(int A[], int *n, int x);
void print_arr(int A[], int n);

void main( void )
{
int A[] = {1, -9, 13, 27, 5, 9, 2, 10, 12, 27};
int len = sizeof(A)/sizeof(int);
printf("\nMang truoc khi chen 0");
//insert 0 after each maximum element of array
print_arr(A, len);
insert_behind_max(A, &len, 0);
printf("\nMang sau khi chen 0");
print_arr(A, len);
getch();
}

// Find maximum value in array
int max(int A[], int n)
{
int i;
int maxElmt = A[0];
for(i = 1; i < n;i++)
{
if(maxElmt < A[i])
{
maxElmt = A[i];
}
}
return maxElmt;
}

// Append x to max value
void insert_behind_max(int A[], int *n, int x)
{
int i, j;
int maxElmt = max(A, *n);
for(i = *n - 1; i >= 0; i--)
{
if(A[i] == maxElmt)
{
(*n)++;
for(j = *n - 1; j > i; j--)
{
A[j] = A[j-1];
}
A[j+1] = x;
}
}
}

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

Kết quả:

Yêu cầu: – Chèn phần tử có giá trị X vào phía sau phần tử có giá trị lớn nhất trong mảng. (Nếu mảng có nhiều phần tử có cùng giá trị lớn nhất. Thì chèn X vào phía sau tất cả các phần tử có giá trị lớn nhất.) Thuật toán: – Tìm vị trí của phần tử lớn nhất trong mảng – Chèn phần tử X vào sau phần tử lớn nhất Code: Kết quả: [crayon-5befbfb385fc2469208423/]

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 *