error message

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • yohanus
    New Member
    • Jan 2009
    • 2

    error message

    im haveing problems with the following piece of code
    in getting an error durring compilling which says
    error c2065; 'arraySize' : undeclared identifier line 54
    error c2065: 'anArray' : undeclared identifer line 55
    (Shown underlined and in Itilacs in the code
    [code=c]
    #include <iostream>

    using namespace std;

    int sum(int [], int);
    int countNmbrsBigge r(int [], int, int);
    int average(int [], int);
    int high(int [], int);
    int low(int [], int);
    int find(int [], int, int);


    int main (void ){
    //test the array class
    const int arraySize = 10;
    int theArray[arraySize] = {1, 5, 25, 10, 12, 9, 24, 24, 22, 2};

    cout << "Sum: " << sum(theArray, arraySize) << endl;
    cout << "Count of numbers bigger than 10: " << countNmbrsBigge r(theArray, arraySize, 10) << endl;
    cout << "Average: " << average(theArra y, arraySize) << endl;
    cout << "High: " << high(theArray, arraySize) << endl;
    cout << "Low: " << low(theArray, arraySize) << endl;
    cout << "Find: " << find(theArray, arraySize, 25) << endl;
    cout << "Find: " << find(theArray, arraySize, 100) << endl;

    }


    int sum(int theArray [], int theArraySize){
    //returns the sum of the values in theArray
    int sum = 0;
    for (int i = 0; i < arraySize; i++) {
    [I]sum += anArray;
    }
    return sum;
    }

    int countNmbrsBigge r(int theArray [], int theArraySize, int Number){
    //count the value in the array greater than
    //the parameter

    }

    int average(int theArray [], int theArraySize){
    //average the values in the array

    }

    int high(int theArray [], int theArraySize){
    //find the highest value in the array

    }

    int low(int theArray [], int theArraySize){
    //find the lowest value in the array
    int lowValue = theArray[0];
    for (int i = 0; i < theArraySize; i++){
    if (theArray[i] < lowValue){
    lowValue = theArray[i];
    }
    }
    return lowValue;
    }

    int find(int theArray [], int theArraySize, int theNumber){
    //return the subscript of the supplied argument
    //return -1 if not found

    }[/code]
    Last edited by pbmods; Jan 19 '09, 12:21 AM. Reason: Added CODE tags.
  • newb16
    Contributor
    • Jul 2008
    • 687

    #2
    Because these variableas are visible only within main()
    Use parameter names:
    Code:
     for (int i = 0; i <theArraySize ; i++) {
       sum += theArray[i];

    Comment

    • yohanus
      New Member
      • Jan 2009
      • 2

      #3
      how do I do this I am new to C++ and am having a hard time with it the code I gave was givne to me to fix errors and these two are the ones that I could not figure out.

      Comment

      • newb16
        Contributor
        • Jul 2008
        • 687

        #4
        what part of the sentence is it a question

        Comment

        • weaknessforcats
          Recognized Expert Expert
          • Mar 2007
          • 9214

          #5
          The customary approach is to pass the array size as a second argument.

          Since both C and C++ pass only the address oif an array and not the array irtself, from the viewpoint of the called function all you have is an address. The fact that that the address is the start of an array has been lost. This is called decay of array. Therefore, always pass the number of elements to your functions.

          Comment

          Working...