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

Ошибка при запуске программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при компиляции http://www.cyberforum.ru/cpp-beginners/thread568100.html
Вот сам код где ошибка // Race value is index in ChrRaces.dbc enum Races { RACE_HUMAN = 1, RACE_ORC = 2, RACE_DWARF = 3, RACE_NIGHTELF = 4, ...
C++ Програма сортировки одномерного масива методом быстрой сортировки на С++ только еще с окнами и формами и коментариями Програма должна считывать масив из какого либо файла,а у меня ничего не получаеться!!!Зарание спасибо(*_*) http://www.cyberforum.ru/cpp-beginners/thread568095.html
C++ Общее количество цифр в числовых значениях всех положительных элементов массива
Ребята, пожалуйста, помогите написать программу! :( уже голову сломала... Дан целочисленный массив A. Определить общее количество цифр в числовых значениях всех положительных элементов массива
Итератор для массива C++
Доброго времени суток, дорогие форумчане! К сожалению, снова вынужден просить у вас помощи: необходимо создать итератор, НО: в связи с тем, что мой контейнер создан из набора элементарных...
C++ Найти сумму ряда с заданной точностью c http://www.cyberforum.ru/cpp-beginners/thread568045.html
Найти сумму ряда с заданной точностью. Точность и значение переменной х вводить с клавиатуры. Осуществить проверку ошибок ввода. Считать ошибочными значения х, которые приводят к расхождению ряда. ...
C++ Метод броуновского моделирования Здравствуйте. Суть проблемы такова: нужно реализовать метод броуновского блуждания ансамбля частиц в миллион штук. Как задать этот ансамбль? Вектором или массивом? подробнее

Показать сообщение отдельно
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
08.05.2012, 19:15
нашёл выход используй malloc и free

Добавлено через 1 минуту
модераторы и админы я специально не использовал теги чтоб было видно исправления
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <windows.h>
#include "alloc.h"


using namespace std;

void merge(double *mas,long n,int l, int r);

int main(int argc, char *argv[])
{
cout << "Zadayte chislo elementov v massive N = ";
long n;
cin >> n;
double *mas=(double*)malloc(n*sizeof(double));
srand((unsigned)time(NULL));
for (int i=0; i<n; i++)
{ mas[i]=(int)rand()/(rand()+1);
cout << mas[i] <<" "; }
//cout << endl;
//cout << "==========================================="<<endl;
double t1=clock();
merge(mas,n,0, n-1);
double t2=clock();
/*for (int i=0; i<n; i++)
{cout << mas[i] <<" ";}*/
cout << endl;
cout <<"t1 = "<<t1<<endl;
cout <<"t2 = "<<t2<<endl;
cout << "\nVremya rascheta = " <<(t2-t1)/CLOCKS_PER_SEC << endl;
system("PAUSE");
free(mas);
return EXIT_SUCCESS;
}
void merge(double *mas,long n,int l, int r) {
if (r == l)
return;
//åñëè îñòàåòñÿ 2 ýëåìåíòà òî ìåíÿåì èõ ìåñòàìè
if (r - l == 1) {
if (mas[r] < mas[l])
swap(mas[r], mas[l]);
return;
}
//äåëåíèå ìàññèâà ïîïîëàì
int m = (r + l) / 2;
//ðåêóðñèâíûé âûçîâ ôóíêöèè äëÿ ëåâîé è ïðàâîé ÷àñòè ìàññèâà
merge(mas,n,l, m);
merge(mas,n,m + 1, r);
//ìàññèâ â êîòîðîì áóäåò ïðîèñõîäèòü ñëèÿíèå ÷àñòåé
double *buf=(double*)malloc(n*sizeof(double));
int xl = l;
int xr = m + 1;
int cur = 0;
//ïîêà ñóùåñòâóåò õîòÿáû 1 ýëåìåíò âûïîëíÿèòñÿ ñëèÿíèå
while (r - l + 1 != cur) {
//ñðàâíåíèå ºëåìåíòîâ ïîäìàññèâîâ, ïðîöåññ ñëèÿíèÿ ïîäìàññèâîâ
if (xl > m)
buf[cur++] = mas[xr++];
else if (xr > r)
buf[cur++] = mas[xl++];
else if (mas[xl] > mas[xr])
buf[cur++] = mas[xr++];
else buf[cur++] = mas[xl++];

}
for (int i = 0; i < cur; i++)
mas[i + l] = buf[i];
free(buf);
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru