Tính tổng các giá trị lớn hơn 2 giá trị lân cận với nó trong mảng

0
856

Bài toán: Tính tổng các giá trị lớn hơn 2 giá trị lân cận với nó trong mảng.

Input:  mảng a có n phần tử

Xử lý: tìm các giá trị lớn hơn 2 giá trị lân cận

Gán sum=0

Duyệt mảng nếu a[i] >a[i-1] và a[i]>a[i+1]

Sum=sum+a[i]

Output:  Tổng các giá trị lớn hơn 2 giá trị lân cận

Hàm tìm các giá trị lớn hơn 2 giá trị lân cận

double Tong(int a[],int n)
{
	int i;
	double sum=0;
	for( i=1 ; i<n-1 ; i++ )
		if(a[i]>a[i-1] && a[i]>a[i+1])
			sum=sum+a[i];
	return sum;
}

Chương trình

#include<stdio.h>
#include<conio.h>
#include<math.h>
#define MAX 100
void nhapmang(int a[], int &n);
void xuatmang(int a[], int n);
double Tong(int a[],int n);
void main()
{
	int a[MAX],n;
	nhapmang(a,n);
	printf("\nNoi dung cua mang\n");
	xuatmang(a,n);
	double kq=Tong(a,n);
	printf("\ntong cac gia tri lon hon 2 gia tri lan can la: %8.2f",kq);
	printf("\nChuc cac ban hoc tot");
	getch();
}
void nhapmang(int a[], int &n)
{
	do
	{
		printf("\nSo phan tu trong mang ");
		scanf("%d",&n);
	}while(n<=0 || n>100);
	for(int i=0 ; i<n ; i++ )
	{
		printf("\nSo phan tu a[%d] la: ",i);
		scanf("%d",&a[i]);
	}
}
void xuatmang(int a[], int n)
{
	for(int i=0 ; i<n ; i++ )
		printf("%4d",a[i]);
}
double Tong(int a[],int n)
{
	int i;
	double sum=0;
	for( i=1 ; i<n-1 ; i++ )
		if(a[i]>a[i-1] && a[i]>a[i+1])
			sum=sum+a[i];
	return sum;
}

Mình chia sẽ code này đê các bạn tham khảo các vấn đề tương tự. Tuy nhiên các bạn nên tự làm lại, đừng nên copy. Nếu gặp vấn đề gì khó khăn, hoặc thắc mắc gì, các bạn có thể đặt câu hỏi ở cuối bài. Mình sẽ giải đáp.

Chúc các bạn thành công!

Xem thêm: Tính tổng các giá trị có chữ số hàng chục là chữ số 5 trong mảng

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.