Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
2 / 2 / 0
Регистрация: 07.06.2016
Сообщений: 63

Цикл для сложения элементов целочисленного массива

23.06.2016, 21:52. Показов 4605. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите написать цикл для сложения элементов целочисленного массива, типа a^1+b^2+c^3+...+k^n. при этом все элементы массива могут быть разными...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.06.2016, 21:52
Ответы с готовыми решениями:

Для целочисленного массива найти сумму четных элементов
Для целого массива A найти сумму четных элементов . Прошу помочь составить блок схему .

Перегрузка операции + для сложения элементов динамического массива
Написал класс, создаваемый объект является динамическим массивом заполняемый рандомом по умолчанию, или через cin, пытаюсь описать...

Для одномерного целочисленного массива найти количество и процентное соотношение отрицательных элементов
Люди добрые, помогите! Для одномерного целочисленного массива из 10 элементов найти количество и процентное соотношение отрицательных...

14
807 / 534 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
23.06.2016, 22:14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
    vector<int> numbers = 
    {
        1, 2, 3, 4, 5, 6, 7, 8, 9
    };
 
    int sum(0);
 
    for (auto& i : numbers)
        sum += i;
 
    cout << sum << endl;
 
    system("pause");
    return 0;
}
0
2 / 2 / 0
Регистрация: 07.06.2016
Сообщений: 63
23.06.2016, 22:20  [ТС]
спасибо, а можно перевести это на язык начинающих, которые еще даже функций не учили, но знакомы с логическими операциями, циклами, массивами и элементами ввода вывода ?

Добавлено через 2 минуты
просто вот это:
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
for (auto& i : numbers)
и вот это:
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
vector<int> numbers
не понятно.
А еще я не могу увидеть возведение в степень...
0
807 / 534 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
23.06.2016, 22:23
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
    vector<int> numbers = // контейнер, по своей цели схож с массивом
    {
        1, 2, 3, 4, 5, 6, 7, 8, 9 // заполняем элеменами
    };
 
    int sum(0); // заведем переменную для хранения суммы
 
    for (auto& i : numbers) // в цикле пробежимся по всему "массиву"
        sum += i; // проходя каждый элемент, прибавим его к сумме
 
    cout << sum << endl; // выведем сумму
 
    system("pause");
    return 0;
}
Добавлено через 53 секунды
Цитата Сообщение от Техник228 Посмотреть сообщение
А еще я не могу увидеть возведение в степень
слов про возведение в степень в начале темы не было...
0
2 / 2 / 0
Регистрация: 07.06.2016
Сообщений: 63
23.06.2016, 22:29  [ТС]
Вы уж меня простите за назойливость, но я за вашей мыслью совсем не поспеваю... у вас очень подходящее имя (читать как комплимент)
вы можете представить этот код со стандартным for и элементарным массивом, а не контейнером, т.е. чтобы прям для совсем новичков...
я лично себе сделал эту считалочку с помощью pow, но в задании указано, что массив должен быть целочисленный. так что эта функция не подходит...

Добавлено через 1 минуту
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
слов про возведение в степень в начале темы не было...
я указал это непосредственно в сообщении, ниже "типа a^1+b^2+c^3+...+k^n"
0
807 / 534 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
23.06.2016, 22:51
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
#include <iostream>
using namespace std;
 
int main()
{
    int numbers[] =
    {
        1, 2, 3, 4, 5, 6, 7, 8, 9
    };
 
    long long sum(0), temp;
    auto saiz = sizeof numbers / sizeof *numbers;
 
    for (unsigned i(0), j; i < saiz; ++i)
    {
        for (j = 0, temp = 1; j < i + 1; ++j)
            temp *= numbers[i];
        sum += temp;
    }
 
    cout << sum << endl;
 
    system("pause");
    return 0;
}
0
 Аватар для meJevin
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
24.06.2016, 07:56
Ferrari F1,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
 
int main()
{
    vector<int> numbers =
    {
        1, 2, 3, 4, 5, 6, 7, 8, 9
    };
 
    cout << accumulate(numbers.begin(), numbers.end(), 0) << endl;
 
    system("pause");
    return 0;
}
0
2 / 2 / 0
Регистрация: 07.06.2016
Сообщений: 63
24.06.2016, 09:48  [ТС]
драсьте! еще один умник и еще один мегакод, чтоб прям "совсем для новичков"... ))
meJevin, я уже конечно разобрался что делает accumulate, опыт приобрел и все такое... за это спасибо.
Посчитать сумму элементов в массиве можно и с помощью самого обыкновенного цикла и это на самом деле проще пареной репы. Но вы попробуйте прочесть внимательно задачу, а после пестрить своими знаниями, да так чтобы помочь, а не просто выпендриться...

Добавлено через 8 минут
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
auto saiz = sizeof numbers / sizeof *numbers;
и вот это тоже шикарно! указатели рулят. и тоже прям "совсем для новичков"...
0
14 / 14 / 1
Регистрация: 17.08.2015
Сообщений: 460
24.06.2016, 09:52
Это раздражает, конечно, когда просишь попроще, а получаешь специально усложненные вещи. Ну хотят люди покозырять, что поделаешь

Посмотри мой вариант

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cmath>
#include <iostream>
#include <iostream>
 
using namespace std;
 
int main() {
 
    int A[10]={1,2,3,4,5,6,7,8,9,10};
    //здесь нужен тип переменной, чтобы в ней уместилось очень большое число, поэтому double
 double Summa=0;
  double temp; //временная переменная для того, чтобы хранить там элемент массива, умноженный на степень
    for(int i=0;i<10;i++){
       temp=  pow(A[i], i+1); //i+1 так как цикл начинается с нуля, а не с единицы как в твоем задании
       cout<<temp<<endl;
       Summa+=temp;
    }
 
    cout<<"Summa = "<<Summa<<endl;
 
 
return 0;
}
1
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
24.06.2016, 10:13
Или так, с динамическим массивом

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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale (0,""); //для вывода по русски
    system ("color 81");
    int n,i;
    double *x;
 
    cout << "Введите количество чисел для высисления :";
    cin >> n;
    x=new double[n];
    for (i=1; i<=n; i++)
    {
        cout << "Введите x[" << i << "]=";
        cin >> x[i];
    }
 
    double summ=0;
 
    for(int i=1; i<=n; i++)
    {
       summ+=pow(x[i],i);
    }
 
    cout << "\nЗначение суммы составляет --- " << summ << endl;
 
    system ("pause");
return 0;
}
можно упростить, подумай как.
1
2 / 2 / 0
Регистрация: 07.06.2016
Сообщений: 63
24.06.2016, 10:29  [ТС]
Цитата Сообщение от Blitzor DDD Посмотреть сообщение
Посмотри мой вариант
Цитата Сообщение от мановар Посмотреть сообщение
Или так
я тоже думал использовать pow, но меня смутило что эта функция используется только для значений с плавающей точкой, а массив должен быть целочисленный...
Я решил сначала создать целочисленный массив, после инициализировать его с помощью rand и перелить все его значения в другой массив типа double. посчитать задачу при помощи pow, при этом неявно присвоить результату целочисленный тип. получилось замутно. но вроде получилось... ))

Добавлено через 5 минут
просто я изначально искал альтернативу pow для целых чисел и думал, что ее можно заменить каким-то нехитрым циклом. но, как я уже убедился, нехитрым не получается... )))
0
807 / 534 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
24.06.2016, 11:53
Техник228, чем вас не устраивает мой код? вроде предельно просто все описал
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
#include <iostream>
using namespace std;
 
int main()
{
    int numbers[] =
    {
        1, 2, 3, 4, 5, 6, 7, 8, 9
    };
 
    long long sum(0), temp;
    auto saiz = sizeof numbers / sizeof *numbers; // получаем длину всего массива в байтах и делим ее на длину одного элемента
// так мы узнаем кол-во элементов в массиве
 
    for (unsigned i(0), j; i < saiz; ++i) // для каждого элемента в массиве выполним...
    {
        for (j = 0, temp = 1; j < i + 1; ++j) // возведение в степень
            temp *= numbers[i];
        sum += temp; // прибавим значение этой степени к общей сумме
    }
 
    cout << sum << endl;
 
    system("pause");
    return 0;
}
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
24.06.2016, 12:53
Цитата Сообщение от Техник228 Посмотреть сообщение
а можно перевести это на язык начинающих
так чтоли?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
 
int main()
{
    
    const size_t size = 5;
    int numbers[size] = { 3, 2, 4, -7, 2 };
 
    int sum = 0;
 
    for (size_t i = 0; i<size; ++i){
        int prod = numbers[i];
        for(size_t j = 0; j<i; ++j){
            prod *= numbers[i];
        }
        sum += prod;
    }
        
    std::cout << sum << std::endl;
}
http://rextester.com/RCG77825
0
 Аватар для meJevin
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
24.06.2016, 13:20
Техник228, а я и задание не прочитал, прости. Думал просто сумму всех элементов написать надо
0
2 / 2 / 0
Регистрация: 07.06.2016
Сообщений: 63
24.06.2016, 14:53  [ТС]
Я с вами общаюсь, как в другую страну попал, где у меня мизерный словарный запас, а вы пытаетесь объяснить историю государства на вашем родном языке... ))) но я стараюсь и продолжаю увеличивать свои знания.
Всем большое искреннее спасибо за помощь!
meJevin, Ни в коем случае не хотел обидеть

Вот к чему в итоге у меня получилось прийти. Путь по факту достижения цели оказался очень прост, а казалось...... ))

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
#include <iostream>
#include <ctime>
 
using namespace std;
void main ()
{
    const int size = 8;
    srand(time(0));
    int array [size];
    cout << "Array [8] = { ";
    for (int i=0; i<size; i++)
    {
        array [i] = rand()%60-30;
        cout << array[i] << " ";
    }
    cout << "}\n\n";
 
    long long sum=0;
    long long a, b;
    int c=array[0];
    for (int i=0; i<size; i++)
    {
        b=array[i];
        for (int j=0; j<i; j++)
        {
            a=b*array[i];
            b*=array[i];
        }
        if (i==0)
        sum+=c;
        else
            sum+=a;
    }
    cout << "The sum of the elements of our array,\n";
    cout << "((array[0]+(array[1])^2+(array[2])^3+...+(array[7])^8)): " << sum <<"\n\n";
 
    system ("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.06.2016, 14:53
Помогаю со студенческими работами здесь

Найти среднее арифметическое остатков от деления на 11 элементов целочисленного массива из 30 элементов
#include &quot;stdio.h&quot; void main() { const int N=30; int A,i,sum; float sred,ost; for(i = 0; i &lt; N; i++) scanf(&quot;%d&quot;,&amp;A); ...

Найти среднее арифметическое двузначных элементов целочисленного массива из 30 элементов
Найти среднее арифметическое двузначных элементов целочисленного массива из 30 элементов.

Как созать цикл for для нахождения произведения элементов массива
Вот к примеру для нахождения суммы необходимо так: for (i=0, sum=0; i&lt;n; i++ ) sum+=m; А вот как для нахождения произведения у меня...

Найти сумму элементов целочисленного массива
Найти сумму элементов одномерного целочисленного массива, расположенных до минимального элемента. Нахождение минимального элемента оформить...

Сумма элементов неупорядоченного целочисленного массива
Составить программу, которая вычисляет сумму элементов неупорядоченного целочисленного массива М, состоящий из 12 цифр, не повторяющиеся,...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru