سلام کسی این برنامه ها رو داره ؟
1:برنامه ی پیمایش سطحی به کمک صف
2: یک لیست از نامها را می خواهیم با 2 روش merge sort و selection sort مرتب کنیم و تعداد عملیات پایه ای را با هم مقاسه کنیم
Printable View
سلام کسی این برنامه ها رو داره ؟
1:برنامه ی پیمایش سطحی به کمک صف
2: یک لیست از نامها را می خواهیم با 2 روش merge sort و selection sort مرتب کنیم و تعداد عملیات پایه ای را با هم مقاسه کنیم
برای مرتب سازی میتونی از دستور strcmp برای مقایسه دو رشته که در سر فایل string.h است استفاده کنی
منظور از تعداد عملیات پایه ای چیه؟
ممکنه اگه برنامه شو دارید برام بفرستید چون من تو تعریف آرایه برای اسم ها مشکل دارم برنامه ی سورت فقط رو اعداد و یک کاراکتر جواب میده منظورم از عملیات پایه ای اینه که توی مرتب سازی مشخص کنه که چند بار عملیات ادغام و انتخابی برای سورت انجام میشه در واقع می خواد ثابت کنه کدوم سریعتره
تعریف آرایه از رشته:
char myArray[100][10] = {"String1", "String2", "String3", ..., "String100"};
مقایسه دو سطر از آرایه فوق:
strcmp(myArray[i], myArray[j])
بقیه اعمال هم شبیه همینه. هرجاشو مشکل داری بگو.
PS: در این مورد شرمندتم:قوانین رو بخوننقل قول:
ممکنه اگه برنامه شو دارید برام بفرستید
من این برنامه رو گذاشتم که یک جمله از کاربر میگیره و کلمات اونو بر اساس حروف الفبا مرتب میکنه البته الگوریتم مرتب سازیش bubble sort هستنقل قول:
ممکنه اگه برنامه شو دارید برام بفرستید چون من تو تعریف آرایه برای اسم ها مشکل دارم برنامه ی سورت فقط رو اعداد و یک کاراکتر جواب میده منظورم از عملیات پایه ای اینه که توی مرتب سازی مشخص کنه که چند بار عملیات ادغام و انتخابی برای سورت انجام میشه در واقع می خواد ثابت کنه کدوم سریعتره
#include<iostream.h>
#include<string.h>
void main()
{
int x;
char s[80],*token,*word[80],*temp;
cin.getline(s,80);
token=strtok(s," ");
for(int i=0;token!=NULL;i++)
{
word[i]=token;
token=strtok(NULL," ");
}
for(int pass=0;pass<i-1;pass++)
for(int j=0;j<i-1;j++)
{
x=strcmp(word[j],word[j+1]);
if(x==1)
{
temp=word[j+1];
word[j+1]=word[j];
word[j]=temp;
}
}
cout<<"sort string by alphabet is :\n";
for(int k=0;k<i;k++)
cout<<word[k]<<endl;
}
من تو این مثال از آرایه های اشاره گر استفاده کردم که گفته دوست قبلی هم درسته
مب تونی به به این صورت تعریف کنی
char *word[80]={"string1","string2",...}
که در واقع یه آرایه کاراکتری از نوع اشاره گر تعریف میکنه که هر خونه اون اشاره گری به اولین حرف یک string است مثلا خونه 0ام از آرایه آدرس string1 رو در خودش داره که به حرف s اشاره میکنه