Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Hu
0 / 0 / 0
Регистрация: 04.07.2014
Сообщений: 3

Алгоритмы обработки массивов: вычислить сумму объединения

04.07.2014, 21:04. Показов 1905. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста.Понятия не имею как это делать.
 Комментарий модератора 
Перепишите задание! Ст. 5.18 Правил!


Добавлено через 57 минут
Заданы массивы целых чисел A(n),n ≤ 500 и B(m) ,m ≤ 200 . Вычислить сумму объединения A∪B . Объединение A ∪ B – это множество элементов массива A и B, взятых по одному разу. Напечатать элементы объединения и их сумму.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.07.2014, 21:04
Ответы с готовыми решениями:

Алгоритмы обработки массивов
Задано массив чисел A (n), n <= 500. Разработать программу, которая вычисляет сумму всех чисел, находящихся между первым и последним...

Алгоритмы обработки одномерных массивов
Здраствуйте, помогите решить задачу: произведение элементов массива, расположенных между максимальным и минимальным элементами. ...

Алгоритмы обработки одномерных массивов
Помогите решить задачу буду благдарен Вычислить произведение отрицательных элементов массива Yi (i=1, ... 15) . стоящих на нечетных местах

13
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
05.07.2014, 00:28
В общем случае, без испльзования STL, 1) ввод массивов уникальных элементов, 2) сортировка (для упрощения) либо сортировка одновременно с вводом, 3) потом формирование 3 массива в который сначала копируем первый массив и затем отсутсвующие в первом элементы из второго.
Как-то так.
0
05.07.2014, 01:04

Не по теме:

Цитата Сообщение от vua72 Посмотреть сообщение
массивов уникальных элементов
Мне кажется уникальность не обязательна.

0
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
05.07.2014, 01:27
gray_fox, как бы множества подразумевают
0
1406 / 648 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
05.07.2014, 11:55
Цитата Сообщение от vua72 Посмотреть сообщение
gray_fox, как бы множества подразумевают
Подразумевают 2 массива и результирующее множество.

Warning: Код ниже совсем не претендует на оптимальность. Ввод должен оканчиваться символом конца ввода (в Windows это Ctrl+Z)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <numeric>
 
int main()
{
    int n, m;
    std::cin >> n >> m;
    std::vector<int> arr(n+m), result(n+m);
    std::copy(std::istream_iterator<int>(std::cin), std::istream_iterator<int>(), arr.begin());
    std::sort(arr.begin(), arr.end());
    std::unique_copy(arr.begin(), arr.end(), result.begin());
    while(result.size()>1 && !result[result.size()-1]) result.pop_back();
    std::cout << std::accumulate(result.begin(), result.end(), 0) << std::endl;
    std::copy(result.begin(), result.end(), std::ostream_iterator<int>(std::cout, " "));
    return 0;
}
Вот так уже хорошо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <algorithm>
#include <iterator>
#include <set>
#include <numeric>
 
int main()
{
    int n, m;
    std::cin >> n >> m;
    auto it = std::istream_iterator<int>(std::cin);
    std::set<int> el(it, std::istream_iterator<int>());
    std::cout << std::accumulate(el.begin(), el.end(), 0) << std::endl;
    std::copy(el.begin(), el.end(), std::ostream_iterator<int>(std::cout, " "));
    return 0;
}
0
Hu
0 / 0 / 0
Регистрация: 04.07.2014
Сообщений: 3
06.07.2014, 15:33  [ТС]
[C++ Error] Unit1.cpp(15): E2034 Cannot convert '_STL::istream_iterator<int,char,_STL::c har_traits<char>,int>' to 'int'
[C++ Error] Unit1.cpp(16): E2285 Could not find a match for '_STL::set<int,_STL::less<int>,_STL::all ocator<int> >::set(int,_STL::istream_iterator<int,ch ar,_STL::char_traits<char>,int>)'
[C++ Warning] Unit1.cpp(20): W8004 'it' is assigned a value that is never used
0
1406 / 648 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
06.07.2014, 15:37
Hu, какой компилятор?
0
Hu
0 / 0 / 0
Регистрация: 04.07.2014
Сообщений: 3
06.07.2014, 15:55  [ТС]
Borland C++ Builder 6
0
1406 / 648 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
06.07.2014, 15:57
Я писал для компиляторов, поддерживающих C++11.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.07.2014, 16:10
Dani, зачем n,m уже не понятно
Цитата Сообщение от Hu Посмотреть сообщение
Borland C++ Builder 6
Должно быть достаточно заменить строки:
C++
1
2
auto it = std::istream_iterator<int>(std::cin);
std::set<int> el(it, std::istream_iterator<int>());
на
C++
1
std::set<int> el(std::istream_iterator<int>(std::cin), std::istream_iterator<int>());
0
1406 / 648 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
06.07.2014, 16:19
Цитата Сообщение от Tulosba Посмотреть сообщение
зачем n,m уже не понятно
самому не хотелось - но в условии A(n) и B(m), подумал что нужно ввести размеры. Ввел, когда работал с векторами и забыл удалить

Tulosba, кстати, я изначально такой код и писал, но его не пропустила студия.
Пруф
Цитата Сообщение от Visual Studio 2012
1> 1.cpp
1>1.cpp(11): error C2751: std::cin: имя параметра функции не может быть полным именем
1>1.cpp(12): error C2228: выражение слева от ".begin" должно представлять класс, структуру или объединение
1>1.cpp(12): error C2228: выражение слева от ".end" должно представлять класс, структуру или объединение
1>1.cpp(12): error C2780: _Ty std::accumulate(_InIt,_InIt,_Ty,_Fn2): требует аргументов: 4, имеется: 3
1> D:\Program Files\Microsoft Visual Studio 2012\VC\include\numeric(45): см. объявление "std::accumulate"
1>1.cpp(13): error C2228: выражение слева от ".begin" должно представлять класс, структуру или объединение
1>1.cpp(13): error C2228: выражение слева от ".end" должно представлять класс, структуру или объединение
Вот этот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <algorithm>
#include <iterator>
#include <set>
#include <numeric>
 
int main()
{
    int n, m;
    std::cin >> n >> m;
    std::set<int> el(std::istream_iterator<int>(std::cin), std::istream_iterator<int>());
    std::cout << std::accumulate(el.begin(), el.end(), 0) << std::endl;
    std::copy(el.begin(), el.end(), std::ostream_iterator<int>(std::cout, " "));
    return 0;
}
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.07.2014, 16:25
Dani, добавим пару скобок и вуаля:
C++
1
std::set<int> el((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
1
1406 / 648 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
06.07.2014, 16:29
Tulosba, круто, работает. В g++ тот код компилится, получается - какой-то баг в студии? Почем она не компилила такой код, есть предположения?

Вот последняя версия:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <algorithm>
#include <iterator>
#include <set>
#include <numeric>
 
int main()
{
    std::set<int> el((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    std::cout << std::accumulate(el.begin(), el.end(), 0) << std::endl;
    std::copy(el.begin(), el.end(), std::ostream_iterator<int>(std::cout, " "));
    return 0;
}
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.07.2014, 16:36
Цитата Сообщение от Dani Посмотреть сообщение
какой-то баг в студии?
Вероятно дело в этом.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.07.2014, 16:36
Помогаю со студенческими работами здесь

Алгоритмы обработки одномерных массивов
Вычислить произведение отрицательных элементов массива Yi (i=1, ... 15) . стоящих на нечетных местах.Помогите плз решить буду оч благодарен

Алгоритмы обработки двумерных массивов.
Здравствуйте, помогите решить 3 задачи, буду очень Вам благодарен. Нужно сделать в делфи с формой, буду очень признателен, если кинете...

Алгоритмы обработки одномерных массивов
Дан одномерный целочисленный массив. Найти сумму элементов массива, расположенных между первым и последним нулевыми элементами. Обьясните...

Алгоритмы обработки двумерных массивов
Определить наименьшую из сумм элементов каждой строки матрицы (i=1,...,5, j=1,…3). Обьясните как решать плз. Добавлено через 29...

Алгоритмы обработки двумерных массивов
Задан двухмерный массив целых чисел A размером N на M. Найти: произведение элементов, расположенных на главной диагонали. Напишите...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru