توی فایلی که گذاشتی 16461 عدد وجود داره و فکر نمیکنم کامپایلر هم بتونه یه همچین مقداری رو تخصیص حافظه کنه به خاطر همینه که توی فایل های بزرگ به مشکل بر می خوری و ممکنه سیستم با کمبود حافظه مواجه بشهمن برنامه را طبق نیاز خودم به صورت زیر تغییر دادم اما باز هم درمورد فایلهای خیلی بزرگ که یک نمونه را دراینجا آورده ام درست کار نکرد واررور داد
بستگی داره منظورت از فایل کوچیک چقدر باشه چون برای من هم برای 1000 تا عدد حدود 2 دقیقه ای طول کشید فکر کنمدر ضمن در مورد فایلهای کوچک نیز خیلی طول می کشد و بعضی اوقات نیز گیر می کند
برای کوتاه تر شدن زمان باید الگوریتم های خیلی بهینه تری رو استفاده کرد برای مثال همین الگوریتم Bubble Sort که برای مرتب کردن اعداد استفاده شده الگوریتم بهینه ای نیست میتونید به جای اون از Quick Sort استفاده کنید البته من همنوز این قدر با الگوریتم ها آشنایی ندارم و ممکنه الگوریتم های بهینه تری هم وجود داشته باشه البته عملیاتی که بیشتر زمان میبره همین جمع بستن هستش و شاید عوض کردن الگوریتم Sort هم زیاد محسوس نباشه ضمنا اگه نیازی به double نداری اونو به float تبدیل کنراستی شما روشی برای اینکه برنامه اینقدر طول نکشد ندارید؟
میتونی آرایه های a و c رو هم حذف کنی تا یه کم حجم کار بیاد پایین و بجاش اینجوری بنویس
for(i=0;i<n;i++)
{
char *word=new char[10];
numfile>>word;
b[i][0]=atof(word);
}





پاسخ با نقل قول