Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 28.06.2018
Сообщений: 4
1

В целочисленном массиве найти количество элементов, находящихся вне заданного интервала

28.06.2018, 19:06. Показов 2274. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток! С недавних пор начал изучать язык С++. Учусь в универе. Преподаватель задание файлы которого я прикрепил. Вот только задание из двух частей, я взял само задание без описания работы ну и соответственно сделал так как я его вижу. Код тоже прилагаю.
Подскажите можно ли этот код разбить на программные модули (что-бы требование преподавателя были выполнены)? Если можно то как?

Задание:
На вход системы последовательно и неограниченно во времени поступают элементы xi, где i - порядковый номер элемента, начиная с 1. Реализовать указанную в варианте обработку f(X) последовательности элементов X = (x1, x2, x3,...) с использованием схемы индуктивной обработки на пространстве последовательностей. Полученный набор выходных значений Y = (y1, y2, y3,...) рассматривается как результирующая последовательность. Значения элементов исходной последовательности должны запрашиваться у пользователя (приниматься со стандартного устройства ввода) по одному за раз. Сформированные выходные значения требуется выдавать сразу после их формирования на стандартное устройство вывода. Реализация обработки должна быть приведена в отдельном модуле.

Вариант 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
using namespace std;
 
int mas[10], nach = 0, kon = 0;
bool nachEl = false, konEl = false;
int main()
{
    setlocale(LC_ALL, "RUS");
    cout << "Введите 10 элементов массива. От одного до десяти"
         << "\n";
    for (int i = 0; i <= 9; i++)
        cin >> mas[i];
 
    cout << "Вы ввели масcив: ";
    for (int i = 0; i <= 9; i++)
        cout << mas[i] << " ";
    cout << "\n";
    cout << "Введите начальный элемент диапазона! "
         << "\n";
    cin >> nach;
    for (int i = 0; i <= 9; i++)
    {
        if (nach != mas[i])
        {
            nachEl = true;
        }
    }
    cout << "Введите конечный элемент диапазона! "
         << "\n";
    cin >> kon;
    for (int i = 0; i <= 9; i++)
    {
        if (kon == mas[i])
            konEl = true;
    } //если существует
    if ((nachEl == true) & (konEl == true))
    {
 
        cout << "кол-во элементов = " << 9 - (kon - nach) << "\n";
    }
    else
    {
        cout << "Вы ввели элементы которых нет в массиве!!! ";
    }
    system("pause");
}
Вложения, ожидающие проверки
Тип файла: png 3.png
Тип файла: png common.png
Тип файла: txt Контрольная работа.txt
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.06.2018, 19:06
Ответы с готовыми решениями:

Найти количество элементов массива вне заданного интервала
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdbool.h&gt; #include &lt;math.h&gt; #include...

Определить количество и сумму элементов, значение которых находится вне заданного интервала (Pascal -> C++)
В матрице целых чисел размера 10х15 определить количество и сумму элементов, значение которых...

В целочисленном массиве найти количество повторяющихся элементов
В целочисленном массиве нужно найти количество повторяющихся элементов. Как это сделать кто-то...

В одномерном целочисленном массиве найти сумму элементов, количество нечетных отрицательных элементов
Дан одномерный массив целых чисел A размера N=7. Найти и вывести а) сумму его элементов б)...

8
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
28.06.2018, 19:31 2
ну на функции разложи
0
0 / 0 / 0
Регистрация: 28.06.2018
Сообщений: 4
28.06.2018, 19:34  [ТС] 3
Как это правильно сделать?
0
Hitoku
28.06.2018, 19:38
  #4
 Комментарий модератора 
detroid88, правильно будет переписать задание в тему вручную, как того требуют правила:
5.18 Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
0
0 / 0 / 0
Регистрация: 28.06.2018
Сообщений: 4
28.06.2018, 19:49  [ТС] 5
как редактировать? кнопки активной нет
0
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
28.06.2018, 21:33 6
detroid88, ну тогда новым сообщением
0
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
28.06.2018, 21:34 7
detroid88, кнопка активна 5 минут после отправки, а на счёт
Цитата Сообщение от detroid88 Посмотреть сообщение
Как это правильно сделать?
это вам к преподу с претензиями что он вас так плохо учит.

Разбить на функции (т.е. подпрограммы, по вашему "программные модули") это создать некое поле видимости к примеру:
C++
1
2
3
4
void Function()
{
 
}
и в вашем случае добавить параметры:
C++
1
2
3
4
void Function(int arr[], int size) // arr - сам массив, size - его размер
{
 
}
и нужно проводить действия именно с этими параметрами arr и size
и вместо void (которое означает что функция ничего не вернет (т.е. не получите из неё никакого результата который можно принять) написать в вашем случае int[] (int для простого)
0
0 / 0 / 0
Регистрация: 28.06.2018
Сообщений: 4
29.06.2018, 00:19  [ТС] 8
описание того как должна быть сделана работа:
На вход системы последовательно и неограниченно во времени поступают элементы xi, где i — порядковый номер элемента, начиная с 1. Реализовать указанную в варианте обработку f(X) последовательности элементов X=(x1 х2 ,х3,...) с использованием схемы индуктивной обработки на пространстве последовательностей. Полученный набор выходных значений Y=(y1, y2, y3,...) рассматривается как результирующая последовательность. Значения элементов исходной последовательности должны запрашиваться у пользователя (приниматься со стандартного устройства ввода) по одному за раз. Сформированные выходные значения требуется выдавать сразу после их формирования на стандартное устройство вывода. Реализация обработки должна быть приведена в отдельном модуле.


Само задание:
Подсчет количества элементов, находящихся вне заданного интервала. тип элемента - целочисленный.

Добавлено через 4 минуты
Цитата Сообщение от k0vpack Посмотреть сообщение
это вам к преподу с претензиями что он вас так плохо учит.
я заочник. Мы препода видели два раза)) и предмет не основной, спрос как со взрослых))
Цитата Сообщение от k0vpack Посмотреть сообщение
и в вашем случае добавить параметры:
попробую. до утра еще есть время). утром нужно отдать готовое задание что бы на осень не оставлять.
Приму любую помощь если желающие найдутся..
0
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
29.06.2018, 09:21 9
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/*
Задание:
На вход системы последовательно и неограниченно во времени поступают элементы xi,
где i - порядковый номер элемента, начиная с 1. Реализовать указанную в варианте
обработку f(X) последовательности элементов X = (x1, x2, x3,...) с использованием
схемы индуктивной обработки на пространстве последовательностей. Полученный набор
выходных значений Y = (y1, y2, y3,...) рассматривается как результирующая
последовательность. Значения элементов исходной последовательности должны
запрашиваться у пользователя (приниматься со стандартного устройства ввода) по
одному за раз. Сформированные выходные значения требуется выдавать сразу после их
формирования на стандартное устройство вывода. Реализация обработки должна быть
приведена в отдельном модуле.
 
Вариант 3:
Подсчёт количества элементов, находящихся вне заданного интервала.
Тип элемента - целочисленный.
*/
 
#include <iostream>
#include <string>
 
struct RangeBounds
{
    int first;
    int last;
 
    RangeBounds() : first(0), last(0) {}
    RangeBounds(int f, int l) : first(f), last(l) {}
};
 
void message_to_user(const std::string & message)
{
    std::cout << message;
}
 
int get_number_from_user()
{
    int number;
    std::cin >> number;
    return number;
}
 
void show(int arr[], int arrSize)
{
    for (int i = 0; i < arrSize; i++)
        std::cout << arr[i] << " ";
}
 
void show(int result)
{
    std::cout << result;
}
 
void get_array_elements_from_user(int arr[], int arrSize)
{
    message_to_user("Enter elements of your array one by one:\n");
    for (int i = 0; i < arrSize; i++)
        arr[i] = get_number_from_user();
}
 
bool is_out_of_range(
    const RangeBounds & userDefinedRangeBounds,
    const RangeBounds & acceptableRangeBounds)
{
    bool result = true;
    if (userDefinedRangeBounds.first >= acceptableRangeBounds.first &&
        userDefinedRangeBounds.last <= acceptableRangeBounds.last)
    {
        result = false;
    }
 
    return result;
}
 
RangeBounds get_range_bounds_from_user(const RangeBounds & acceptableRangeBounds)
{
    RangeBounds userDefinedRangeBounds;
    message_to_user("\n\nEnter index of the first element of the range: ");
    userDefinedRangeBounds.first = get_number_from_user();
 
    message_to_user("Enter index of the last element of the range: ");
    userDefinedRangeBounds.last = get_number_from_user();
 
    while (is_out_of_range(userDefinedRangeBounds, acceptableRangeBounds))
    {
        message_to_user(
            "\nRange bounds you have entered are not acceptable.\n"
            "First index should be equal or more than 0.\n"
            "Last index should be less than your array size.\n"
            "Try again.");
        userDefinedRangeBounds = get_range_bounds_from_user(acceptableRangeBounds);
    }
 
    return userDefinedRangeBounds;
}
 
int number_of_elements_out_of_user_defined_range(
    const RangeBounds & userDefinedRangeBounds,
    const RangeBounds & acceptableRangeBounds)
{
    int result = 0;
    for (int i = acceptableRangeBounds.first; i < userDefinedRangeBounds.first; ++i)
        ++result;
    for (int i = userDefinedRangeBounds.last; i < acceptableRangeBounds.last; ++i)
        ++result;
 
    return result;
}
 
int main()
{
    const int ARR_SIZE = 10;
    int arr[ARR_SIZE];
 
    get_array_elements_from_user(arr, ARR_SIZE);
 
    message_to_user("Here is your array: ");
    show(arr, ARR_SIZE);
 
    RangeBounds acceptableRangeBounds(0, ARR_SIZE - 1);
    RangeBounds userDefinedRangeBounds = get_range_bounds_from_user(acceptableRangeBounds);
 
    message_to_user("The number of elements that are out of the user defined range: ");
    int result = number_of_elements_out_of_user_defined_range(
        userDefinedRangeBounds, acceptableRangeBounds);
    show(result);
}
Миниатюры
В целочисленном массиве найти количество элементов, находящихся вне заданного интервала  
0
29.06.2018, 09:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.06.2018, 09:21
Помогаю со студенческими работами здесь

В заданном целочисленном массиве найти количество уникальных элементов и сумму всех элементов
В массиве, состоящем из п целых элементов, вычислить: - количество различных элементов; - сумму...

Найти количество нулевых элементов в заданном целочисленном массиве
Напишите программу, печатающую количество нулевых элементов в заданном целочисленном массиве.

В целочисленном массиве Х[3][3] найти количество отрицательных элементов последнего столбца
В целочисленном массиве Х найти количество отрицательных элементов последнего столбца. Результат...

Найти в упорядоченном по убыванию массиве количество элементов из интервала [a,b]
Пожалуйста дайте код Найти в упорядоченном по убыванию массиве количество элементов из...

Найти в упорядоченном по убыванию массиве количество элементов из интервала [a,b]
Помогите, пожалуйста =) Найти в упорядоченном по убыванию массиве количество элементов из...

В массиве А найти количество элементов, находящихся после первого отрицательного
В массиве А найти количество элементов, находящихся после первого отрицательного. Помогите...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru