Trying to find the maximum term in an array using C -


i trying write program can find maximum of array using maxterm function.

basically tell program how many numbers want put in array, put in each number, , tells largest number.

the program works fine arrays of size 4 or smaller arrays longer 4 maxterm returned incorrect: it's large number wasn't part of array.

for example:

please enter number of data values: 4 enter value 1: 1 enter value 2: 3 enter value 3: 4 enter value 4: 1 maximum term 4 

but:

please enter number of data values: 5 enter value 1: 1 enter value 2: 3 enter value 3: 8 enter value 4: 4 enter value 5: 2 maximum term 32767 

here code:

#include <stdio.h>  int maxterm(int *numbers, int *size)     {  int index = 0; int max = numbers[0];    (index = 0 ; index < *size ; index++)   {     if (max < numbers[index+1])   {         max = numbers[index+1];     } } return max;  }  int main(int argc, const char * argv[]) { int num, index; printf(" please enter number of data values: "); scanf("%d", &num); //user enters in length of number list int array[num]; (index = 0 ; index < num ; index++) {     printf("please enter in value %i: ", (index + 1));     scanf("%i", &array[index]); //list created number number } int maxi = maxterm(array, &num); //the highest number in list determined using maxterm function.  printf("the maximum term %i", maxi);  return 0; } 

where error?

you going out of bounds here:

for (index = 0 ; index < *size ; index++)   {     if (max < numbers[index+1])   {         max = numbers[index+1];     }  } 

instead iterate normally, except start second element.


Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -