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

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

08.02.2014, 13:27. Показов 1907. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составьте программу на С++. Дан двумерный массив целых чисел. Найти количество положительных элементов массива, значения которых не превосходят заданное число N.
P.S. прошлый пример оказался неправильным! (Найти количество положительных элементов массива, значения которых не превосходят заданное число N) (по мнению учительницы слишком много ненужных всяких Max, Min, Std и т.д!!!)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2014, 13:27
Ответы с готовыми решениями:

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

Найти произведение и количество элементов массива, значения которых превосходят заданное число
Элементы массива вводить с клавиатуры. Размерность массива задать самостоятельно. Найти...

Найти количество положительных элементов матрицы, значения которых не превосходят заданное число N
Составьте программу на Паскале. Дан двумерный массив целых чисел. Найти количество положительных...

Найти количество элементов массива, значения которых положительны и по модулю не превосходят заданное число
1Найти количество тех элементов, значения которых положительны и по модулю не превосходят заданное...

6
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
08.02.2014, 13:30 2
Цитата Сообщение от YCTIME Посмотреть сообщение
Max, Min, Std и т.д!!!
ну так сделайте без них...
0
20 / 20 / 8
Регистрация: 10.02.2013
Сообщений: 75
08.02.2014, 14:14 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;
}
А, двумерный... Извиняюсь, не обратил внимания.
0
3 / 3 / 2
Регистрация: 06.02.2014
Сообщений: 18
08.02.2014, 14:50 4
Лучший ответ Сообщение было отмечено YCTIME как решение

Решение

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;
}

Это самая простая реализация твоего задания, в данной реализации нет "защиты от дурака", так что если ввести некорректные данные будет тупить...
1
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 36
09.02.2014, 14:57  [ТС] 5
многовато что то)
0
3 / 3 / 2
Регистрация: 06.02.2014
Сообщений: 18
09.02.2014, 15:50 6
YCTIME, а что ты хочешь программу в 2 строчки кода?
Тут все по минимуму и даже начинающий программист - кодер разберется... И самое главное все работает...
1
Mobile Software Engineer
Эксперт С++
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
09.02.2014, 16:37 7
Лучший ответ Сообщение было отмечено YCTIME как решение

Решение

Цитата Сообщение от 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;
}
1
09.02.2014, 16:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2014, 16:37
Помогаю со студенческими работами здесь

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

Найти количество тех элементов, значения которых нечетны и по модулю превосходят заданное число А
2.Найти количество тех элементов, значения которых нечетны и по модулю превосходят заданное число...

Найти количество тех элементов, значения которых положительны и по модулю не превосходят заданное число А
Найти количество тех элементов, значения которых положительны и по модулю не превосходят заданное...

Найти число тех элементов массива, значения которых положительны и не превосходят заданного числа
Исходный массив должен быть выведен на экран. Все преобразования производить с исходным массивом....


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

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