Другие языки программирования и технологии

помогите с ошибкой (с++)

http://pastebin.com/H66hRr6L
рекурсивная сортировка
компьютер прекращает работу exe-файла после ввода массива
#include <iostream>

using namespace std;

int recSor(int mass[], int n) {
    if (n > 1) {
        int mi = 0, tmp = mass[n - 1];
        for (int i = 1; i < n; ++i) if (mass[ i] > mass[mi]) mi = i;
        mass[n - 1] = mass[mi];
        mass[mi] = tmp;
        recSor(mass, n - 1);
    }
}

int main() {
    #define n 5 // ключевое слово const "портится" на "ответах"
    int mass[n];
    for (int i = 0; i < n; ++i) cin >> mass[ i];
    recSor(mass,n);
    for (int i = 0; i < n; ++i) cout << mass[ i] << " ";
    cin.sync(); cin.get();
    return 0;
}

ЗЫ:
Массивы в С++ индексируются с нуля, а не единицы.

> как минимум в конце main нет system( "pause" )
system("pause") -- непортабельная хрень.
МС
Маратхан Сах
71 160
Лучший ответ
у меня такое ощущение, что ты код туда с ответов и скопировал.. .
например, что это за бред:
int mass[n];
for(int i = 1; i <= n; ++i)
cin>>mass;
???

а вообще, у тебя как минимум в конце main нет system( "pause" ) или чего подобного, вот программа и завершается благополучно

а, и еще: элементы массива нумеруются от 0 до N-1, а не от 1 до N

ну вот же:

for(int i = 1; i <= n; ++i)
cin >> mass[ i ];

а должно быть от 0 до n-1
Artem Zhunin
Artem Zhunin
38 447
Есть такая штука дебагер попробуйте спомощью него найти ошибку
me
mereacre.natasa
35 594