Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.12.2017
Сообщений: 8
1

Указатели и Динамическая память

21.12.2017, 02:40. Показов 556. Ответов 3
Метки нет (Все метки)

Создать в динамической памяти массив вещественных чисел размерности R.
Заполнить его случайными значениями.Вывести на печать количество и индексы элементов,
значения которых больше полусуммы трех предшествующих элементов.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2017, 02:40
Ответы с готовыми решениями:

Указатели.Динамическая память.
Перепешите пожалуйста на С/С++! <script> var n = new Number(); var m = new Number(); n =...

Указатели и динамическая память
Не могу немного понять, допустим, я хочу создать массив, зачем мне под него выделять память, почему...

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

Указатели. Динамическая память.
Нужно очень срочно. Сегодня последний день сдачи. 1. Дано натуральное число n. Определить...

3
34 / 34 / 37
Регистрация: 21.06.2012
Сообщений: 152
21.12.2017, 03:16 2
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
#include <iostream>
#include <memory>
#include <random>
#include <algorithm>
 
int main()
{
    size_t R;
    std::cin >> R;
    auto array = std::shared_ptr<double>(new double[R]);
    std::mt19937 rand(std::random_device().operator ()());
    auto range = std::uniform_real_distribution<double>(-100.f, 100.f);
    std::for_each(array.get(), array.get()+R, [&rand, &range](double &d)->void{
        static size_t index(0);
        d = range(rand);
        std::cout << index++ << " : " << d << std::endl;
    });
    struct Find
    {
        Find() : counter(0), last_fill(0), index(0) {}
        void operator()(double &d){
            if (last_fill < 3)
                last[last_fill++] = d;
            else {
                if ((last[0]+last[1]+last[2]) / 2.f < d) {
                    std::cout << index << std::endl;
                    ++counter;
                }
                last[0] = last[1];
                last[1] = last[2];
                last[2] = d;
            }
            ++index;
        }
        size_t counter;
    private:
        double last[3];
        size_t last_fill,
                 index;
    };
    auto result = std::for_each(array.get(), array.get()+R, Find());
    std::cout << "Count: "<< result.counter << std::endl;
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 21.12.2017
Сообщений: 8
21.12.2017, 03:27  [ТС] 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
31
32
33
34
35
36
37
38
#include <iostream> 
#include <ctime> 
#include <cstdlib> 
#define R 9 
using namespace std; 
 
int main () 
{ 
srand(time(NULL)); 
 
int n; 
n = R; 
double *mas = NULL; 
 
mas = new double [n]; 
 
cout « "Massiv iz " « n « " elementov\n"; 
for (int i = 0; i < n; ++i) 
{ 
mas[i] = (double) (rand()%1001)/10; 
if (int k = mas[i]) 
{ 
mas[i] > (mas[i-1]+mas[i-2]+mas[i-3])/2; 
 
cout « k « "; "; 
} 
else 
{ 
printf("0"); 
} 
} 
 
cout « "\n"; 
 
free (mas); 
 
return 0; 
}
0
34 / 34 / 37
Регистрация: 21.06.2012
Сообщений: 152
21.12.2017, 03:52 4
Teddy_Op, если вы хотите уметь писать программы на C++, то учитесь писать их на C++, а не на C с использованием C++ потоков, со всеми этими free(), NULL, srand() и rand().
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2017, 03:52

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Указатели. Динамическая память в С++
Найти наибольшую и наименьшую цифры в записи данного натурального числа. У меня есть код на...

Указатели и динамическая память
Помогите пожалуйста, написать программу. Описать 2 указателя на целый тип. Выделить для них...

Указатели и динамическая память
Здравствуйте. Почему размер памяти для указателя выделяется такой же как для объекта в куче....

Массивы и указатели. Динамическая память
Нужно вывести на экран максимальные элементы в каждом столбце двумерного массива (матрицы). Решить...


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

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

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