Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 6310
Последний выпуск: 19.06.2015

Помогите решить

88K
23 мая 2014 года
Natush
2 / / 23.05.2014
Здравствуйте! Помогите пожалуйста решить задачку.
К сожалению в принципе не понимаю что делать, предмет нам не преподали, а решение требуют. Заранее благодарю!!!
В одномерном массиве, состоящем из n вещественных элементов, вы-числить:
• сумму элементов массива с нечетными номерами;
• Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями.
20K
26 мая 2014 года
ellor!
198 / / 24.05.2012
Если
Цитата:
предмет нам не преподали, а решение требуют

соответствует действительности, идите к декану или ректору, там надо свои отстаивать свои права, а не хныкать на форумах.

88K
26 мая 2014 года
Natush
2 / / 23.05.2014
Спасибо, помощь просто супер!!!
1.8K
26 мая 2014 года
Kuzya
184 / / 19.03.2008
а чего тут решатть? чего Вам не понятно в задании? Вам не понятно слово массив или нечётные номера?
392
05 июля 2014 года
cronya
421 / / 03.01.2009
В одномерном массиве, состоящем из n вещественных элементов, вы-числить:
• сумму элементов массива с нечетными номерами;
• Сжать массив, удалив из него все элементы, модуль которых не превышает 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;
}

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог