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") -- непортабельная хрень.
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") -- непортабельная хрень.
у меня такое ощущение, что ты код туда с ответов и скопировал.. .
например, что это за бред:
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
например, что это за бред:
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
Есть такая штука дебагер попробуйте спомощью него найти ошибку
Похожие вопросы
- Помогите найти ошибку Delphi легкая программка
- Помогите исправить ошибку в программе (c++).
- Помогите исправить ошибку в программе на Си
- Пожалуйста, помогите исправить ошибки в программах на С++!
- Помогите найти ошибку в коде
- ПОМОГИТЕ С ОШИБКОЙ СЫЛок
- Помогите найти ошибку qbasic
- Помогите найти ошибку в коде. делфи
- помогите найти ошибку в коде на Си
- программирование C++. Помогите найти ошибку