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

Вычислить количество элементов массива, лежащих в диапазоне от А до В - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибки при компилировании http://www.cyberforum.ru/cpp-beginners/thread1098807.html
ребята, подскажите что за чепуха
C++ Цифра в степени Нужна помощь в создании программы которая найдет цифру в заданной степени без pow(). Я запутался создавая эту программу через циклы. Поможете? http://www.cyberforum.ru/cpp-beginners/thread1098797.html
Строка, замена гласных C++
сделал программу чтобы заменяло все гласные на 3 а преподаватель усложнил задачу и надо заменить на 33 и с тем проблема два числа писать не хочет помогите бидь Пожалуйста #include <iostream.h>...
Поиск слова на экране C++
Хочу написать программу, которая будет на экране находить слово (в текстовом формате) и выводить координаты его нахождения по осям Х У в текстовый редактор. Возможно ли это сделать? Если да, то может...
C++ Разработать программу, которая вычисляет факториал и состоит из функций http://www.cyberforum.ru/cpp-beginners/thread1098783.html
я ее сделал но меня есть вопрос: 1. я сделал массив из ста элементов, а можно его сделать полностью динамический чтобы пользователь вписывал количество 2. нужно к концу выполнения писать код для...
C++ Перенос вычислений в подпрограмму Здравствуйте, есть лаба в которой нужно найти след трёх прямоугольных матриц и вывести на экран наибольший их них. Вычисления нужно оформить как подпрограмму. Как это сделать? #include <stdio.h>... подробнее

Показать сообщение отдельно
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 407

Вычислить количество элементов массива, лежащих в диапазоне от А до В - C++

17.02.2014, 16:29. Просмотров 1698. Ответов 5
Метки (Все метки)

Добрый вечер, дорогие друзья. Прошу у вас помощи с программой:

Методические указания

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

Ввести и обработать два одномерных массива, содержащие соответственно n целых и m вещественных компонентов. Вычислить:

1) количество элементов массива, лежащих в диапазоне от А до В;

2) сумму элементов массива, расположенных посте максимального элемента.

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
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
// lab_12.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
 
// 1212.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
 
/*
Ввод и вывод массива, а также три пункта задания оформить в виде функций, глобальные переменные не использовать.
Размерности массивов вводить в основной функции. Первый массив описать статически (размерность задать константой), второй динамически
Все результаты данных функций выводятся в основной функции.
Задание
Ввести и обработать два одномерных массива, содержащие соответственно п целых и m вещественных компонентов. Вычислить:
1) количество элементов массива, лежащих в диапазоне от А до В;
2) сумму элементов массива, расположенных после максимального элемента.
3) Упорядочить элементы массива по убыванию модулей элементов.
*/
#include <iostream>
#include <math.h>
#include <stdio.h>
//#include <time.h>
#include <stdlib.h>     //подключение необходимых библиотек
using namespace std;
 
//void Random(float *arr, size_t size);
void Out(float *arr, size_t size);
void In(float *arr, size_t size);
int Z1(float *arr, size_t size, int a, int b);
int SAM(float *arr, size_t size);
void Sort(float *arr, size_t size);
                                                //прототипы функций(сами функции внизу)
int main()
{
 
int N;  //размерность массива
int a,b;    //переменные задания 1
cout<<"size array:= "; cin>>N;      //вводим размерность массива
float brr[N];    //массив
cout<<"!!!a<b!!!"<<endl;
cout<<"a= ";cin>>a; cout<<"b= ";cin>>b;                 //ввод переменных для 1 задания
 
 
 
In(brr,N);                      //вызов функции ввода массива
cout<<endl;
Out(brr,N);                     //функция вывода массива
cout<<"from a to b number: "<<Z1(brr,N,a,b)<<" element"<<endl;        //функция 1 задания
cout<<"sum after maximal element = "<<SAM(brr,N)<<endl;             //функция задания 2
Sort(brr,N);         //вызов функции 3 задания
Out(brr,N);         //вызов функции вывода массива
// С массивом , заданным динамически закончено, теперь с массивом заданным статически (размерность задать константой)
int m; m=6;         //задаем размерность статически, переменной m
int a1, b1;         //те же самые а и b, только для второго массива
cout<<"size array:= "<<m<<endl;
float crr[m];       //массив
 
cout<<"!!!a<b!!!"<<endl;
cout<<"a= ";cin>>a1; cout<<"b= ";cin>>b1;    //ввод границ а и b
In(crr,m);                      //вызов функции ввода массива
cout<<endl;
Out(crr,m);                     //вызов функции вывода массива
 
cout<<"from a to b number: "<<Z1(crr,m,a1,b1)<<" element"<<endl;        //вызов функции 1 задания
cout<<"sum after maximal element = "<<SAM(crr,m)<<endl;             //вызов функции задания 2
Sort(crr,m);            //вызов функции 3 задания
Out(crr,m);             //вызов функции вывода массива
 
return 0;
}
//////////////////////////////////////////////////////////////////
/*
void Random(float *arr, size_t size)
            {
 
                    srand(static_cast<unsigned int>(time(NULL)));   //организовываем инициализацию генератора рандомных чисел
                    for (int i=0; i< size ; i++)                        //перебор значений от 0 до N
                    {
 
                    arr[i] = rand() %10 *1560;                       //организовываем инициализацию генератора рандомных чисел
                    cout<<"arr["<<i<<"]: "<<arr[i]<<" "<<endl;   //вывод на экран всех членов массива с номером
                    }
                    cout<<endl;                                              //заполнение массива рандомом.
            }
*/
////////////////////////////////////////////////////////////////////////////////////////////////
void Out(float *arr, size_t size)   //функция вывода массива
    {
 
                    for (int i=0; i< size; i++)                        //перебор значений от 0 до N
                    {
 
 
                    cout<<"arr["<<i<<"]: "<<arr[i]<<" "<<endl;   //вывод на экран всех членов массива с номером
                    }
                    cout<<endl;
    }
////////////////////////////////////////////////////////////////////////////////////////////////////
void In(float *arr, size_t size)    //функция ввода в масив
    {
 
        for(int i=0; i< size;i++)
        {
 
        cout<<"arr["<<i<<"]: ";
        cin>>arr[i];
        }
    }
////////////////////////////////////////////////////////////////////////////////////////////////////////////
int Z1(float *arr, size_t size, int a, int b)       //функция ищет количество элементов массива, лежащих в диапазоне от А до В;
    {
        int j; j=0;
        for(int i=0; i< size;i++)
        {
            if(arr[i]>=a && arr[i]<=b)
            {
                j++;
            }
        }
        return j;
    }
////////////////////////////////////////////////////////////////////////////////////////////////////////
int SAM(float *arr, size_t size)            //функция считает сумму элементов массива, расположенных после максимального элемента.
        {
            int maxpos=0; int sum=0;
            float tekmax=0;
            for(int i=0; i< size; i++)         //перебор значений от 0 до N
                {
                    if(arr[i]>tekmax)     //если текущий элемент массива больше 0, то переменной tekmax присваевается это значние, а вторая переменная maxpos запоминает номер эл-та, таким образом мы находим максимальный элемент и его номер
                    {
                        tekmax = arr[i];
                        maxpos = i;
                    }
                }
            for(int i=maxpos+1; i< size; i++)
                {
                    sum+= arr[i];
                }
 
            return sum;
        }
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Sort(float *arr, size_t size)  //функция сортировка по убыванию
    {
        for(int i=0;i<size;i++)
        for(int j=size-1;j>i;j--)
          if (abs(arr[j-1])<abs(arr[j]))
           {
              int x=arr[j-1];
              arr[j-1]=arr[j];
              arr[j]=x;
           }
    }
//////////////////////////////////////////////////////////////////////////////////////////////
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru