Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Fox007
0 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 148
#1

Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) - C++

14.03.2013, 17:57. Просмотров 1891. Ответов 30
Метки нет (Все метки)

Задача такова:Ввести линейный целочисленный массив до 50 элементов,подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне. Проконтролировать введенную размерность и данные на корректность.Выполнить обработку введенных данных. Вывести результат обработки.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2013, 17:57     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне)
Посмотрите здесь:
C++ Дано целочисленный одномерный массив А, состоящий из 14 элементов. Обчилслиты и напечатать сумму четных элементов, которые находятся на нечетных места
Динамический массив: подсчитать сумму четных элементов C++
Подсчитать количество элементов массива лежащих в заданном диапазоне C++
C++ Для каждого столбца подсчитать сумму четных положительных элементов и записать данные в новый массив
Вычислить сумму четных элементов массива и вывести отрицательные элементы на экран в обратном порядке C++
Подсчитать элементы массива меньшие нуля и вывести сумму этих элементов C++
Ввести двумерный массив 4*4, подсчитать кол-во (+) и (-) элементов и вывести статистику по строкам, сколько (+), сколько (-) и подсчитать общую сумму C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
14.03.2013, 18:33     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #2
проверок на ввод данных не делал
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
#include <algorithm>
#include <iterator>
#include <iostream>
#include <numeric>
#include <random>
#include <vector>
#include <ctime>
 
int main ()
{
    auto randomGenerator = std::bind(std::uniform_int_distribution <> (0, 50),
                                     std::mt19937 (time(nullptr)));
    int vectorSize;
    std::cout << "Enter the size: ";
    std::cin >> vectorSize;
 
    std::vector <int> vector (vectorSize);
    std::generate(vector.begin(), vector.end(), randomGenerator);
    std::copy(vector.begin(), vector.end(), std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl << "Sum of even elements: ";
    std::cout << std::accumulate(vector.begin(), vector.end(), 0, [] (int currSum, int currNum) -> int {
        if (!(currNum % 2))
            currSum += currNum;
        return currSum;
    });
 
    int fLimit, sLimit;
    std::cout << std::endl << "Input [a, b]: ";
    std::cin >> fLimit >> sLimit;
    std::cout << "Elements in your limits: " << std::endl;
    std::copy_if(vector.begin(), vector.end(), std::ostream_iterator <int> (std::cout, " "), [fLimit, sLimit] (int currNum) -> bool {
        return (currNum >= fLimit && currNum <= sLimit);
    });
 
    return 0;
}
Fox007
0 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 148
14.03.2013, 22:00  [ТС]     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #3
Ev[G]eN, а можно с объяснением что каждая строчка обозначает?

Добавлено через 3 минуты
Ev[G]eN, на твоем коде ещё ошибку выдает,не компилируется

Добавлено через 2 часа 29 минут
Подправьте код пожалуйста,кто разбирается
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
14.03.2013, 22:18     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #4
Цитата Сообщение от Fox007 Посмотреть сообщение
Подправьте код пожалуйста,кто разбирается
да..пожалуйста...не могу понять где ошибка...
Fox007
0 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 148
15.03.2013, 07:38  [ТС]     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #5
Ev[G]eN, не компилируется,ошибка где то,и если не сложно объясните каждую строчку

Добавлено через 9 часов 14 минут
кто нибудь может помочь?
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
15.03.2013, 07:52     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #6
Fox007, #include "stdafx.h" в самое начало напишете, перед всеми #include

Добавлено через 4 минуты
И #include <functional> после всех.
Ev[G]eN, functional для std::bind забыли.
Fox007
0 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 148
15.03.2013, 20:20  [ТС]     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #7
UnsKneD, переправь код плиз весь,и если не сложно к каждой строчке напиши комментарии

Добавлено через 1 час 15 минут
Ребят периправте код пожалуйста

Добавлено через 1 час 8 минут
functional для std::bind забыли. Что это значит?
Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
15.03.2013, 20:25     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #8
C++
1
2
3
 if (!(currNum % 2))
 currSum += currNum;
 return currSum;
ретурн currSum не относится к условию?
Fox007
0 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 148
15.03.2013, 21:46  [ТС]     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #9
Я не много не понимаю,подкорректируйте код
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
15.03.2013, 21:47     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #10
Цитата Сообщение от Kins Посмотреть сообщение
ретурн currSum не относится к условию?
нет
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
15.03.2013, 21:56     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #11
Fox007, уже порядком надоедает..."поправьте, поправьте"...что поправить?
я выложил код, значит я его проверил, значит он не может не работать!
да, пропустил один заголовочный файл..что, нет рук его вставить? написали какой, написали куда.
вот скриншот выполнения. от темы отписался.
Миниатюры
Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне)  
Fox007
0 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 148
16.03.2013, 18:30  [ТС]     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #12
Ev[G]eN, я пытаюсь внести те изменения которые вы мне сказали,но программа всё равно не проходит.Пожалуйста напишите тут код который у вас скомпилировался,а то я как не пытаюсь у меня ошибки выдает при компиляции.

Добавлено через 10 часов 35 минут
Кому не трудно,напишите работоспособный код.
Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
16.03.2013, 18:59     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #13
все работает

проверьте чтобы у вас были все заголовочные файлы:

C++
1
2
3
4
5
6
7
8
9
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <iterator>
#include <numeric>
#include <random>
#include <vector>
#include <ctime>
#include <functional>
Fox007
0 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 148
16.03.2013, 22:49  [ТС]     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #14
Kins, заголовочные файлы все есть но не компилируется,скинь сюда код который у тебя с компилировался.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2013, 22:57     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне)
Еще ссылки по теме:
Создать массив, выводим сумму всех нечетных/четных элементов, найти минимальный и максимальный элементы C++
Дан целочисленный одномерный массив А, состоящий из 14 элементов. вычислить и напечатать сумму парши элементов C++
Найти сумму элементов S, стоящих на четных местах в заданном массиве a1, a2, ..., a10 C++
Создать линейный массив целых чисел, подсчитать количество положительных элементов массива C++
C++ Создайте двумерный массив целочисленный массив А[1..10], [1..7] и найдите сумму всех его элементов имеющие оба нечетные индексы.

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

Или воспользуйтесь поиском по форуму:
Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
16.03.2013, 22:57     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне) #15
Цитата Сообщение от Fox007 Посмотреть сообщение
скинь сюда код который у тебя с компилировался.
Дык, все работает, что скодил тов.Ev[G]eN, и работает без проблем. Я просто не понимаю почему у вас не работает.)

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
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <iterator>
#include <numeric>
#include <random>
#include <vector>
#include <ctime>
#include <functional>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    auto randomGenerator = std::bind(std::uniform_int_distribution <> (0, 50),
                                     std::mt19937 (time(nullptr)));
    int vectorSize;
    std::cout << "Enter the size: ";
    std::cin >> vectorSize;
 
    std::vector <int> vector (vectorSize);
    std::generate(vector.begin(), vector.end(), randomGenerator);
    std::copy(vector.begin(), vector.end(), std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl << "Sum of even elements: ";
    std::cout << std::accumulate(vector.begin(), vector.end(), 0, [] (int currSum, int currNum) -> int {
        if (!(currNum % 2))
            currSum += currNum;
        return currSum;
    });
 
    int fLimit, sLimit;
    std::cout << std::endl << "Input [a, b]: ";
    std::cin >> fLimit >> sLimit;
    std::cout << "Elements in your limits: " << std::endl;
    std::copy_if(vector.begin(), vector.end(), std::ostream_iterator <int> (std::cout, " "), [fLimit, sLimit] (int currNum) -> bool {
        return (currNum >= fLimit && currNum <= sLimit);
    });
 
    system ("pause");
    return 0;
}
Yandex
Объявления
16.03.2013, 22:57     Линейный целочисленный массив (подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне)
Закрытая тема Создать тему
Опции темы

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