C++ 中数组中所有成对连续元素的乘积
给定一个包含 n 个整数的数组 arr[n],任务是找出所有成对连续元素的乘积。
数组 arr[] 中的连续元素是,如果我们处于第 i 个元素,即 arr[i],则其连续元素将是 arr[i+1] 或 arr[i-1],因此乘积将是 arr[i] * arr[i+1] 或 arr[i] * arr[i-1]。
输入
arr[] = {1, 2, 3, 4}输出
2, 6, 12
解释
Splitting into pairs {1,2}, {2, 3}, {3, 4}
Their results will be 1*2 = 2, 2*3 = 6, 3*4 = 12输入
arr[] = {9, 5, 1, 2, 6, 10}输出
45, 5, 2, 12, 60
解释
Splitting into pairs {9, 5}, {5, 1}, {1, 2}, {2, 6}, {6, 10}
Their results will be 9*5 = 45, 5*1 = 5, 1*2 = 2, 2*6=12, 6*10=60用于解决此问题的算法如下 −
从数组的第 0 个元素开始循环,直到它小于 n-1。
对于每一个 i 检查它的 i+1,逐一对 i 和 i+1 求积并打印结果。
算法
Start
Step 1→ Declare function to calculate product of consecutive elements
void product(int arr[], int size)
Declare int product = 1
Loop For int i = 0 and i < size – 1 and i++
Set product = arr[i] * arr[i + 1]
Print product
End
Step 2 → In main()
Declare int arr[] = {2, 4, 6, 8, 10, 12, 14 }
Declare int size = sizeof(arr) / sizeof(arr[0])
Call product(arr, size)
Stop示例
#include <iostream>
using namespace std;
//functio to find the product of consecutive pairs
void product(int arr[], int size){
int product = 1;
for (int i = 0; i < size - 1; i++){
product = arr[i] * arr[i + 1];
printf("%d ", product);
}
}
int main(){
int arr[] = {2, 4, 6, 8, 10, 12, 14 };
int size = sizeof(arr) / sizeof(arr[0]);
printf("product is : ");
product(arr, size);
return 0;
}输出
如果运行上述代码,它将生成以下输出 −
product is : 8 24 48 80 120 168
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP