سلام خسته نباشید یه برنامه می خوام به زبان c یا پاسکال یا C++ که یک فایل txt حاوی عدد را که با space از هم جدا شدن از ورودی بگیره و به روش Bubble sort یا insertion sort یا radix sort مرتبش کنه و دوباره در یک فایل متنی به عنوان خروجی بزارتش
مرسی
سلام خسته نباشید یه برنامه می خوام به زبان c یا پاسکال یا C++ که یک فایل txt حاوی عدد را که با space از هم جدا شدن از ورودی بگیره و به روش Bubble sort یا insertion sort یا radix sort مرتبش کنه و دوباره در یک فایل متنی به عنوان خروجی بزارتش
مرسی
با سلام.
تابع bobblesort که یه آرایه ای از رشته ها رو بگیره و مرتب کنه رو که بلدی بنویسی، فقط میمونه اینکه اول اطلاعات فایل رو بریزی تو همون آرایه از رشته ها.اول کل فایل رو میریزی تو یه رشته ی بزرگ و بعد با تابع strtok اون رو تکه تکه میکنی و داخل رشته میریزی:
#include<string.h>
//vars
char *buf=new char[9000];
char **dic =new char[400][20];
int i=0;
char *filename="new.txt";
//file read
FILE *fp=fopen(filename,"r");
fgets(buf,sizeof(buf),fp);
//add to dic
char *word=strtok(buf," ");
strcpy(dic[i],word);
while(word!=NULL)
{
i++;
word=strtok(buf,NULL);
strcpy(dic[i],word;
}
//sort
sort(dic,400,20);
خودم کامپایلش نکردم.
سلام جواب نمی ده پیغام خطا میده
اول بايد تابع sort رو به قول دوستمون پياده سازي کني . بعد از اون اين قطعه کدها رو مي ذاري تو تابع main . البته string رو بيرون از main اينکلود مي کني .
فقط مي مونه يه مشکل که اونو هم از جناب mortezamsp مي پرسم .
مطمئن هستين که تخصيص حافظه براي آرايه دو بعدي رو درست انجام دادين ؟
کسی میتونه بدون ریختن اعداد در ارایه و ... داحل همون فایل مرتب کنه؟
امکانش هست اصلا؟