0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 18
1

В массиве найти количество элементов, меньших заданного числа

12.10.2016, 16:28. Показов 6359. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, которая находит количество элементов, меньших числа, введенного с клавиатуры. Массив из 6 чисел должен вводиться пользователем. Организовать вывод массива на экран. Для доступа к элементам массива использовать указатель. Помогите решить плиз
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2016, 16:28
Ответы с готовыми решениями:

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

Найти количество элементов, меньших заданного числа и сумму элементов, расположенных после максимального
1.количество элементов массива,меньших С; 2.сумму элементов массива,расположенных после...

В заданном одномерном массиве найти количество элементов, меньших указанного числа
В одномерном массиве, состоящем из п вещественных элементов, вычислить: • количество элементов...

В массиве найти количество чисел меньших заданного
Понимаю, что тема уже была, но я сижу уже 6 день, и всё безрезультатно!Помогите кто может,...

12
14 / 14 / 11
Регистрация: 12.10.2016
Сообщений: 52
12.10.2016, 16:41 2
Лови, братишка. Надеюсь, я все правильно понял.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main()
{
    int mas[6], num, counter=0;
    cout << "Num = "; cin >> num; //Заданное число
    for (int i = 0; i < 6; i++)
    {
        cout << "mas[" << i << "] = "; cin >> mas[i]; //Инициализируем
        if (*(mas+i) < num) counter++; //Счетчик кол-ва элементов меньших числа заданного
    }
    cout << "Counter = " << counter << endl; //Вывод
 
    for (int i = 0; i < 6; i++)
    {
        cout << *(mas+i) << " "; //Вывод массива
    }
    system("pause");
}
0
Helper C/C++
286 / 163 / 122
Регистрация: 22.09.2016
Сообщений: 518
12.10.2016, 16:45 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
#include <iostream> 
 
using namespace std;
 
int main()
{
    const int N = 6;
    int *pn = new int[N], b = 3;
    memset((void*)pn, 0x00, sizeof(int) * N);
 
    int* ppn = pn;
    for (int i = 0; i < N; i++, pn++)
    {
        std::cout << "enter pn[" << i << "] = "; std::cin >> *pn;
    }
 
    std::cout << "enter b = "; std::cin >> b;
 
    int count = 0;
    while (*ppn > 0)
    {
        if (*ppn < b) count++;
        ppn++;
    }
 
    std::cout << "count = " << count << endl;
 
    std::cin.get();
    std::cin.get();
}
Изображения
 
0
Helper C/C++
286 / 163 / 122
Регистрация: 22.09.2016
Сообщений: 518
12.10.2016, 16:46 4
Badjuicy, вы не так поняли нужны операции с указателями, а вы работаете с массивами.
0
14 / 14 / 2
Регистрация: 28.01.2015
Сообщений: 26
12.10.2016, 16:50 5
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
#include <iostream>
using namespace std;
int main()
{
    cout << "Enter the size of array: ";
    int n;
    cin >> n;
    int *ptr = new int[n];
    for (int i; i < n; i++)
    {
        cout << "#" << i+1 << ": ";
        cin >> ptr[i];
    }
    cout << "Here is your array: ";
    for (int i; i <n; i++)
    {
        cout << ptr[i] << " ";
    }
    cout << "Enter some number: ";
    int num;
    cin >> num;
    int count;
    for (int i; i <n; i++)
    {
        if (ptr[i] < num)
            count++;
    }
    cout << endl;
    cout << count << " numbers less than in array";
    delete[] ptr;
}
Вот так можно решить.
1
14 / 14 / 11
Регистрация: 12.10.2016
Сообщений: 52
12.10.2016, 16:56 6
Такое дело
Миниатюры
В массиве найти  количество элементов, меньших заданного числа  
0
14 / 14 / 11
Регистрация: 12.10.2016
Сообщений: 52
12.10.2016, 16:58 7
Ну тогда твоя программа круче Признаю)
Тупанул я с указателями.
0
Helper C/C++
286 / 163 / 122
Регистрация: 22.09.2016
Сообщений: 518
12.10.2016, 16:59 8
Очень извиняюсь. Допустил механическую ошибку:

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
#include <conio.h>
 
#include <iostream> 
 
using namespace std;
 
int main()
{
    const int N = 6;
    int *pn = new int[N], b = 3;
    memset((void*)pn, 0x00, sizeof(int) * N);
 
    int* ppn = pn;
    for (int i = 0; i < N; i++, pn++)
    {
        std::cout << "enter pn[" << i << "] = "; std::cin >> *pn;
    }
 
    std::cout << "enter b = "; std::cin >> b;
 
    int count = 0;
    while (*ppn >= 0)
    {
        if (*ppn < b) count++;
        ppn++;
    }
 
    std::cout << "count = " << count << endl;
 
    std::cin.get();
    std::cin.get();
}
Теперь работает.
0
14 / 14 / 11
Регистрация: 12.10.2016
Сообщений: 52
12.10.2016, 17:02 9
А моя ошибка исправлена?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main()
{
    int mas[6], num, counter=0;
    int *ptr = *&mas;
    cout << "Num = "; cin >> num; //Заданное число
    for (int i = 0; i < 6; i++)
    {
        cout << "mas[" << i << "] = "; cin >> mas[i]; //Инициализируем
        if (*(ptr+i) < num) counter++;
    }
    cout << "Counter = " << counter << endl;
 
    for (int i = 0; i < 6; i++)
    {
        cout << *(ptr+i) << " ";
    }
 
    system("pause");
}
0
14 / 14 / 2
Регистрация: 28.01.2015
Сообщений: 26
12.10.2016, 17:08 10
Цитата Сообщение от Invader0x7F Посмотреть сообщение
int *pn = new int[N], b = 3;
Снова не удалили память из кучи посредством delete[]
Учитесь освобождать память. Что мне в каждой теме вас учить?
Если память была выделена new, обязательно должна освобождаться delete (или delete[ ], если выделялась для массива). Каждая книга об этом пишет, и последствия.
1
14 / 14 / 11
Регистрация: 12.10.2016
Сообщений: 52
12.10.2016, 17:11 11
IpHuman, не ругайся
0
0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 18
12.10.2016, 18:09  [ТС] 12
Badjuicy, что счетчик показывает?

Добавлено через 41 минуту
Спасибо вам всем!)
0
Заблокирован
12.10.2016, 18:59 13
Счетчик counter показывает сколько раз выполнено условие. Данный элемент массива меньше заданного числа? Если да то counter увеличивает свое значение на 1. Если нет, то проверяем следующий элемент массива.
Потом cout << counter показал сколько раз было выполнено это условие.
Понял? )
0
12.10.2016, 18:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2016, 18:59
Помогаю со студенческими работами здесь

В одномерном числовом массиве посчитайте количество элементов, по модулю меньших заданного числа Т
Вроде бы легкие, но че то до меня не допирает! 1) В одномерном числовом массиве посчитайте...

В массиве чисел определить количество элементов больших заданного числа, меньших его и равных ему
Задание Для массива 32-х битных целых чисел определить количество элементов больших заданного...

Найти количество элементов матрицы, меньших заданного числа
Написать на Turbo C++ 4.0 программу которая в матрице A(n) находит количество элементов, меньших...

Найти количество элементов массива, меньших заданного числа
using System; using System.Collections.Generic; using System.Linq; using System.Text; ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru