Гляньте еще одну прогу.
Задание. Вычислить среднее значение элементов, расположенных в массиве между первым и последним нулевым значением. Поменять местами минимальный и максимальный элементы. Создать функции для определения среднего значения, макс. и мин.
Код
# 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;
}
# 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;
}