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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Натали92
2 / 2 / 0
Регистрация: 10.12.2012
Сообщений: 25
#1

Одномерный массив: найти количество элементов массива, меньших С - C++

10.12.2012, 13:37. Просмотров 1553. Ответов 17
Метки нет (Все метки)

Работа с линейным динамическим массивом.
В одномерном массиве, состоящем из n вещественных элементов (размерность массива задаётся пользователем), найдите количество элементов массива, меньших С. При разработке кода для перебора элементов массива использовать не индекс массива, а указатель на элемент массива.
Вычисления должны выполняться в отдельной функции.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2012, 13:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одномерный массив: найти количество элементов массива, меньших С (C++):

Массив. Найти количество элементов, меньших среднего арифметического положительных элементов этого массива - C++
Всем привет! Пмогите пожалуйста написать программу! Массив a(30) сформирован случайным образом. Найти в нем количество элементов, меньших...

Найти количество элементов массива, меньших С - C++
Задача 1. В одномерном массиве,состоящем из n вещественных элементов,вычислить: 1) количество элементов массива,меньших С; 2) сумму...

Найти количество элементов массива меньших заданного числа - C++
Доброго времени суток уважаемые форумчане. Пожалуйста напишите программный код исходя из ниже предоставленного условия. Вводится...

Одномерный массив. Найти и напечатать количество чётных элементов и количество нечётных элементов - C++
массив F задан случайными числами в диапазоне от -30 до 20. найти и напечатать количество чётных элементов и количество нечётных...

Найти количество элементов массива, меньших определенного числа, вводимого пользователем - C++
Задача: Код:/*С одномерным массивом, состоящим из n вещественных элементов, произвести следующие операции: 1) вычислить произведение...

В первой половине массива нужно найти количество элементов, больших P, а в второй – меньших P - C++
У целочисленному массиве А (a0, a2, ..., an) случайных чисел парна число элементов. У первой половине нужно найти количество элементов,...

17
Натали92
2 / 2 / 0
Регистрация: 10.12.2012
Сообщений: 25
11.12.2012, 15:26  [ТС] #2
Нужна помощь!!!
0
Пaтрик
416 / 391 / 39
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
11.12.2012, 15:31 #3
C++
1
2
3
4
5
6
7
8
size_t count(double *ptr, size_t size, double c)
{
    size_t ret_val = 0;
    while (size--)
        if (*ptr++ < c)
            ++ret_val;
    return ret_val;
}
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2012, 15:43 #4
Пaтрик, std::count_if
0
Пaтрик
11.12.2012, 15:45
  #5

Не по теме:

go, в курсе

0
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
11.12.2012, 17:20 #6
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
#include <iostream>
#include <cstddef>
 
size_t count_if_less_than(const double* arr, size_t n, double x) {
 
    size_t res = 0;    
 
    for(const double* p = arr; p != arr + n; ++p)
        if(*p < x) ++res;
 
    return res;
}
 
int main() {
 
    size_t n;
    std::cout << "n: ";
    std::cin >> n;
    
    double* arr = new double[n];
 
    std::cout << "input array: " << std::endl;
    for(double* p = arr; p != arr + n; ++p)
        std::cin >> *p;
 
    double c;
    std::cout << "c: ";
    std::cin >> c;
 
    size_t res = count_if_less_than(arr, n, c);
    std::cout << "array[i] < " << c << ": " << res << std::endl;
 
    delete[] arr;
}
1
Натали92
2 / 2 / 0
Регистрация: 10.12.2012
Сообщений: 25
11.12.2012, 22:16  [ТС] #7
спасибо большое что помогли!!!
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2012, 22:23 #8
Цитата Сообщение от Натали92 Посмотреть сообщение
спасибо большое что помогли!!!
Я тоже хочу поучавствовать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <vector>
#include <algorithm>
 
int main()
{
   std::vector<int> v = { 1, 2, 3, 4, 5 };
   int d = 4;
   
   std::cout << std::count_if(std::begin(v), std::end(v), [&d] (const int& val)
   {
      return val < d;
   });
}
http://liveworkspace.org/code/3IDydp$2
0
MrGluck
Модератор
Эксперт CЭксперт С++
7496 / 4611 / 694
Регистрация: 29.11.2010
Сообщений: 12,620
11.12.2012, 22:40 #9
go,

Не по теме:

в LWS нужно убирать $ и все что за ней при копировании ссылки


Не по теме:

И наконец его открыли, черт подери



Добавлено через 8 минут
Решение в одну строчку
C++
1
2
3
4
5
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
int main() { std::vector<int> v = {1, 2, 3, 4, 5}; int d; std::cin >> d; std::cout << std::count_if(v.begin(), v.end(), std::bind2nd (std::less<int>(), d)) << std::endl; }
http://liveworkspace.org/code/2QEAZv
1
Натали92
2 / 2 / 0
Регистрация: 10.12.2012
Сообщений: 25
11.12.2012, 22:45  [ТС] #10
спасибки)))
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2012, 22:47 #11

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
Решение в одну строчку
Муть какая-то


Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
в LWS нужно убирать $ и все что за ней при копировании ссылки
нужно niXman написать



Добавлено через 2 минуты
Цитата Сообщение от go Посмотреть сообщение
нужно niXman написать
Нет не надо. Это номер версии.
0
diagon
Higher
1932 / 1198 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
11.12.2012, 23:07 #12
Тоже выпендрюсь
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <boost/mpl/vector_c.hpp>
#include <boost/mpl/count_if.hpp>
#include <boost/mpl/less.hpp>
 
int main()
{
   namespace mpl = boost::mpl;
   constexpr int c = 7;
   typedef typename mpl::vector_c<int, 1, 2, 3, 4, 5, 6, 7, 0, 10> arr;
   std::cout << mpl::count_if<arr, mpl::less<mpl::_1, mpl::int_<c> > >::value;
}
Результат: http://liveworkspace.org/code/3n8BL
1
Натали92
2 / 2 / 0
Регистрация: 10.12.2012
Сообщений: 25
11.12.2012, 23:13  [ТС] #13
0
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
08.12.2013, 17:53 #14
Цитата Сообщение от rangerx Посмотреть сообщение
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
#include <iostream>
#include <cstddef>
 
size_t count_if_less_than(const double* arr, size_t n, double x) {
 
    size_t res = 0;    
 
    for(const double* p = arr; p != arr + n; ++p)
        if(*p < x) ++res;
 
    return res;
}
 
int main() {
 
    size_t n;
    std::cout << "n: ";
    std::cin >> n;
    
    double* arr = new double[n];
 
    std::cout << "input array: " << std::endl;
    for(double* p = arr; p != arr + n; ++p)
        std::cin >> *p;
 
    double c;
    std::cout << "c: ";
    std::cin >> c;
 
    size_t res = count_if_less_than(arr, n, c);
    std::cout << "array[i] < " << c << ": " << res << std::endl;
 
    delete[] arr;
}

а можете к этому коду еще добавить сумму чисел расположенных после последнего отрицательного числа?
0
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
08.12.2013, 20:30 #15
C++
1
2
3
4
5
6
double* find_last_neg(double* arr, size_t n) {
  double* res = arr + n - 1;
  while((res >= arr) && (*res >= 0))
    --res;
  return (res >= arr) ? res : NULL;
}
C++
1
2
3
4
5
6
7
8
9
...
double sum = 0;
double* p = find_last_neg(arr, n);
if(p != NULL) {
  while(++p < (arr + n))
    sum += *p;
}
std::cout << "sum: " << sum << std::endl;
...
1
08.12.2013, 20:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2013, 20:30
Привет! Вот еще темы с ответами:

Одномерный массив. Найти количество элементов больше заданного. Найти произведение элементов за максимумом - C++
Задача 1. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) количество элементов массива, больших C; 2)...

Создать функцию, которая возвращает количество элементов массива, меньших чем число, заданное пользователем. Массив целочисленный, передается функции - C++
Добрый вечер! Помогите пожалуйста) Создать функцию, которая возвращает количество элементов массива, меньших чем число, заданное...

Определить количество элементов массива, меньших среднего арифметиче-ского значений элементов этого массива - C++
Времени нет , только ещё учу . нужно сделать срочно работы . углубился в учебник пока , но не успеваю разобраться . может есть...

Одномерный массив. Найти наименьшие среди элементов первого массива, которые не входят во второй массив. - C++
Задано два массива. Найти наименьшие среди элементов первого массива, которые не входят во второй массив. Ни как не могу придумать:cry:, ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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