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

Подсчитать Количество перестановок при сортировке массива по возрастанию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка префиксного инкремента http://www.cyberforum.ru/cpp-beginners/thread1187029.html
Как перегрузить префиксальный инкремент? class Horse{ private: int x,y; public: Horse(void); void setX(int); void setY(int);
C++ На основе контейнера vector построить двумерный динамический массив Каким образом можно один двумерный массив скопировать в другой?С помощью copy() не получается На основе контейнера vector построить двумерный динамический массив целых чисел. Выполнить операции... http://www.cyberforum.ru/cpp-beginners/thread1187015.html
C++ Объявить массив целых чисел в подструктуре
Подскажите пожалуйста как правильно мне следует объявить массив B в подструктуре,что бы он считывался из файла. Ниже привела текст проги,она работает,но не считывает массив B( #include...
C++ Сформировать строку из символов исходной
подскажите пожалуйста,как нужно сформировать 2ю строку,которая будет содержать слова,которые получаются при деление..? void text::work(){ char *p; char *str1; int i=0; str1=new char;...
C++ Разработка класса http://www.cyberforum.ru/cpp-beginners/thread1186972.html
Если кто может помогите составить пожалуйста ЗАДАНИЕ №1. Разработать класс CString для работы со строками текста, состоящими не более чем из 255 символов (аналог типа String в Турбо Паскале)....
C++ Вывести станции в порядке их закрытия В городе есть метро, состоящее из N станций и M линий, соединяющих их. Каждая линия обеспечивает проезд между любыми двумя станциями в обе стороны. Между любой парой станций проведено не более одной... подробнее

Показать сообщение отдельно
Sh@dow777
12 / 12 / 3
Регистрация: 10.12.2013
Сообщений: 676
25.05.2014, 12:52  [ТС]
Genn55, Если я вас правильно понял, то нужно сделать так?
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
#include <stdio.h>
 
int main()
{
    int n,i,k,j;
    int s = 0;
 
    scanf("%d",&n);
 
    int *a = new int[n];
    for(i = 0;i < n;i++)
        scanf("%d", &a[i]);
 
    for(i = 1;i < n;i++){
        for(j = 0; j < n - 1;j++){
        if(a[j] > a[j+1]){
            k = a[j];
            a[j] = a[j+1];
            a[j+1] = k;
            s++;
        }
        }
    }
    printf("%d", s);
 
    delete[] a;
 
    return 0;
}
Но все равно выдает "Превышено максимальное время работы" на 21 тесте.

Добавлено через 1 час 54 минуты
Может быть мне стоит попробовать другой алгоритм? Но в условии задачи четко написано, что при сортировке меняются местами соседние элементы.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru