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

После каждого четного элемента массива вставить два элемента с тем же значением, после чего полученный массив отсортировать по убыванию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Числа, сумма цифр которых является http://www.cyberforum.ru/cpp-beginners/thread876646.html
Доброго времени суток! Помогите, пожалуйста, с задачей. Числа, сумма цифр которых является квадратным числом и разность между соседними цифрами равна k. Например: 1357 → 1+3+5+7=16=4^2, при k=2, …
C++ Работа с файлами. Выведите список авторов в порядке убывания популярности, и названия издательств, которые публиковали их книги. Срочно надо сдать, а я не знаю даже с чего начать((( Проболела всю тему, мне бы кто объяснил, как для чайников... Я всё быстро схватываю) 1. Один файл містить список ПІБ письменників та поетів, та назви видавництв, в яких вони публікуються. В іншому файлі представлена інформація опитування: 12 студентів просили назвати трьох улюблених авторів. Виведіть список авторів в порядку зменшення... http://www.cyberforum.ru/cpp-beginners/thread876643.html
Алгоритм шифрования XTEA C++
При построении решения, ошибок не выдает. Все работает. Вопрос вот в чем: при шифровании даже одной буквы, шифр текст выводится длиной 64 символа. При шифровании двух букв - так же и т.д. Но меняются лишь первые 16 символов, следующие всегда остаются одинаковыми. Не могу понять это ошибка? И разве шифр текст по длине не должен быть равен исходному тексту? Например(исходный текст - шифр): a -...
Обработчик исключений C++
Помогите написать обработчик исключений по заданию: Опишите функцию анализа номера телефона, обработайте ошибку задания номера в неверном формате (допустимый формат - +7(095)555-44-33).
C++ Не работают функции! http://www.cyberforum.ru/cpp-beginners/thread876635.html
Не работатает функция pushback(добавление в конец дека) и removez(удаления последнего элемента дека) Помогите плз! #include <iostream.h> #include <stdio.h> struct shop { int number; char nazvanie;
C++ Найти самую большую цепочку возрастающих элементов последовательности задание:найти самою большую цеп цилих чисел, в 1-масиве, что создают зростаюшею последовательностю та сместить таким образом, что-би min елемент стал на 1 место.(показ всем елементов сразу) пример:2 5 4 1 2 5 1 0 1 2 3 5 9 1 ответ:1 2 3 5 9 1 2 5 4 1 2 5 1 0 # include <iostream> # include <math.h> # include <time.h> using namespace std; int mesto(int* mas, int z, int n) { int x=0; ... подробнее

Показать сообщение отдельно
Rifle
 Аватар для Rifle
25 / 25 / 5
Регистрация: 15.11.2012
Сообщений: 93
Завершенные тесты: 4
24.05.2013, 09:16     После каждого четного элемента массива вставить два элемента с тем же значением, после чего полученный массив отсортировать по убыванию
Вот, вроде все выполнено:

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
#include <iostream>
using std::cout;
using std::endl;
#include <ctime>
 
const int size = 10; //размер исходного массива
int main()
    {
    srand(time(0)); //засеиваем новые случайные числа
    int arr[size]; //исходный массив
    for (int i=0; i<size; i++)
        arr[i] = rand()%100; //заполняем массив случайными числами от 0 до 99
    int count = 0; //счетчик четных элементов
    for (int i=0; i<size; i++)
        if ((arr[i]%2) == 0 && arr[i] != 0) //если элемент четный
            count++; //прибавляем счетчик
     //динамически создаем новый массив размером (счетчик четных элементов умножить на 3)
    int* result = new int[count*3];
    int result_i = 0; //индекс нового массива
    for (int i = 0; i<size; i++)
        {
        if ((arr[i]%2) == 0 && arr[i] != 0) //если элемент четный
            for (int j=0; j<3; j++)
                result[result_i++] = arr[i]; //три раза вставляем четный элемент
        }
    //сортируем массив
    for (int i=0; i<count*3; i++)
        {
        for (int j=i+1; j<count*3; j++)
            {
            if (result[i] < result[j]) //если следующий элемент больше чем предыдущий
                {
                //меняем их местами
                int temp = result[i];
                result[i] = result[j];
                result[j] = temp;
                }
            }
        }
    //ответы, выводим два массива
    cout << "First: ";
    for (int i=0; i<size; i++)
        cout << arr[i] << " ";
    cout << endl;
    cout << "Second: ";
    for (int i=0; i<count*3; i++)
        cout << result[i] << " ";
    cout << endl;
    }
 
Текущее время: 10:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru