1 / 24

Arrays & Functions Lesson xx

Arrays & Functions Lesson xx. Objective. Pass one element of an array to a function Pass entire array to function Write a program that passes an array to a function. Pass One Element of Array to a Function. double squareRoot (double x);

kyria
Download Presentation

Arrays & Functions Lesson xx

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arrays & Functions Lesson xx

  2. Objective • Pass one element of an array to a function • Pass entire array to function • Write a program that passes an array to a function

  3. Pass One Element of Array to a Function double squareRoot (double x); int main() {   double num[100] = {6.5,7.16,8.33,17.87};   double sr; sr = squareRoot(num[3]);   return 0; } 6.5 num[0] 7.16 num[1] 8.33 num[2] 17.87 num[3] . . . 0 num[4] 0 0 num[5] num[99]

  4. Pass One Element of Array to a Function double squareRoot (double x); int main() {   double num[100] = {6.5,7.16,8.33,17.87};   double sr; sr = squareRoot(num[3]);   return 0; } 6.5 num[0] 7.16 num[1] 8.33 num[2] 17.87 num[3] . . . 0 num[4] 0 0 num[5] num[99]

  5. Pass an Entire Array to a Function int minimum( int g [ ]); int main() { int grade[100]; int smallest; // code to read in the grades  smallest = minimum(grade);   return 0; }

  6. Pass an Entire Array to a Function int minimum( int g [ ]); int main() { int grade[100]; int smallest; // code to read in the gradessmallest = minimum(grade);   return 0; }

  7. Program Description Write a program that reads in two 80 digit numbers. Pass the 2 numbers to a function that adds the two numbers together.

  8. Program Logic- Plan A int a, b, c; cin >> a >> b; c = a + b;

  9. Program Logic Plan B a[0] c[0] b[0] a[1] c[1] b[1] b[2] a[2] c[2] b[79] a[79] c[79] a[80] . . . . . . . . . b[80] c[80]

  10. Program Listing int main() { int a[81]= {0}, b[81]= {0}, c[81], i; void add (intaa[ ],int bb[ ],int cc[ ]); for (i = 1; i < 81; i++) /*read in array a*/ { cout << "enter number " << i << " "; cin >>a[i]; } cout << "\n"; for (i = 1; i < 81; i++) /*read in array b*/ { cout << "enter number " << i << " "; cin >>b[i]; }

  11. Program Listing Part 2 add (a,b,c); /*call function to add 2 numbers*/ cout << "the sum =\n"; for ( i = 0; i< 81; i++) cout << c[i]; return 0; } /*******************add routine*****************/ void add (intaa[ ], int bb[ ], int cc[ ]) { int carry = 0, i; for (i = 80; i > -1; i--) { cc[i] = aa[i] +bb[i]+ carry; if (cc[i] > 9) { cc[i] = cc[i]-10; carry = 1; } else carry = 0 ; } }

  12. Set Up Arrays int main() { int a[81]= {0}, b[81]= {0}, c[81], i; void add (intaa[ ],int bb[ ],int cc[ ]); 0 0 0 0 0 0 0 0 0 0 a[0] c[0] b[0] a[1] b[1] c[1] a[2] c[2] b[2] c[79] b[79] a[79] . . . . . . . . . b[80] a[80] c[80]

  13. Input 1st 80 Digit Number for (i = 1; i < 81; i++) /*read in array a*/ { cout << "enter number " << i << " "; cin >>a[i]; } 7 0 0 0 1 0 0 9 0 0 0 8 b[0] a[0] c[0] a[1] c[1] b[1] c[2] b[2] a[2] b[79] c[79] a[79] . . . . . . . . . b[80] a[80] c[80]

  14. Input 2nd 80 Digit Number for (i = 1; i < 81; i++) /*read in array b*/ { cout << "enter number " << i << " "; cin >>b[i]; } 7 0 0 6 1 3 5 9 0 5 0 8 b[0] a[0] c[0] a[1] c[1] b[1] c[2] b[2] a[2] b[79] c[79] a[79] . . . . . . . . . b[80] a[80] c[80]

  15. Call to Function add( ) add (a,b,c); /*call function to add 2 numbers*/ 7 0 0 6 1 3 5 9 0 5 0 8 b[0] a[0] c[0] a[1] c[1] b[1] c[2] b[2] a[2] b[79] c[79] a[79] . . . . . . . . . b[80] a[80] c[80]

  16. Addition Logic 129 +34 ------ 163 129 +34 ------ 3 1 129 +34 ------ 63 C B A

  17. Function add ( ) void add (intaa[ ], int bb[ ], int cc[ ]) 7 0 0 6 1 3 5 9 0 5 0 8 bb[0] aa[0] cc[0] aa[1] cc[1] bb[1] cc[2] bb[2] aa[2] aa[79] bb[79] cc[79] . . . . . . . . . bb[80] aa[80] cc[80]

  18. Set Up Carry & Add 2 Rightmost Digits int carry = 0, i; for (i = 80; i > -1; i--) { cc[i] = aa[i] +bb[i]+ carry; 80 i 7 0 6 0 5 3 1 9 8 0 13 0 5 aa[0] bb[0] cc[0] cc[1] bb[1] aa[1] aa[2] cc[2] bb[2] aa[79] bb[79] cc[79] . . . . . . . . . 0 carry bb[80] aa[80] cc[80]

  19. Check to See If Sum is 2 Digits if (cc[i] > 9) { cc[i] = cc[i]-10; carry = 1; } 80 i 7 0 6 0 5 3 1 9 8 0 3 0 5 aa[0] bb[0] cc[0] cc[1] bb[1] aa[1] aa[2] cc[2] bb[2] aa[79] bb[79] cc[79] . . . . . . . . . 1 carry bb[80] aa[80] cc[80]

  20. 2nd Time Through Loop for (i = 80; i > -1; i--) { cc[i] = aa[i] +bb[i]+ carry; 79 i 7 0 6 0 5 3 5 1 9 8 0 3 5 0 aa[0] cc[0] bb[0] cc[1] bb[1] aa[1] bb[2] aa[2] cc[2] aa[79] bb[79] cc[79] . . . . . . . . . 1 carry bb[80] aa[80] cc[80]

  21. No Carry Situation if (cc[i] > 9) { cc[i] = cc[i]-10; carry = 1; } else carry = 0 ; 79 i 7 0 6 0 5 3 5 1 9 8 0 3 5 0 aa[0] cc[0] bb[0] cc[1] bb[1] aa[1] bb[2] aa[2] cc[2] aa[79] bb[79] cc[79] . . . . . . . . . 0 carry bb[80] aa[80] cc[80]

  22. Finished Sum for (i = 80; i > -1; i--) { cc[i] = aa[i] +bb[i]+ carry; if (cc[i] > 9) { cc[i] = cc[i]-10; carry = 1; } else carry = 0 ; } -1 i 7 0 6 1 0 3 5 1 3 5 9 4 1 5 0 8 0 3 cc[0] bb[0] aa[0] cc[1] bb[1] aa[1] cc[2] bb[2] aa[2] aa[79] bb[79] cc[79] . . . . . . . . . 0 carry bb[80] aa[80] cc[80]

  23. Print the Sum in main( ) cout << "the sum =\n"; for ( i = 0; i< 81; i++) cout << c[i]; return 0; -1 i 7 0 6 1 3 0 5 9 3 4 1 5 0 8 1 0 5 3 c[0] b[0] a[0] c[1] b[1] a[1] a[2] c[2] b[2] a[79] b[79] c[79] . . . . . . . . . 0 carry b[80] a[80] c[80]

  24. Summary • Pass one element of an array to a function • Pass entire array to function • Write a program that passes an array to a function

More Related