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

Построить упорядоченный по возрастанию третий массив слиянием двух заданных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс n-мерных векторов http://www.cyberforum.ru/cpp-beginners/thread220905.html
Класс n-мерных векторов Базовый класс (координаты начала и конца вектора Совет: реализовать дополнительный класс NPoint, содержащий в виде массива координаты n-мерных точек, а также количество координат - N) Конструкторы: по умолчанию, с параметрами и копирования. Деструктор. Функции: перегрузки операции сложения; Перегрузка операции вычитания; перегрузки операции умножения на...
C++ Одномерный массив Помогите братаны... В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) сумму элементов массива с нечетными номерами; 2) сумму элементов массива, расположенных между первым и последним отрицательными элементами. Сжать массив, удалив из него все элементы, модуль которых не превышает единицы. Освободивщиеся в конце массива элементы заполнить нулями. http://www.cyberforum.ru/cpp-beginners/thread220903.html
C++ Создать абстрактный тип данных
Создать абстрактный тип данных - класс вектор, который имеет указатель на float, число элементов и переменную состояния. Определить конструктор без параметров, конструктор с параметром, конструктор с двумя параметрами. Конструктор без параметров выделяет место для одного элемента и инициализирует его в ноль. Конструктор с одним параметром, - размер вектора, - выделяет место и инициализирует...
Обработка литерных величин в C++ bulder C++
Вычеркните из одного слова все буквы, встречающиеся в другом слове.
C++ Работа с рядками (язык C) http://www.cyberforum.ru/cpp-beginners/thread220890.html
Задание: Задав с клавиатуры последовательность символов, реализовать её обработку, как указано в варианте. Начальные данные задать самостоятельно, учитывая специфику варианта и общую постановку задания. Обрабатывать надо последовательность от 1 до 30 слов, которые состоят из строчных латинских букв. Между соседними словами - не менее одного пропуску, за последним словом - точка. Напечатать...
C++ Обработка литерных величин в C++ bulder Определите все ли буквы слова различны. подробнее

Показать сообщение отдельно
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
27.12.2010, 01:25
Strony, держи
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
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <algorithm>
 
using namespace std;
 
double a, b;
 
template <typename T>
void out(const T* ptr, const size_t& Buffer)
{
    for (size_t i = 0; i < Buffer; ++i)
        cout << ptr[i] << " ";
    cout << endl;
}
 
bool cond(const double& x)
{
    return (x >=a ) && (x <= b);
}
 
int main()
{   
    setlocale(LC_ALL, "Russian");
    size_t n;
    printf_s("Введите число элементов массива\n");
    scanf_s("%d", &n);
    // создаем и инициализируем массив;
    double *vec = new double[n];
    printf_s("Введите поочередно элементы массива\n");
 
    for (size_t i = 0; i < n; ++i)
        scanf_s("%lf", &vec[i]);
    // найдем номер минимального по модулю элемента массива;
    size_t Imin = 0;
    for (size_t i = 0; i < n; ++i)
        if (abs(vec[i]) < abs(vec[Imin]))
            Imin = i;
    printf_s("Номер минимального элемента массива %d\n", Imin);
    // найдем сумму модулей элементов, расположенных после первого отрицательнго элемента;
    double Sum = 0;
    int I_ = n;
    for (size_t i = 0; i < n; ++i)
        if (vec[i] < 0)
        {
            I_ = i;
            break;
        }
    for (size_t i = I_ + 1; i < n; ++i)
        Sum += abs(vec[i]);
    // сожмем массив, удалив элементы находящиеся в интервале [a; b];
    printf_s("Сумма элементов, расположенных после первого отрицательнго %lf\nВведите границы интервала [a; b]\n", Sum);
    scanf_s("%lf%lf", &a, &b);
    double* new_end = remove_if(vec, vec + n, cond);
    while (new_end != vec + n)
        *new_end++ = 0;
    out(vec, n);
    _getch();
    delete[]vec;
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru