Форум программистов, компьютерный форум 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>... подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6472 / 3120 / 306
Регистрация: 04.12.2011
Сообщений: 8,594
Записей в блоге: 4
17.02.2014, 19:13
С шаблонами, если подойдёт:
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
#include <iostream>
 
using std::cin;
using std::cout;
using std::endl;
 
template<class T>
int number_within_the_limmmits(T *arr, size_t arr_sz, T left, T right){
if(left>right){
T tmp_i = left;
left = right;
right = tmp_i;
    }
int number_whithin = 0;
for(size_t i = 0; i < arr_sz; ++i)
if(arr[i] >= left && arr[i] <= right) number_whithin++;//включая границы
return number_whithin;
}
 
template<class T>
int ind_of_max_element(T *arr, size_t arr_sz){
int ind_of_max=0;
T max_element = arr[ind_of_max];
for(size_t i = 1; i < arr_sz; ++i){
    if(max_element < arr[i]){
        max_element = arr[i];
ind_of_max = i;
    }
}
return ind_of_max;
}
 
template<class T>
T summ_arr_after_max(T *arr, size_t arr_sz){
int ind_of_max=ind_of_max_element(arr,  arr_sz);
T summ_after_max = 0;
for(size_t i = ind_of_max+1; i < arr_sz; ++i)
summ_after_max += arr[i];
return summ_after_max;
}
 
template<class T>
T abs_T(T a){
    return (a >= 0)? a : -a;
}
 
template<class T>
void Sort_arr(T *arr, size_t size)  //функция сортировка по убыванию
    {
        for(size_t i=0;i<size;i++)
        for(size_t j=size-1;j>i;j--)
          if (abs_T(arr[j-1])<abs_T(arr[j]))
           {
              T x=arr[j-1];
              arr[j-1]=arr[j];
              arr[j]=x;
           }
    }
 
int main(){
 
const int n = 6;
int source_stat_arr[n] = {
        12, 123,   24, 112, -101, 55
    };
cout<<"source arrays"<<endl;
for(int i = 0; i < n; ++i)cout<<source_stat_arr[i]<<" ";
cout<<endl<<endl;
float *source_dyn_arr = new float[n];
for(int i = 0; i < n; ++i)source_dyn_arr[i] = source_stat_arr[i]/10.0f;//один из другого /10 
for(int i = 0; i < n; ++i)cout<<source_dyn_arr[i]<<" ";
cout<<endl<<endl;
 
cout<<"between 15...112 and 1,5...11.2"<<endl;
cout<<number_within_the_limmmits(source_stat_arr, n, 15, 112)<<endl;//числа 15 и 112 - пределы (от фонаря)
cout<<number_within_the_limmmits(source_dyn_arr, n, 1.5f, 11.2f)<<endl;//числа 15 и 112 - пределы (от фонаря)
cout<<"summs after max"<<endl;
cout<<summ_arr_after_max(source_stat_arr, n)<<endl;
cout<<summ_arr_after_max(source_dyn_arr, n)<<endl;
cout<<endl<<endl;
Sort_arr(source_stat_arr, n);
cout<<"sorted"<<endl;
for(int i = 0; i < n; ++i)cout<<source_stat_arr[i]<<" ";
cout<<endl<<endl;
Sort_arr(source_dyn_arr, n);
for(int i = 0; i < n; ++i)cout<<source_dyn_arr[i]<<" ";
cout<<endl<<endl;
 
cout<<endl<<endl;
system("pause");
return 0;
}
Только, если литералы в параметры передаёте, то либо с суффиксами либо, явно приводите.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru