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

Дан массив размера N. Возвести в квадрат все его локальные миниму-мы (то есть числа, меньшие своих соседей)

06.01.2012, 12:20. Показов 2788. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задачу на массив оформить с помощью лямда выражений. Элементы массива получить с помощью Random. На С++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2012, 12:20
Ответы с готовыми решениями:

Дан массив размера N. Возвести в квадрат все его локальные минимумы (то есть числа, меньшие своих соседей)
Дан массив размера N. Возвести в квадрат все его локальные мини- мумы (то есть числа, меньшие...

Возвести в квадрат все локальные минимумы массива (то есть числа, меньшие своих соседей)
Задачу на массив оформить с помощью лямда выражений. Элементы массива получить с помощью Random

Возвести в квадрат локальные минимумы массива (то есть числа, меньшие своих соседей)
Помогите, пожалуйста, с задачей: Дан массив размера N. Возвести в квадрат все его локальные...

Дан массив размера Эн. Обнулить все локальные максимумы массива (то есть числа, большие своих соседей)
Найдите пожалуйста в чём ошибка и если есть возможность исправьте P.S Массив не целочисленный...

6
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
06.01.2012, 13:45 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
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <iterator>
 
template <class Predicate>void func(const Predicate pred) { return pred(); }
 
template <class T> T sqr(const T num) { return num * num; }
 
int main()
{
    const int size = 2;
    srand(time(nullptr));
    std::vector<int> v(size);
    std::generate(v.begin(), v.end(), [] { return rand() % 21; });
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::vector<int> res(size);
    func([&v, &res]()
        {
            if(v.size() < 1)
                return;
            if(v.size() == 1)
            {
                *res.begin() = *v.begin();
                return;
            }
            *res.begin() = ((*v.begin() < *(v.begin() + 1)) ? (sqr(*v.begin())) : (*v.begin()));
            for(auto it = v.begin() + 1, rIt = res.begin() + 1; it != v.end() - 1; ++it, ++rIt)
                *rIt = (((*it < *(it - 1)) && (*it < *(it + 1)))
                        ? sqr(*it)
                        : *it);
            *(res.end() - 1) = ((*(v.end() - 1) < *(v.end() - 2)) ? (sqr(*(v.end() - 1))) : (*(v.end() - 1)));
        });
    std::copy(res.begin(), res.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    return 0;
}
2
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 6
06.01.2012, 16:24  [ТС] 3
Мы задачи как то в другой форме решали, не так.
0
go
06.01.2012, 16:40
  #4

Не по теме:

Цитата Сообщение от Nadejda Посмотреть сообщение
Мы задачи как то в другой форме решали, не так.
Четче формулируйте задание, то что Вам предоставили полностью соответствует заданию ;)

1
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
06.01.2012, 17:15 5
Цитата Сообщение от Nadejda Посмотреть сообщение
Мы задачи как то в другой форме решали, не так.
Хорошо. Задания на лямбду не могут дать с бухты-барахты. Приведите свой пример с лямбдой, т.е. в той форме, в которой вы решали.
1
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 6
06.01.2012, 21:22  [ТС] 6
Мы с лямбдой сами еще не решали. Вот если только пример с помощью Random:
C#
1
2
3
4
5
6
7
8
9
// Компьютерный вариант пары игральных костей. 
using System; 
class RandDice { 
static void Main() { 
Random ran = new Random () ; 
Console.Write(ran.Next(1, 7) + " "); 
Console.WriteLine(ran.Next (1, 7) ) ; 
} 
}
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
06.01.2012, 21:28 7
Дык то C#, а вы на плюсах просили.
1
06.01.2012, 21:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2012, 21:28
Помогаю со студенческими работами здесь

В массиве размера NN обнулить все локальные максимумы (то есть числа, большие своих соседей)
Дан массив размера NN. Обнулить все его локальные максимумы (то есть числа, большие своих соседей);...

Дан массив размера N. Обнулить все его локальные максимумы
дан массив размера N. Обнулить все его локальные максимумы (то есть числа,большие своих соседей).

Дан массив A(7). Все отрицательные элементы массива возвести в квадрат
Дан массив A(7). Все отрицательные элементы массива возвести в квадрат, из положительных элементов...

Возвести в квадрат все локальные минимумы массива
Дан массив размера N. Возвести в квадрат все его локальные минимумы (то есть числа, меньшие своих...


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

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