Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Трабл с лабой по C++


Рекомендуемые сообщения

Собствено при компиляции не вылетает никаких ошибок, зато при первой же попытке применить qsort - рушиться =( Помогите понять проблему

//6.8.1: Дан массив действительных чисел, содержащий n элементов (n = 100, 200). //Выполнить сортировку массива с помощью стандартной функции быстрой сортировки qsort, //прототип которой находится в заголовочном файле stdlib.h (написать для нее функцию сравнения, //которая передается в качестве параметра, и заполнить таблицу строк) //Для тестирования программы массив значений заполнять тремя способами: //по возрастанию,  по убыванию, случайным образом. #include <iostream>#include <conio.h>#include <windows.h>#include <iomanip>#include <math.h>#include <stdlib.h>#include <time.h>using namespace std;//фнкция для сравнения 2 элементовint CompareThey( const void *First, const void *Second ){return _stricmp( * ( char** ) First, * ( char** ) Second );}template <class T>int CompareThey(T* First, T* Second){return (int)(*First - *Second)}//фнкция для вывода матрицы template <class S>void ShowArray(S Array, int iSize = 2){for (int i = 0; i < iSize; i++)	cout << setw(4) << Array[i];cout << endl;}int main(int argc, char* argv[]){//инициализацияint iSize = 2;srand(time(NULL));//получаем размерность матрицыcout << "Enter array's size: ";cin >> iSize;//Формируем и заполняем матрицы iA, fB, dC по возрастанию, убыванию и случайным образом соответсвенноint* iA = new int[iSize];float* fB = new float[iSize];double* dC = new double[iSize];for (int i=0; i < iSize; i++){	iA[i] = i;	fB[i] = (float)iSize - (float)i;	dC[i] = rand() % 20;}//вывод результатовcout << "Array #1 (integer):" << endl;ShowArray(iA, iSize);qsort(iA, iSize, sizeof(iA[0]), CompareThey);cout << "Array #1 (integer) after qsort():" << endl;ShowArray(iA, iSize);cout << "Array #2 (float):" << endl;ShowArray(fB, iSize);qsort(fB, iSize, sizeof(fB[0]), CompareThey);cout << "Array #2 (float) after qsort():" << endl;ShowArray(fB, iSize);cout << "Array #3 (double):" << endl;ShowArray(dC, iSize);qsort(dC, iSize, sizeof(dC[0]), CompareThey);cout << "Array #3 (double) after qsort():" << endl;ShowArray(dC, iSize);cout.flush();_getch();return 0;}
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...