واضح آرشیو وب فارسی:سایت ریسک: پیدا کردن یک کاراکتر در یک رشته z.ghayoumi 18 ارديبهشت 1386, 21:50به نام پروردگار سلام علیکم . من در نوشتن برنامه ای به زبان c به مشکل برخوردم . برنامه ای به زبان c،که" یک رشته و یک کارکتر "رو از ورودی دریافت بکند وسپس محل های وجود این کارکتر رو در رشته مورد نظر بگه . فقط فرم کلی این برنامه رو یه کمی توضیح بفرمایید . من واقعا نیاز دارم کسی منو راهنمایی بکنه . با سپاس فراوان . with best wishes zahra z.ghayoumi 18 ارديبهشت 1386, 21:55واقعا سعی کردم خودم بنویسم ،ولی به مشکل کوچیکی برخوردم . (من اومدم یک رشته دریافت از ورودی دریافت کردم ،و اون کارکتر خاص از ورودی رو هم مثل رشته -به طول 2 - گرفتم ، بعد گفتم تمام رشته وارد شده رو بررسی کنه string[i .ببینه اگه با اون کارکتره -رشته به طول 2 - برابر شد . (با استفاده از تابع مقایسه دو رشته: strcmp) ، جاش رو چاپ کنه . کد: #include <stdio.h> #include <conio.h> #include <string.h> int main() { char string[100], s[10] ; int i ; printf("enter string :" ) ; gets(string) ; printf("enter ch :") ; scanf("%s" ,& s) ; for(i=0 ;i<=10 ;i++ ){ if(strcmp(string[i], s[1])=0 ){ printf("%4d" ,& i) ; }} getch() ; return 0 ; } این رو براش نوشتم ،ولی فقط اون خطی که از تابع " strcmp " استفاده کردم ، خطا داره . من می خواهم یه کسی منو راهنمایی بکنه . با سپاس فراوان . with best wishes zahra saalek110 18 ارديبهشت 1386, 22:24با سلام و خسته نباشید. ببینید کد زیر از help توربوسی است: #include <string.h> #include <stdio.h> int main(void) { char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc"; int ptr; ptr = strcmp(buf2, buf1); if (ptr > 0) printf("buffer 2 is greater than buffer 1 "); else printf("buffer 2 is less than buffer 1 "); ptr = strcmp(buf2, buf3); if (ptr > 0) printf("buffer 2 is greater than buffer 3 "); else printf("buffer 2 is less than buffer 3 "); return 0; } در ضمن در سی برای بررسی صحت تساوی از == استفاده می کند. و = باعث تاثیر است نه بررسی. در: if(strcmp(string[i], s[1])=0 ){ emad_67 19 ارديبهشت 1386, 00:37این رو براش نوشتم ،ولی فقط اون خطی که از تابع " strcmp " استفاده کردم ، خطا داره . من می خواهم یه کسی منو راهنمایی بکنه خوب تابع strcmp متغیر ورودیش یک رشته است نه یه کاراکتر اگه شما بخواین بهش کاراکتر هم بدید باید آدرس اونو ارسال کنید تا به صورت یه اشاره گر دریافتش کنه ایجوری: strcmp(&string[i],&s[1]); من با c آشنایی زیادی ندارم و اونو با c++ نوشتم حالا اگه با c++ مار کردی اونو به c تبدیل کن #include <iostream.h> #include <conio.h> #include <string.h> void main() { char s[80],ch ; cout<<"enter string:"; cin.getline(s,80); cout<<"enter character:"; cin>>ch; for(int i=0;i<strlen(s);i++ ) if(s[i]==ch) cout<<ch<<" found in index "<<i<<endl; } MnavidM 19 ارديبهشت 1386, 07:54جناب z.ghayoumi ورودتون رو به انجمن تبریک میگم. سری به قوانین () سایت نیز بزنید. عنوان تاپیک رو تغییر دادم ، سعی کنید عنوان مناسب با سوالتون باشه. با تشکر. نوید. z.ghayoumi 19 ارديبهشت 1386, 14:28به نام پروردگار با سلام .mnavidm ممنونم از شما . چشم حواسم نبود . بابت تغییر عنوان تاپیک هم متشکرم ،بهتر شد . اما . . . سالک جان ، از راهنمایی شما متشکرم .همون طور که گفتید خوندن help توربوسی خیلی بهم کمک کرد . و emad-67 ، بله با c++ هم آشنایی دارم .برنامه ات رو خوندم ، برام مفید بود . خیلی سپاسگزارم که وقت گذاشتید وسوال من رو خوندید . with best wishes zahra
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 6225]