Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/34: Рейтинг темы: голосов - 34, средняя оценка - 4.85
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672

Написать функцию, которая возвращает сумму элементов массива с номерами от left до right

19.08.2019, 19:26. Показов 6963. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать функцию, которая принимает массив размера N и целые числа left и right и возвращает сумму элементов массива с номерами от left до right включительно.
Задать размерность массива как глобальную константу. Аргументы left и right использовать как аргументы по умолчанию. Функция должна также работать с типами short, float, double.

Добавлено через 35 минут
Не понимаю что тут требуется
Вот код:
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
#include <iostream>
#include<ctime>
using namespace std;
 
void Zap_mas(int arr[], int sz)
{
    //цикл заполнение
    for (int i = 0; i < sz; i++)
        arr[i] = rand() % 100 + 10;
}
 
void Vivod_mas(int arr[], int sz)
{
    //цикл вывод
    for (int i = 0; i < sz; i++)
        cout << arr[i] << " ";
}
 
int main()
{
    setlocale(LC_ALL, "rus");
    srand(time(NULL));
 
    const unsigned int s = 10;
    int arr[s], sum = 0;
    cout << "Массив: ";
    Zap_mas(arr, s);
    Vivod_mas(arr, s);
 
    cout << endl;
    system("pause");
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.08.2019, 19:26
Ответы с готовыми решениями:

Написать функцию, которая возвращает сумму отрицательных элементов одномерного массива.
помогите пож-та.Написать функцию, которая возвращает сумму отрицательных элементов одномерного массива. Тип элементов массива –...

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

Написать функцию, которая возвращает среднее значение элементов одномерного массива
2. Написать функцию, которая возвращает среднее значение элементов одномерного массива.

10
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
19.08.2019, 19:29
Цитата Сообщение от Rudman132 Посмотреть сообщение
Не понимаю что тут требуется
Что именно вам не понятно?
Проходиться по массиву вы умеете, судя по функциям Vivod_mas и Zap_mas
0
Заблокирован
19.08.2019, 19:31
C++
1
2
3
4
5
6
7
8
9
void Zap_mas(int arr[], int sz)
..
int left,right;
cout<<"left right: ";
cin>>left>>right;
int s=0;
for(int i=left; i<=right; i++)
s+=arr[i];
cout<<"sum="<<s<<endl;
0
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672
19.08.2019, 19:32  [ТС]
Цитата Сообщение от Cortas Посмотреть сообщение
Что именно вам не понятно?
Нужно посчитать все елементы и вывести от left до right?
0
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
19.08.2019, 19:34
Rudman132
Цитата Сообщение от Rudman132 Посмотреть сообщение
возвращает сумму элементов массива с номерами от left до right
Просто посчитать сумму от 3 элемента до 5 при длине массива в 10, например. Про вывод этих элементов тут, вроде, ничего не написано
0
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672
19.08.2019, 19:42  [ТС]
Цитата Сообщение от Pvt Посмотреть сообщение
C++
А можно полный код?

Добавлено через 7 минут
Цитата Сообщение от Cortas Посмотреть сообщение
вывод этих элементов
Вывести все равно надо, чтоб увидеть, как это сделать?
0
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
19.08.2019, 19:44
Цитата Сообщение от Rudman132 Посмотреть сообщение
Вывести все равно надо, чтоб увидеть, как это сделать?
Так у вас же есть функция для этого: Vivod_mas. Разве это не ваш код?
0
Заблокирован
19.08.2019, 19:44
Цитата Сообщение от Rudman132 Посмотреть сообщение
А можно полный код?
стр.29->стр.3 моего кода
0
 Аватар для BaLahmuT
88 / 32 / 16
Регистрация: 01.06.2019
Сообщений: 672
19.08.2019, 19:46  [ТС]
Цитата Сообщение от Pvt Посмотреть сообщение
стр.29->стр.3 моего кода
Не понял
0
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
19.08.2019, 19:48
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
const size_t N = 4;
 
template <typename T>
T sum(T* arr, size_t l = 0, size_t r = N - 1) {
    return l == r ? arr[r] : arr[l] + sum(arr, l + 1, r);
}
 
int main()
{
    float arr[N]{ 1.11, 2.22, 3.33, 4.44 };
    std::cout << sum(arr);
    return 0;
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
20.08.2019, 01:42
Лучший ответ Сообщение было отмечено Rudman132 как решение

Решение

номера и индексы отличаются на единичку number=index+1

функция:
C++
1
2
3
4
5
6
7
8
template <typename T>
T Sum(T* arr, int left=1, int right=N) 
{
    T sum=0;
    for (int i=left-1; i<right; i++)          
    sum+=arr[i];       
    return sum;
}
пример реализации:
Кликните здесь для просмотра всего текста
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
60
61
62
63
64
65
66
67
#include <iostream>
using namespace std; 
const int N=3;
 
template <typename T>
void Print (T* arr)
{
    for (int i=0; i<N; i++)      
    cout << arr[i] << " ";
    cout << "\n";
}
 
template <typename T>
T Sum(T* arr, int left=1, int right=N) 
{
    T sum=0;
    for (int i=left-1; i<right; i++)
    {       
    sum+=arr[i];   
    }
    return sum;
}
 
int main()
{
    int left, right;
    
    short A[N]={1, 2, 5};
    cout << "Array A: ";
    Print(A);
    float B[N]={ 0.1f, 0.5f, 2.5f};
    cout << "Array B: ";
    Print(B);
    double C[N]={ 0.3, 1.5, 10.1};
    cout << "Array C: ";
    Print(C);
    
    char ch;
    cout << "Full array ? Y - YES, N or other - NO\n"; cin >> ch;
    if (ch!='Y')
    {
        do
        {    
        cout << "left position="; cin >> left;    
        if (1>left || left>N) cout << "1<=left<=" << N <<  " Repeat please...\n";
        }
        while (1>left || left>N);
        do
        {    
        cout << "right position="; cin >> right;    
        if (left>right || right>N) cout << left << "<=right<=" << N <<  " Repeat please...\n";
        }
        while (left>right || right>N);
        cout << "local sum_A=" << Sum(A,left,right) << "\n";
        cout << "local sum_B=" << Sum(B,left,right) << "\n";
        cout << "local sum_C=" << Sum(C,left,right) << "\n";
    }   
    else 
    {
    cout << "sum_A=" << Sum(A) << "\n";
    cout << "sum_B=" << Sum(B) << "\n";  
    cout << "sum_C=" << Sum(C) << "\n";    
    }
    
system("pause");
return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.08.2019, 01:42
Помогаю со студенческими работами здесь

Функция: вернуть сумму элементов массива с номерами от left до right включительно
Написать функцию, которая принимает массив размера N и целые числа left и right и возвращает сумму элементов массива с номерами от left до...

Написать функцию, которая возвращает сумму чисел в заданном диапазоне
Кто знает как решить задачу на С++, при помощи рекурсии? Написать функцию, которая возвращает сумму чисел в заданном диапазоне. ...

Написать функцию, которая определяет сумму положительных элементов массива целых чисел
Помогите написать программу) 1)Написать функцию, которая определяет сумму положительных элементов массива целых чисел. Параметрами...

Написать шаблонную функцию,которая вычислит сумму значений отрицательных элементов массива числового типа
Помогите с задачей на шаблонные функции. Я их вообще не понимаю. Вот задание.Мне сказали, что решение не такое большое. Заранее спасибо. ...

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
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