Помогите решить
К сожалению в принципе не понимаю что делать, предмет нам не преподали, а решение требуют. Заранее благодарю!!!
В одномерном массиве, состоящем из n вещественных элементов, вы-числить:
• сумму элементов массива с нечетными номерами;
• Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями.
соответствует действительности, идите к декану или ректору, там надо свои отстаивать свои права, а не хныкать на форумах.
Спасибо, помощь просто супер!!!
а чего тут решатть? чего Вам не понятно в задании? Вам не понятно слово массив или нечётные номера?
• сумму элементов массива с нечетными номерами;
• Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями.
Код:
#include <iostream>
#include <ctime>
int* Arr(const int size);
void Process(int*arr, int size);
void ArrayOut(int* arr, int size);
int main()
{
srand((unsigned)time(NULL));
int size = rand()%10+5;
int* myArr = Arr(size);
std::cout<<"Array:"<<std::endl;
ArrayOut(myArr,size);
Process(myArr,size);
std::system("pause");
delete[] myArr;
return 0;
}
int* Arr(int size)
{
int* arr = new int [size];
for(int idx=0; idx<size; idx++)
{
arr[idx] = rand()%5-3;
}
return arr;
}
void ArrayOut(int* arr, int size)
{
for(int idx=0; idx<size; idx++)
{
std::cout<<arr[idx]<<" ";
}
std::cout<<std::endl;
}
void Process (int* arr, int size)
{
int summa = 0, count = 0, jdx=0;
int* newArr = new int[size];
for(int idx=0; idx<size; idx++)
{
if(idx !=0 && idx%2 != 0)
{
summa+=arr[idx];
}
if(abs((arr[idx])) > 1)
{
newArr[jdx] = arr[idx];
jdx++;
}
}
for(int idx=jdx; idx<size; idx++)
{
newArr[idx] = 0;
}
std::cout<<"Odd Index Summa = "<<summa<<std::endl;
std::cout<<"New Array:"<<std::endl;
ArrayOut(newArr,size);
delete[] newArr;
}
#include <ctime>
int* Arr(const int size);
void Process(int*arr, int size);
void ArrayOut(int* arr, int size);
int main()
{
srand((unsigned)time(NULL));
int size = rand()%10+5;
int* myArr = Arr(size);
std::cout<<"Array:"<<std::endl;
ArrayOut(myArr,size);
Process(myArr,size);
std::system("pause");
delete[] myArr;
return 0;
}
int* Arr(int size)
{
int* arr = new int [size];
for(int idx=0; idx<size; idx++)
{
arr[idx] = rand()%5-3;
}
return arr;
}
void ArrayOut(int* arr, int size)
{
for(int idx=0; idx<size; idx++)
{
std::cout<<arr[idx]<<" ";
}
std::cout<<std::endl;
}
void Process (int* arr, int size)
{
int summa = 0, count = 0, jdx=0;
int* newArr = new int[size];
for(int idx=0; idx<size; idx++)
{
if(idx !=0 && idx%2 != 0)
{
summa+=arr[idx];
}
if(abs((arr[idx])) > 1)
{
newArr[jdx] = arr[idx];
jdx++;
}
}
for(int idx=jdx; idx<size; idx++)
{
newArr[idx] = 0;
}
std::cout<<"Odd Index Summa = "<<summa<<std::endl;
std::cout<<"New Array:"<<std::endl;
ArrayOut(newArr,size);
delete[] newArr;
}