Skip to content

Commit af7c91a

Browse files
committed
refactor function name
1 parent e7468dd commit af7c91a

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

007_Array_and_Function.cpp

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#include<iostream>
2+
#include<math.h> //math.h - symbols imported in global namespace
3+
//cmath - c++ equivalent c header file. symbols inported in std namespace
4+
5+
6+
// Function declation
7+
double ScalarProduct (double [], double [], int);
8+
double ArraySum (double [], int);
9+
double ArrayNorm (double [], int);
10+
void PrintArrayVert (double [], int );
11+
12+
int main(int argc, char const *argv[]) {
13+
double dArr1[] = {1.0, 2.0, 3.0, 4.0};
14+
double dArr2[] = {4.0, 3.0, 2.0, 1.0};
15+
int nArr2D[3][4] = { {0,1,2}, {4,5,6,7}, {8,9,10,11} };
16+
17+
int nSize = sizeof(dArr1)/sizeof(*dArr1);
18+
PrintArrayVert(dArr1, nSize);
19+
std::cout << "\nArray Product = " << ScalarProduct(dArr1, dArr2, nSize) << '\n';
20+
std::cout << "\nArray Sum = " << ArraySum(dArr1, nSize) << '\n';
21+
std::cout << "\nArray Norm = " << ArrayNorm(dArr1, nSize) << '\n';
22+
23+
return 0;
24+
}
25+
26+
// Function definition
27+
// double ScalarProduct (double )
28+
29+
void PrintArrayVert(double dArr[], int nSize){
30+
for (int i = 0; i <= nSize-1; i++){
31+
std::cout << "v[" << i << "] = " << dArr[i] << '\n' ;
32+
}
33+
}
34+
35+
double ScalarProduct(double dArr1[], double dArr2[], int nSize){
36+
double dSum = 0.0;
37+
for (int i = 0; i <= nSize -1; i++){
38+
dSum = dSum + dArr1[i] * dArr2[i];
39+
}
40+
return dSum;
41+
}
42+
43+
double ArraySum(double dArr[], int nSize){
44+
double dSum = 0.0 ;
45+
for (int i = 0; i <= nSize - 1; i++){
46+
dSum = dSum + dArr[i];
47+
}
48+
return dSum;
49+
}
50+
51+
double ArrayNorm(double dArr[], int nSize){
52+
double dSum = 0.0 ;
53+
54+
for (int i = 0; i <= nSize - 1; i++){
55+
dSum = dSum + dArr[i] * dArr[i];
56+
}
57+
return sqrt(dSum);
58+
}

0 commit comments

Comments
 (0)