keks666sex
22-03-2012, 02:50
Помогите пожалуйста разобраться, задали задание:
В целочисленном динамическом массиве Х(N) удалить все нечетные числа.
Проверить, как поменялось положение максимального элемента массива.
Найти среднее арифметическое элементов массива до и после удаления. В
программе написать функции: удаления элемента, поиска номера
максимального элемента, вычисления среднего арифметического элементов
массива.
Вроде бы все написал, но не могу написать саму функцию удаления элемента данного массива... Пишет, что нельзя удалить объект не являющийся указателем... Помогите пожалуйста. Можно ли удалить конкретные элементы динамического массива...
#include<iostream>
#include<iomanip>
#include<ctime>
using namespace std;
void coutt(int *_mass,int _size) //Функция вывода массива на экран
{ for(int i=0;i<_size;i++)
cout<<_mass[i]<<" ";
cout<<endl;
}
void raschet(int *_mass,int _size) //Функция вычисления максимального элемента и среднего значения элементов
{
int max=_mass[0],summ=0,elem;
float elementi=0;
float sred;
for(int i=0;i<_size;i++)
{
if(max<=_mass[i])
{
max=_mass[i];
elem=i;
}
summ=summ+_mass[i];
elementi++;
}
sred=summ/elementi;
cout<<"Maxsimalnii element massiva "<<"[ "<<elem<<" ] "<<max<<endl;
cout<<"Srednee znachenie elementov "<<sred<<endl;
cout<<endl;
}
void delet(int *_mass,int _size) //Функция удаления нечетного элемента массива
{ for(int i=0;i<_size;i++)
{
if(_mass[i]%2!=0)
delete _mass[i];
}
}
void main ()
{
srand(time(0));
int size;
cout<<"\t\t\tVvedite razmer massiva -> ";cin>>size;
cout<<endl;
int *mass=new int[size]();
for(int i=0;i<size;i++)
{
mass[i]=rand()%10;
cout<<mass[i]<<" ";
}
cout<<endl;
raschet(mass,size);
cout<<endl;
delet(mass,size);
coutt(mass,size);
raschet(mass,size);
delete []mass;
system ("pause");
}
В целочисленном динамическом массиве Х(N) удалить все нечетные числа.
Проверить, как поменялось положение максимального элемента массива.
Найти среднее арифметическое элементов массива до и после удаления. В
программе написать функции: удаления элемента, поиска номера
максимального элемента, вычисления среднего арифметического элементов
массива.
Вроде бы все написал, но не могу написать саму функцию удаления элемента данного массива... Пишет, что нельзя удалить объект не являющийся указателем... Помогите пожалуйста. Можно ли удалить конкретные элементы динамического массива...
#include<iostream>
#include<iomanip>
#include<ctime>
using namespace std;
void coutt(int *_mass,int _size) //Функция вывода массива на экран
{ for(int i=0;i<_size;i++)
cout<<_mass[i]<<" ";
cout<<endl;
}
void raschet(int *_mass,int _size) //Функция вычисления максимального элемента и среднего значения элементов
{
int max=_mass[0],summ=0,elem;
float elementi=0;
float sred;
for(int i=0;i<_size;i++)
{
if(max<=_mass[i])
{
max=_mass[i];
elem=i;
}
summ=summ+_mass[i];
elementi++;
}
sred=summ/elementi;
cout<<"Maxsimalnii element massiva "<<"[ "<<elem<<" ] "<<max<<endl;
cout<<"Srednee znachenie elementov "<<sred<<endl;
cout<<endl;
}
void delet(int *_mass,int _size) //Функция удаления нечетного элемента массива
{ for(int i=0;i<_size;i++)
{
if(_mass[i]%2!=0)
delete _mass[i];
}
}
void main ()
{
srand(time(0));
int size;
cout<<"\t\t\tVvedite razmer massiva -> ";cin>>size;
cout<<endl;
int *mass=new int[size]();
for(int i=0;i<size;i++)
{
mass[i]=rand()%10;
cout<<mass[i]<<" ";
}
cout<<endl;
raschet(mass,size);
cout<<endl;
delet(mass,size);
coutt(mass,size);
raschet(mass,size);
delete []mass;
system ("pause");
}