Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Плохой калькулятор: как его сделать нормальным? (улучшить код) Как его сделать нормальным ? :cry: #include <functional> #include <iostream> #include <sstream> #include <string> #include <cmath> #include <map> template<class T=int> https://www.cyberforum.ru/ cpp-beginners/ thread1980088.html Напечатать все слова строки, отличные от последнего слова, удалив из них первую букву C++
Дана строка. Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: удалить из слова первую букву. Есть код, но выводит, но если первое слово и последнее одинаковое, то все равно выводит слова первое, а этого не нужно. Что исправить, если кто сможет, упростить и код, то буду благодарен . #include<iostream> #include <Windows.h> ...
C++ Наличие/отсутствие cout меняет результаты вычислений программы Нужна помощь, я не очень силен в программировании, а тут в программе какая то совсем чертовщина творится. Проблема возникает в функции main (она в самом конце программы). В ней есть два цикла - в первом массив Weights инициализируется случайными числами от -5 до 5, во втором цикле значения этого массива присваиваются массиву Pweights, и выполняются некоторые другие действия. Очевидно что... https://www.cyberforum.ru/ cpp-beginners/ thread1980074.html C++ Выделить логически связанные части кода в пользовательские функции Как перделать этот текст программы под функции? #include <iostream> #include <iomanip> #include <clocale> #include <algorithm> using namespace std; https://www.cyberforum.ru/ cpp-beginners/ thread1980066.html
C++ Переведите код на с++
Задача Пчелы труженицы {ссылка на условие задачи удалена модератором} var a, c:array of int64; b:array of boolean; count, r, n, i, j, max:longint; rez:int64; procedure out; begin writeln (rez);
C++ Удаление списка Здравствуйте! Для реализации Хэш таблицы с индексами от 0 до 9 создал структуру и класс. Хэш таблица хранит числа, ключ это остаток от деления на 10 этого числа (вычисляется в int Hash::h(int item)). Он вычисляется без проблем. struct HashItem { HashItem *next; int Number; int Quantity; https://www.cyberforum.ru/ cpp-beginners/ thread1980036.html
C++ Функция Compare для стандартной сортировки Имеется стандартная сортировка, использующая функцию mysorted sort(tasks.begin(), tasks.end(), mysorted); Вот один прототип функции mysorted с которым все работает: bool pair_second_sort(const pair<size_t, size_t> &a, const pair<size_t, size_t> &b){ return (a.second < b.second); } Если я захочу сделать ее шаблонной, то программа перестает компилироваться с ошибкой, что не может... https://www.cyberforum.ru/ cpp-beginners/ thread1980034.html Класс "Предметный указатель" C++
Разработать программу на языке С++ на основе объектно-ориентированного подхода, содержащей классы и объекты. Описать класс «предметный указатель». Обеспечить следующие возможности: ― Каждый компонент указателя содержит слово и номера страниц, на которых, это слово встречается; ― Количество номеров страниц, относящихся к одному слову, от одного до десяти; ― Предусмотреть...
C++ Что значит ^= ? нашел в коде данную фичу (язык С) не понимаю что конкретно она выполняет пример из кода ... mistake ^= i+1; ... https://www.cyberforum.ru/ cpp-beginners/ thread1980000.html C++ нужно написать функцию, которая будет считать квадратное уравнение, данные с клавиатуры ввожу #include <conio.h> #include <iostream> #include <math.h> using std::cout; using std::endl; using std::cin; int a, b, c, d; enum color { Red=1, Green, Blue }; https://www.cyberforum.ru/ cpp-beginners/ thread1979984.html
Разработать и испытать функцию C++
Разработать и испытать функцию, которая принимает два целых числа n и k и возвращает число, содержащее k первых цифр n
C++ Решение систем n обычных систем диф уравнений методом Эйлера-Коши Ребят, помогите пожалуйста написать программу для решения систем n обычных систем диф уравнений методом Эйлера-Коши. Было бы не плохо если график выводило и значения любые можно было задавать. Очень нужно https://www.cyberforum.ru/ cpp-beginners/ thread1979948.html
3 / 3 / 6
Регистрация: 12.03.2013
Сообщений: 25
13.05.2017, 18:03 0

Сортировка через один - C++ - Ответ 10431514

13.05.2017, 18:03. Показов 5141. Ответов 6
Метки (Все метки)

Ответ

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
#include <iostream>
 
using namespace std;
 
int main()
{
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    int c, n;
    int a[10000];
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
 
    for (int i = 0; i < n - 1; i+=2) {
        for (int j = 0; j < n - i - 2; j+=2) {
            if (a[j] > a[j + 2]) {
                swap(a[j], a[j+2]);
            }
        }
    }
 
 
    for (int i = 0; i < n; i++)
    {
        cout  << a[i] << " ";
    }
 
    return 0;
}
Добавлено через 10 минут
Не правильно прочитал условие 0 < N ≤ 100000
int a[100000];

сейчас надо сократить время работы

Добавлено через 43 минуты
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
#include <iostream>
 
using namespace std;
 
int main()
{
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    int c = 0;
    int n;
    int a[100000], b[100000];
    cin >> n;
 
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
 
    if (n % 2 != 1) {
        for (int i = 0; i <= n / 2 - 1; i++) {
            b[i] = a[i * 2];
            c++;
        }
    }
    else {
        for (int i = 0; i <= n / 2; i++) {
            b[i] = a[i * 2];
            c++;
        }
    }
 
 
    for (int i = 0; i <= n * 2 + 1; i++) {
        a[i*2] = b[i];
    }
 
    for (int i = 0; i < c - 1; i++) {
        for (int j = 0; j < c - i - 1; j++) {
            if (b[j] > b[j + 1]) {
                swap(b[j], b[j + 1]);
            }
        }
    }
    for (int i = 0; i <= n / 2; i++) {
        a[i * 2] = b[i];
    }
    
 
 
    for (int i = 0; i < n; i++)
    {
        cout << a[i] << " ";
    }
    return 0;
}
Не хватает каких то 052 секунды, какие еще методы сокращения операций я не в курсе, тут уже вопросы к профессионалам

Вернуться к обсуждению:
Сортировка через один C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2017, 18:03
Готовые ответы и решения:

Через какое минимальное количество точек можно провести один и только один эллипс?
Здравствуйте. Если я не ошибаюсь, то по трём точкам, не лежащим на одной прямой, можно построить...

Получение инета через один Wi-Fi адаптер, а раздача через другой
Приветствую всех форумчан. Облизал весь инет и перепробовал кучу софта и разных методов но так и...

Выбрать через JOIN только один столбец и запихнуть его в ячейку через GROUP_CONCAT
Select *, GROUP_CONCAT(OtherTable.Id) FROM MainTable LEFT OUTER JOIN OtherTable...

Сортировка n количества столбцов в один
Добрый день! Имеется файл с n количеством столбцов и заполненных в них n количеством строк. ...

6
13.05.2017, 18:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2017, 18:03
Помогаю со студенческими работами здесь

Сортировка массива за один проход
помогите пожалуйста с задачей , хоть какие-нибудь варианты -- Переместить в целочисленном массиве...

Сортировка массива за один проход
Помогите. Нужно отсортировать массив так, чтобы справа были отрицательные, слева положительные и...

Сортировка в один проход по нескольким полям
Добрый вечер, #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;vector&gt; #include &lt;algorithm&gt;...

Сделать один цикл while. Сортировка пузырьком c#
using System; using System.Diagnostics; using System.Collections.Generic; using System.Linq;...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru