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

Массивы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Файловый менеджер http://www.cyberforum.ru/cpp-beginners/thread33863.html
Помогите пожалуйста!!! Мне нужен файловый менеджер на Win32... (не знаю как отоброзить содержимое директории..) заранее спасибо
C++ Расчет приближенных корней уравнения...( Доброго времени суток. может есть у кого нибудь исходник этой задачки или примерно такой же--->Написать на языке С (Visual C) программу по нахождению корня уравнения на про-межутке с точностью до 0,01. Вывести график функции и точки приближения, количество итераций, значение корня. Уравнение Х3-5Х2-4Х+19 промеуток Корень уравнения находить с помощью метода дихотомии...Зарание благодарен. P.S... http://www.cyberforum.ru/cpp-beginners/thread33851.html
C++ Вывод содержимого файла построчно
Требуется вывести содержимое файла на экран. Но так, чтоб это выполнялось с каждой строкой отдельно. Вот написал начало, а дальше уже что только не пробовал - не получается( Бошка сегодня весь день раскалывается, даже сообразить ничего не могу((( #include "stdafx.h" #include "declaration.h" FILE *fin; char *File;
C++ часы на си=)) не бойтесь -много не спрошу, так ньюанс
значит так... в целях выполнения курсовика и т.д. и т.п. корчое пишу прогу с часами на си... стрелочки, циферблатик, и прочее я сделал так тчо тут заморачиваться не надо... фишка в чем вопроса - мне надо в этой программе "цеплять" время из внутренних часов... то етсь пока у меня по умолчанию стоит отчет от 00.00.00. ну и введены соответетвующие переменные sec, min, hor -для секунд минут и...
C++ Нахождение интеграла методом Монте-Карло http://www.cyberforum.ru/cpp-beginners/thread33817.html
Нужно найти интеграл функции 3*x*exp(cos x) на интервале от 0,2 до 1,2 методом Монте-Карло. Помогите пожалуйста написать программу, или хотябы подробный алгоритм написания.
C++ Длинный файл)) Доброго времени суток, господа! Подскажите, почему файл читается некоторое время, а потом перестает.. Код(slovr - открытый на чтение файл): while (! slovr.eof()) { slovr.getline(buf,26); if (strlen(buf)!=dlina) continue; norm=1; for (int i = 0; i <= knowb-1; i++) подробнее

Показать сообщение отдельно
Rififi
2335 / 1050 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
13.05.2009, 08:51     Массивы
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
#include <locale>
#include <algorithm>
#include <numeric>
#include <iterator>
#include <iostream>
#include <stdexcept>
 
// номер максимального элемента массива
template <typename T, const size_t N>
typename std::iterator_traits<T>::difference_type
max_index(const T (&arr)[N])
{
    return std::distance(arr, std::max_element(arr, arr+N));
}
 
/* произведение элементов массива, расположенных между первым и вторым
нулевыми элементами 
*/
template <typename T, const size_t N>
long mul(const T (&arr)[N])
{
    if (std::count(arr, arr+N, T(0)) < 2)
        throw std::runtime_error("Маловато нулей, насяльника!");
    const int* first = std::find(arr, arr+N, 0);
    const int* second = std::find(first+1, arr+N, 0);
    return std::accumulate(first+1, second, T(1), std::multiplies<T>());
}
 
template <typename T>
struct position : public std::unary_function<T, bool>
{
    position() : pos_(0) {}
    bool operator()(const T&) { return pos_ ++ & 1; }
    typename std::iterator_traits<T>::distance_type pos_;
};
 
/* Преобразовать массив таким образом, чтобы в первой половине
располагались элементы, состоящие в нечетных позициях, а во второй половине - элементы, состоящие в четных позициях.
*/
template <typename T, const size_t N>
T (&reorder(T (&arr)[N]))[N]
{
    std::stable_partition(arr, arr+N, position<T>());
    return arr;
}
 
template <typename T, const size_t N,
    typename _E, typename _Tr,
    template <typename, typename> class OS>
static OS<_E, _Tr>& operator << (OS<_E, _Tr>& os, const T (&arr)[N])
{
    const _E sep[] = { _E(' '), 0 };
    std::copy(arr, arr+N, std::ostream_iterator<T>(os, sep));
    return os;
}
 
int main()
{
    int arr[] = { 1, 0, 3, -1, 8, -6, 0, 2, 5};
 
    setlocale (LC_ALL, ".1251");
 
    std::cout << "Исходный массив: " << arr << std::endl;
    std::cout << "Номер максимального элемента: " << max_index(arr) << std::endl;
    std::cout << "Произведение элементов: " << mul(arr) << std::endl;
    std::cout << "Преобразованный массив: " << reorder(arr) << std::endl;
 
    return 0;
}
Вывод:
Исходный массив: 1 0 3 -1 8 -6 0 2 5
Номер максимального элемента: 4
Произведение элементов: 144
Преобразованный массив: 0 -1 -6 2 1 3 8 0 5
 
Текущее время: 11:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru