Форум программистов, компьютерный форум CyberForum.ru

Решение для разминки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм Форда-Беллмана http://www.cyberforum.ru/cpp-beginners/thread163521.html
Народ если есть у кого нибудь исходник выложите пожалуйста очень надо. А то везде одно и то же... И ничего не понятно толком=)
C++ Поиск строки в файле и её перезапись Здравствуйте, я хочу чтобы моя программа находила строку в файле config.cfg и перезаписывала её. Начало строки никогда не меняется!Например:name "nickname" то,что в ковычках нужно чтобы перезаписывалось или можно объявить переменную char x; x=' " '; и с помощью её добавлять ковычки разница не большая главное чтобы работало пожалуйста помогите =) Нужно на c++ http://www.cyberforum.ru/cpp-beginners/thread163512.html
C++ программамы языки для создания сценариев ?
Скажите что действительно есть программы которые помогают написать программный код ? Что то вроде сценария для программ !
Очередь C++
Привет всем. Я тут решаю в общем то простое упражнение - нужно проверить переполнение и опустошение очереди. Есть у меня небольшая трудность: как выйти из функции Decueue() (англ.вывести из очереди :)) если Очередь пуста(tail == 0)??? Я пробовал exit(1) и return(0), но это все не то. А главная трудность - по заданию упражнения проверку надо реализовать при помощи оператора % ...
C++ Динамический массив указателей http://www.cyberforum.ru/cpp-beginners/thread163417.html
Чегото не пойму такое вообще возможно? Странно, что при объявлении можно не указывать размерность: int *a; Но как потом память выделять не известно. Добавлено через 2 минуты p.s. прошу не путать с указателем на массив.
C++ Как выразить в С корень n-степени. Как выразить в С корень n-степени. Подскажите. подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
04.09.2010, 21:41     Решение для разминки
Цитата Сообщение от Aleksandr1 Посмотреть сообщение
2.Дан массив случайных чисел в диапазоне от -20 до +20. Необходимо найти позиции крайних отрицательных элементов (самого левого отрицательного элемента и самого правого отрицательного элемента) и отсортировать элементы, находящиеся между ними.
Продолжаем удивлять преподавателей:
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
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <functional>
#include <map>
#include <ctime>
#include <cstdlib>
#include <stdexcept>
 
template<class T>
std::pair<T, T> warmUp(std::vector<T>& vect)
{
    auto negative = [](int i)
    {
        return i < 0;
    };
    auto begin = std::find_if(vect.begin(), vect.end(), negative);
    auto last = [&]()
    {
        auto retIter = vect.end();
        for(auto it = vect.begin(); it != vect.end(); ++it)
            if(negative(*it))
                retIter = it;
        return retIter;
    };
    auto end = last();
    if((begin == vect.end()) || (end == vect.end()))
        throw(std::runtime_error("Bad array"));
    std::sort(begin + 1, end);
    std::pair<T, T> retval;
    retval.first = *begin;
    retval.second = *end;
    return retval;
}
 
int main(int argc, char* argv[])
{
    try
    {
        srand(static_cast<size_t>(time(NULL)));
        if(argc != 2)
            throw(std::runtime_error("Not enough arguments"));
        std::vector<int> ivec;
        size_t size = atoi(argv[1]);
        std::generate_n(std::back_inserter(ivec), size, []()
        {
            return rand() % 41 - 20;
        });
        std::cout << "Before:" << std::endl;
        std::copy(ivec.begin(), ivec.end(), std::ostream_iterator<int>(std::cout, " "));
        std::pair<int, int> limits = warmUp(ivec);
        std::cout << std::endl << "Sorting elements between first " 
            << limits.first << " and last " << limits.second << std::endl;
        std::copy(ivec.begin(), ivec.end(), std::ostream_iterator<int>(std::cout, " "));
        std::cout << std::endl;
    }
    catch(std::exception& e)
    {
        std::cerr << e.what() << std::endl;
        return 1;
    }
    return 0;
}
 
Текущее время: 04:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru