Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
IRR
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 4
1

Вычислить сумму элементов массива с нечётными номерами

23.01.2013, 14:14. Просмотров 998. Ответов 3
Метки нет (Все метки)

2. В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму эле-ментов массива с нечётными номерами. Сжать массив, удалив из него все элементы, мо-дуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нуля-ми.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2013, 14:14
Ответы с готовыми решениями:

Вычислить сумму элементов массива с нечётными номерами
помогите пожалуйста. В одномерном массиве, состоящем из N вещественных...

Найти сумму элементов массива с нечётными номерами
В одномерном массиве, состоящем из n вещественных элементов, вычислить:...

Определить произведение абсолютных значений элементов массива с чётными номерами и сумму значений элементов с нечётными
Дан массив c0, c1, c2,…, cn-1. Определить произведение абсолютных значений...

Массив: Найти сумму элементов с нечётными номерами в заданной последовательности.
Дана последовательность из n целых чисел. Найти сумму элементов с нечётными ...

Найти наибольший элемент массива А, меньший произведения элементов с нечётными номерами
найти наибольший элемент массива А, меньший произведения элементов с нечётными...

3
Invader_Zim
Twilight Parasite
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
23.01.2013, 16:21 2
IRR, И в чем проблема?
0
3BEPb_TyTa
18 / 18 / 4
Регистрация: 18.05.2010
Сообщений: 83
23.01.2013, 17:09 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
int main(void){
    int i;
    const int size = 10;
    double arr[size];
 
    // Ввод елементов
    for(i = 0; i < size; i++){
        cin >> arr[i];
    }
 
    // Подсчёт суммы
    double summ = 0;
    for(i = 0; i < size; i += 2)
        summ += arr[i];
 
    // Сжатие массива
    for(i = 0; i < size; i++)
        if(abs(arr[i]) <= 1)
            arr[i] = 0;
    for(i = 0; i < size; i++)
        if(arr[i] == 0)
            for(int j = i; j < size - 1; j++){
                arr[j] = arr[j + 1];
            }
 
    // Вывод на экран
    for(i = 0; i < size; i++)
        cout << arr[i] << " ";
    cout << endl;
    return 0;
}
P.S. причём тут рекурсивные функции?
0
-=ЮрА=-
Заблокирован
Автор FAQ
23.01.2013, 18:42 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от 3BEPb_TyTa Посмотреть сообщение
P.S. причём тут рекурсивные функции?
- при том что всё нужно сделать с их помощью

IRR, вот по быстрому рекурсивные заполнение печать и подсчёт суммы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <ctime>
#include <iostream>
using namespace std;
 
//ÐåêóðñèâГ*îå Г§Г*ïîëГ*ГҐГ*ГЁГҐ
void rekyrsFill(int * arr, int i, int n);
//ÐåêóðñèâГ*Г*Гї ГЇГҐГ·Г*ГІГј
void rekyrsPrint(int * arr, int i, int n);
//ÐåêóðñèâГ*ûé ïîäñ÷¸ò ñóììû Г·ВёГІГ*ûõ ýëåìåГ*òîâ
int rekyrsOddSum(int * arr, int i, int n);
 
int main()
{
    srand(time(0));//ÓñòГ*Г*Г*âëèâГ*ГҐГ¬ Г§Г*Г*Г·ГҐГ*ГЁГҐ ГЈГҐГ*ГҐГ°Г*òîðГ* ñëó Г·ГЁГ±ГҐГ«
    int n;
    int * arr = 0;
    while(true)
    {
        cout<<"n = ";
        if(!(cin>>n) || cin.get() != '\n')//ââîäèì ÷èñëî ýëåìåГ*òîâ
            cout<<"Incorrect input"<<endl;
        else
        {
            arr = new int[n];//âûäåëÿì ГЇГ*ìÿòü ïîä Г§Г*Г¤Г*Г*Г*îå ÷èñëî ýëåìåГ*òîâ
            cout<<"Array : "<<endl;
            rekyrsFill (arr, 0, n);//ÐåêóðñèâГ*îå Г§Г*ïîëГ*ГҐГ*ГЁГҐ
            rekyrsPrint(arr, 0, n);//ÐåêóðñèâГ*Г*Гї ГЇГҐГ·Г*ГІГј
            //ÐåêóðñèâГ*ûé ïîäñ÷¸ò ñóììû Г·ВёГІГ*ûõ ýëåìåГ*òîâ
            cout<<"Sum = "<<rekyrsOddSum(arr, 0, n)<<endl;
        }
        cin.clear();//ñáðîñ ГґГ«Г*ãîâ îøèáîê
        cin.sync();//î÷èñòêГ* ГЎГіГґГґГҐГ°Г* ââîäГ*
    }
    return 0;
}
 
void rekyrsPrint(int * arr, int i, int n)
{
    cout<<arr[i]<<" ";
    if(i < n)
        rekyrsPrint(arr, i + 1, n);
    else
    cout<<endl;
}
 
void rekyrsFill(int * arr, int i, int n)
{
    arr[i] = rand() % 10 - 5;//ñëó÷ ÷èñëî Гў äèГ*ГЇГ*çîГ*ГҐ -5...5
    if(i < n)
        rekyrsFill(arr, i + 1, n);
}
 
int rekyrsOddSum(int * arr, int i, int n)
{
    int sum = i % 2 ? 0 : arr[i];
    if(i < n)
        sum += rekyrsOddSum(arr, i + 1, n);
    return sum;
}
0
Миниатюры
Вычислить сумму элементов массива с нечётными номерами  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2013, 18:42

Вычислить сумму элементов массива с нечетными номерами
В одномерном массиве, состоящем из n вещественных элементов, вычислить: —...

Вычислить сумму элементов массива с нечетными номерами
Вычислить: 1)сумму элементов массива с нечетными номерами 2)сумму элементов...

Вычислить сумму элементов массива с нечетными номерами
В одномерном массиве, состоящем из n вещественных элементов, вычислить: сумму...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru