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

Найти количество положительных элементов массива, значения которых не превосходят заданное число N. - C++

Восстановить пароль Регистрация
 
YCTIME
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 36
08.02.2014, 13:27     Найти количество положительных элементов массива, значения которых не превосходят заданное число N. #1
Составьте программу на С++. Дан двумерный массив целых чисел. Найти количество положительных элементов массива, значения которых не превосходят заданное число N.
P.S. прошлый пример оказался неправильным! (Найти количество положительных элементов массива, значения которых не превосходят заданное число N) (по мнению учительницы слишком много ненужных всяких Max, Min, Std и т.д!!!)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2014, 13:27     Найти количество положительных элементов массива, значения которых не превосходят заданное число N.
Посмотрите здесь:

C++ Создать функцию, которая возвращает количество элементов массива, меньших чем число, заданное пользователем. Массив целочисленный, передается функции
найти количество всех положительных элементов массива C++
Найти все натуральные числа из промежутка от k до l, у которых количество делителей превышает заданное число m C++
Массив. Найти количество элементов, меньших среднего арифметического положительных элементов этого массива C++
C++ Найти количество положительных элементов массива, значения которых не превосходят заданное число N
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11824 / 6803 / 769
Регистрация: 27.09.2012
Сообщений: 16,871
Записей в блоге: 2
Завершенные тесты: 1
08.02.2014, 13:30     Найти количество положительных элементов массива, значения которых не превосходят заданное число N. #2
Цитата Сообщение от YCTIME Посмотреть сообщение
Max, Min, Std и т.д!!!
ну так сделайте без них...
d1skort
20 / 20 / 0
Регистрация: 10.02.2013
Сообщений: 75
08.02.2014, 14:14     Найти количество положительных элементов массива, значения которых не превосходят заданное число N. #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <vector>
#include <algorithm>
 
int main()
{
    std::vector<int> v{1, 2, -1, -2, 4, 6, -2};
    const int n = 3;
    int c = std::count_if(v.begin(), v.end(), [](int i){
            if (i > 0 and i < n)
                return true;
            else return false;});
    std::cout << c;
    return 0;
}
А, двумерный... Извиняюсь, не обратил внимания.
Димферон
 Аватар для Димферон
3 / 3 / 2
Регистрация: 06.02.2014
Сообщений: 14
08.02.2014, 14:50     Найти количество положительных элементов массива, значения которых не превосходят заданное число N. #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
YCTIME, посмотри.
Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
#include <iomanip>
#include <iostream>
#include <Windows.h>
#include <time.h>
#include <math.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    srand(time(0)); // случайное число зависит от такта (машинного времени)
    SetConsoleCP(1251);//Русский язык для ввода
    SetConsoleOutputCP(1251);//Русский язык для ввывода
    int n = 0, m = 0;
    cout<<"Введите размер массива."<<endl;
    cout<<"[n][] - ";cin>>n;
    cout<<"[][m] - ";cin>>m;
    int** array_1 = new int*[n];
    for (int i = 0; i < m; i++)
    {
        array_1[i] = new int[m];
    }
    bool flag = 0;
    cout<<"Хотите заполнить массив в ручную? (да - 1, нет - 0) ";
    cin>>flag;
    if (true)
    {
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
                cout<<"Элемент массива ["<<i+1<<"]["<<j+1<<"] = ";
                cin>>array_1[i][j];
            }
        }
    }
    else
    {
        cout<<"Заполнение массива"<<endl;
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
                array_1[i][j] = rand()%20; // %20 - максивально по модулю число
                cout<<"Элемент массива ["<<i+1<<"]["<<j+1<<"] = "<<array_1[i][j]<<endl;
            }
        }
    }
    int N = 0;
    cout<<"Введите N = ";cin>>N;
    int Summ_4usel = 0;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            if (array_1[i][j] >= 0 && array_1[i][j] < N)
            {
                Summ_4usel++;
            }
        }
    }
    cout<<"Количество чилес входящих в отрезок от 0 до N (включая 0) = "<<Summ_4usel<<endl;
    system("pause");
    return 0;
}

Это самая простая реализация твоего задания, в данной реализации нет "защиты от дурака", так что если ввести некорректные данные будет тупить...
YCTIME
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 36
09.02.2014, 14:57  [ТС]     Найти количество положительных элементов массива, значения которых не превосходят заданное число N. #5
многовато что то)
Димферон
 Аватар для Димферон
3 / 3 / 2
Регистрация: 06.02.2014
Сообщений: 14
09.02.2014, 15:50     Найти количество положительных элементов массива, значения которых не превосходят заданное число N. #6
YCTIME, а что ты хочешь программу в 2 строчки кода?
Тут все по минимуму и даже начинающий программист - кодер разберется... И самое главное все работает...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2014, 16:37     Найти количество положительных элементов массива, значения которых не превосходят заданное число N.
Еще ссылки по теме:

C++ Найти через индекс количество отрицательных и количество положительных элементов массива
C++ Найти сумму положительных элементов массива и количество этих элементов
C++ Найти количество элементов массива, значения которых положительны, и не больше заданного числа

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

Или воспользуйтесь поиском по форуму:
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
09.02.2014, 16:37     Найти количество положительных элементов массива, значения которых не превосходят заданное число N. #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от YCTIME Посмотреть сообщение
многовато что то)
на 26 строчек меньше, если это так важно
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
#include <algorithm>
#include <iostream>
#include <iomanip>
#include <random>
#include <vector>
 
int main()
{
    std::default_random_engine generator;
    std::uniform_int_distribution <> distribution(-10, 10);
 
    size_t matrixSize;
    std::cout << "Size: ";
    std::cin >> matrixSize;
 
    std::vector <std::vector <int>> matrix(matrixSize, std::vector <int> (matrixSize));
    std::cout << "Matrix: " << std::endl;
    for (auto &currentRow : matrix) {
        for (auto &currentElement : currentRow) {
            std::cout << std::setw(5) << (currentElement = distribution(generator));
        }
        std::cout << std::endl;
    }
 
    int userNumber;
    std::cout << "N: ";
    std::cin >> userNumber;
 
    size_t counter = 0;
    for (auto currentRow : matrix) {
        counter += std::count_if(currentRow.begin(), currentRow.end(), [userNumber](int currentElement) -> bool {
            return (currentElement > 0) && (currentElement <= userNumber);
        });
    }
    std::cout << "Counter: " << counter << std::endl;
 
    std::system("pause >> temp");
    return 0;
}
Yandex
Объявления
09.02.2014, 16:37     Найти количество положительных элементов массива, значения которых не превосходят заданное число N.
Ответ Создать тему
Опции темы

Текущее время: 13:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru