Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 17

Подсчитать и вывести на экран количество элементов массива: в которых дробная часть меньше 0,35

03.01.2015, 16:13. Показов 2652. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Объявить одномерный массив из 17 элементов типа double.
Заполнить его случайными дробными (!) Значениями в диапазоне [-12 .. + 50] и вывести на экран.
Подсчитать и вывести на экран количество элементов массива:
в которых дробная часть меньше 0,35
в которых дробная часть больше 0,67
в которых дробная часть в пределах от 0,35 до 0,67 (включая обе границы)


Случайное дробное число - это число у которого случайно целая часть и случайная дробная часть.
(Подумайте, как случайное целое число превратить в дробное)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.01.2015, 16:13
Ответы с готовыми решениями:

Найти и вывести количество элементов, дробная часть которых меньше 0,3
Пожалуйста с помощью Массивов Формат ввода: В первой строке - количество элементов массива не превосходящее 100. На второй строке...

Написать программу для вычисления количества элементов массива, дробная часть которых меньше 0,1
Дан массив размером 4x4 с элементами вещественного типа. Написать программу для вычисления количества элементов массива, дробная часть...

Массив: Найти и вывести количество элементов, дробная часть которых больше 0,5.
Задача: Дан массив вещественных чисел. Найти и вывести количество элементов, дробная часть которых больше 0,5. Формат ввода: ...

9
Модератор
Эксперт С++
 Аватар для zss
13778 / 10971 / 6491
Регистрация: 18.12.2011
Сообщений: 29,258
03.01.2015, 16:20
Цитата Сообщение от Noke Посмотреть сообщение
(Подумайте, как случайное целое число превратить в дробное)
Думать надо очень долго.
Из микрософтовского примера по rand():
C++
1
2
const double xmin=-10.0,xmax=10.0;
double r=double(rand())/RAND_MAX*(xmax-xmin)+xmin;
0
30 / 24 / 5
Регистрация: 20.11.2013
Сообщений: 65
03.01.2015, 16:54
Думать надо очень долго.
Думаю, имелось ввиду немного другое.
Когда и целая часть, и дробная генерируются случайно отдельно, нечто вроде такого:
C++
1
2
const int xmax = 50, xmin = -12;
double x = rand()%xmax + xmin + static_cast<double>(rand()%100)/100;
0
Модератор
Эксперт С++
 Аватар для zss
13778 / 10971 / 6491
Регистрация: 18.12.2011
Сообщений: 29,258
03.01.2015, 21:02
Vlad0922, способов можно придумать кучу.
Однако, остается открытым вопрос, насколько полученные числа соответствуют равномерному распределению.
0
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 17
05.01.2015, 19:21  [ТС]
может кто скинет код програми.а то не знаю как сделать.
0
0 / 0 / 5
Регистрация: 05.01.2015
Сообщений: 46
05.01.2015, 19:44
Цитата Сообщение от Noke Посмотреть сообщение
может кто скинет код програми.а то не знаю как сделать.
Наработки есть?
0
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 17
05.01.2015, 19:48  [ТС]
нет.не знаю как реализовать.
0
0 / 0 / 5
Регистрация: 05.01.2015
Сообщений: 46
05.01.2015, 21:33
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
93
94
95
96
97
98
99
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <time.h>
#include <cmath>
using namespace std;
//-----------------------------------------------------------------------------------
void randomnumber(double *arr, int n)
{
    for(int i = 0; i < n; i++)
        *(arr + i) = (double)(rand()%50 - 12)/100;
}
//-----------------------------------------------------------------------------------
void print(double *arr, int n)
{
    for(int i = 0; i < n; i++)
        cout << *(arr + i) << "\t";
}
//-----------------------------------------------------------------------------------
 double fractional(double n)
 {
     return n -= floor(n);
 }
//-----------------------------------------------------------------------------------
int main()
{
    setlocale(LC_ALL,"Rus");
    srand(time(NULL));
    int n, count = 0, j = 0, k = 0, x = 0;
    double *arr, *res, *a, *b;
    cout << "Введите размер последовательности: ";
    cin >> n;
    arr = new double[n];
    res = new double[n];
    a = new double[n];
    b = new double[n];
    randomnumber(arr,n);
    cout << "\nМассив имеет вид: \n\n";
    print(arr,n);
    for(int i = 0; i < n; i++)
    {
        if(fractional(*(arr + i)) < 0.35)
        {
            count++;
            *(res + j) = *(arr + i);
            j++;
        }
     }
    if(!j)
        cout << "\n\nЭлементы, которые меньше 0.35 нет!";
    else
    {
        cout << "\n\nКоличество элементво в массиве меньше 0,35: " << count;
        cout << "\n\n";
        print(res,j);
    }
    count = 0;
    for(int i = 0; i < n; i++)
    {
        if(fractional(*(arr + i)) > 0.67)
        {
            count++;
            *(a + x) = *(arr + i);
            x++;
        }
     }
    if(!x)
        cout << "\n\nЭлементы, которые больше 0.67 нет!";
    else
    {
        cout << "\n\nКоличество элементво в массиве больше 0,67: " << count;
        cout << "\n\n";
        print(a,x);
    }
    count = 0;
    for(int i = 0; i < n; i++)
    {
        if((fractional(*(arr + i)) > 0.67) && (fractional(*(arr + i)) < 0.35))
        {
            count++;
            *(b + k) = *(arr + i);
            k++;
        }
     }
    if(!k)
        cout << "\n\nЭлементы, которые больше 0.35 и меньше 0.67 нет!";
    else
    {
        cout << "\n\nЭлементы, которые больше 0.35 и меньше 0.67: " << count;
        cout << "\n\n";
        print(b,k);
    }
    delete [] arr;
    delete [] res;
    delete [] a;
    delete [] b;
    getch();
    return 0;
}
0
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 17
07.01.2015, 16:48  [ТС]
а как то попроще возможно???.и твой вариант не работает,выбивает ошибки.
0
0 / 0 / 5
Регистрация: 05.01.2015
Сообщений: 46
07.01.2015, 17:19
Какие ошибки?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.01.2015, 17:19
Помогаю со студенческими работами здесь

Найти количество элементов массива вещественных чисел, дробная часть которых равна 0,5
Найти количество элементов массива вещественных чисел, дробная часть которых равна 0,5

Подсчитать количество всех значений переменной х, дробная часть которых больше, чем 0.01
Вводится последовательность чисел x. Действительные числа выводить с 4 знаками после запятой и подсчитать количество всех значений...

необходимо найти количество элементов, дробная часть которых больше введенного числа k, |k\<1
до этого выполняется условие &quot;В одномерном массиве, состоящем из п вещественных элементов: - вычислить сумму элементов массива,...

В вещественном массиве вычислить количество элементов, дробная часть которых больше введенного числа k
В массиве, состоящем из n вещественных элементов, вычислить количество элементов, дробная часть которых больше введенного числа k. Нужна...

Найти сумму элементов массива, стоящих на четных местах. Подсчитать количество элементов, значения которых меньше 1
помогите пожалуйста решить задачку на паскале: Дан одномерный массив ci , где i=1...n. Найти сумму элементов массива с, стоящих на четных...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru