Все исправил, заработала.

Гляньте еще одну прогу.

Задание. Вычислить среднее значение элементов, расположенных в массиве между первым и последним нулевым значением. Поменять местами минимальный и максимальный элементы. Создать функции для определения среднего значения, макс. и мин.

Код
# include <iostream.h>
# include <stdio.h>
# include <math.h>
# include <conio.h>
# include <alloc.h>

//-----------------------------------------------------------------
    double Sred(int *a, int I, int I2)
    {
      int i,s=0,sym=0;
      for(i=I+1; i<I2-1; i++)
      {
    sym=sym+a[i];
        s++;
      }
      return (sym/s);
    }
//-----------------------------------------------------------------
    void MaxMin(int *a, int n)
    {
      int b,i,max=0,imax;
      for(i=0; i<n; i++)
      {
    if(a[i]>max)
        {
      imax=i;
      max=a[i];
        }
      }
      int min=0,imin;
      for(i=0; i<n; i++)
      {
    if(a[i]<min)
        {
      imin=i;
      min=a[i];
        }
      }
      b=max;
      a[imax]=a[imin];
      a[imin]=max;
    }
//-----------------------------------------------------------------
    int main()
    {
      clrscr();
      int b,i,I,n,I2,s=0;
      cout<<"n="; cin>>n;
      int* a = new int[n];
      cout<<"El-ma";
      for (i=0; i<n; i++)
      {
    cout<<"\na["<<i<<"]=";
    cin>>a[i];
        if(a[i]==0) s++;
      }
      if(s<2)
      {
    cout<<"Malo nylei!\n";
        return 0;
      }
      else
      {
    for (i=0; i<n; i++)
    if(a[i]==0)
        {
      I=i;
      break;
    }
    for (i=n; i>I; i--)
    {
      if(a[i]==0)
      {
        I2=i;
            break;
          }
        }
      }
      Sred(a,I,I2);
      MaxMin(a,n);
      for (i=0; i<n; i++)
    cout<<"\na["<<i<<"]="<<a[i];
      cout<<"Srednee zna4enie="<<Sred;
      delete []a;
      getch();
      return 1;
    }