// minOfArray.cc   example of recursion P. Conrad CISC220 06J

#include <iostream>
#include <cstdlib>
using namespace std;

int minOfArray(int n, int a[])
{

  if (n==1)
    {
      return a[0];
    }
  else
    {
      int min = minOfArray(n-1, a);
      if ( a[n-1] < min)
	return a[n-1];
      else
	return min;
    }
}


int main(int argc, char *argv[])
{
  if (argc <= 3)
    {
      cerr << "Usage: " << argv[0] << " n a[0] a[1] a[2] ... a[n-1]" << endl;
      exit(1);
    }

  int n = atoi(argv[1]);
  
  int *a = new int[n];

  for (int i=0; i<n; i++)
    a[i] = atoi(argv[i+2]);
  
  cout << "minOfArray(n,a)=" << minOfArray(n,a) << endl;
  return 0;
}





