امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
جستجوی دودویی با استفاده از اشارگرها در زبان C
نویسنده پیام
mitra.kh آفلاین
تازه وارد

ارسال‌ها: 2
موضوع‌ها: 1
تاریخ عضویت: فروردین ۱۳۹۰

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
Exclamation  جستجوی دودویی با استفاده از اشارگرها در زبان C
سلام خسته نیاشید واسه برنامه جستجو با اشارگرها به مشکل برخوردم کسی میتونه کمکم کنه؟؟؟؟؟؟؟[/size]
۱۷-فروردین-۱۳۹۰, ۱۵:۳۶:۵۲
ارسال‌ها
پاسخ
mitra.kh آفلاین
تازه وارد

ارسال‌ها: 2
موضوع‌ها: 1
تاریخ عضویت: فروردین ۱۳۹۰

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #2
RE: جستجوی دودویی با استفاده از اشارگرها در زبان C
Binary search [string pointer array]

#include <stdio.h>
#include <string.h>

static int binsearch(char *str[], int max, char *value);

int main(void) {
/* note, array needs to be sorted for bsearch... */
char *strings[] = { "bill", "chris", "jason", "randy", "trish" };
int i, asize, result;

i = asize = result = 0;

asize = sizeof(strings) / sizeof(strings[0]);

for(i = 0; i < asize; i++)
printf("%d: %s\n", i, strings[i]);

printf("\n");

if((result = binsearch(strings, asize, "randy")) != 0)
printf("`randy' found at position: %d\n", result);
else
printf("`randy' NOT found..\n");

if((result = binsearch(strings, asize, "nick")) != 0)
printf("`nick' found at %d\n", result);
else
printf("`nick' was NOT found..\n");

return 0;
}

static
saeed saeed: bia

****************************************************************************************
Binary search [string pointer array]

#include <stdio.h>
#include <string.h>

static int binsearch(char *str[], int max, char *value);

int main(void) {
/* note, array needs to be sorted for bsearch... */
char *strings[] = { "bill", "chris", "jason", "randy", "trish" };
int i, asize, result;

i = asize = result = 0;

asize = sizeof(strings) / sizeof(strings[0]);

for(i = 0; i < asize; i++)
printf("%d: %s\n", i, strings[i]);

printf("\n");

if((result = binsearch(strings, asize, "randy")) != 0)
printf("`randy' found at position: %d\n", result);
else
printf("`randy' NOT found..\n");

if((result = binsearch(strings, asize, "nick")) != 0)
printf("`nick' found at %d\n", result);
else
printf("`nick' was NOT found..\n");

return 0;
}

static int binsearch(char *str[], int max, char *value) {
int position;
int begin = 0;
int end = max - 1;
int cond = 0;

while(begin <= end) {
position = (begin + end) / 2;
if((cond = strcmp(str[position], value)) == 0)
return position;
else if(cond < 0)
begin = position + 1;
else
end = position - 1;
}

return 0;
}
من این جواب رو نوشتم اما از صحتش مطمیئن نیستم
۲۴-فروردین-۱۳۹۰, ۱۴:۳۶:۴۰
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش مبتدي تا پيشرفته زبان C++ - C dreamvbfox 46 136,868 ۱۲-آذر-۱۳۹۹, ۱۷:۴۶:۱۴
آخرین ارسال: mona_alizade
  [پروژه] الگوریتم زمانبندی RR به زبان C همراه سورس کد Ghoghnus 2 1,482 ۰۳-بهمن-۱۳۹۸, ۱۴:۲۷:۵۷
آخرین ارسال: Ghoghnus
Question درخواست برنامه ای به زبان ++C saeidengman 11 15,555 ۰۵-تير-۱۳۹۶, ۱۱:۴۷:۰۱
آخرین ارسال: alivolley
  ارتباط دو زبان c و ++C و ایجاد آبجکت از کلاس در C salehjg 3 3,742 ۲۴-اردیبهشت-۱۳۹۵, ۱۶:۰۸:۱۷
آخرین ارسال: salehjg
  کتاب فارسی اموزش زبان C lord_viper 12 33,520 ۱۹-اسفند-۱۳۹۳, ۰۰:۰۲:۰۵
آخرین ارسال: vigraz
Question [سوال] تبدیل نوع متغیر (float به unsigned char) در زبان سی PRO 3 7,754 ۰۹-مرداد-۱۳۹۲, ۲۰:۱۶:۰۰
آخرین ارسال: PRO
  برنامه شمارنده خاص به زبان ++C saidal 1 4,331 ۱۷-اسفند-۱۳۹۱, ۱۷:۲۰:۳۸
آخرین ارسال: Ghoghnus
Question جستجوی یک کلمه در متن ΛΛ Θ l-l $ Σ Ω 30 33,720 ۱۰-دى-۱۳۹۱, ۱۸:۳۶:۵۷
آخرین ارسال: babyy
Wink برنامه هافمن به زبان c++ setayesh20 3 11,299 ۳۱-مرداد-۱۳۹۱, ۲۱:۰۶:۲۹
آخرین ارسال: masterhe3ar
  برنامه به زبان سی MicrowaveCO 1 4,113 ۳۱-مرداد-۱۳۹۰, ۰۰:۰۷:۱۶
آخرین ارسال: norozi

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS