سلام
اگر کسی در مورد این مسئله می تونه راهنماییم کنه ممنون میشم.
با c++برنامه ای بنویسید که ورودی با طول کمتر از 100را از فایل متنی input.txtبخواند و از روشmarge sort برای مرتب سازی آن استفاده کرده و نتیجه را در فایل متنی output.txtذخیره کند
سلام
اگر کسی در مورد این مسئله می تونه راهنماییم کنه ممنون میشم.
با c++برنامه ای بنویسید که ورودی با طول کمتر از 100را از فایل متنی input.txtبخواند و از روشmarge sort برای مرتب سازی آن استفاده کرده و نتیجه را در فایل متنی output.txtذخیره کند
نقل قول:
اینجا جواب میگیری:
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سحر عزيز بعد از اينكه اين تاپيك معرفي شده را مرور كردي
خودت يه ايده بده تا دوستان در رفع خطا و مشكلات كمكت كنند.
مثلاً به نظر من ميتوني برنامه اصلي رو خودت بنويسي
در مورد ارتباط برقرار كردن
وذخيره در فايل كساني هستند كه كمكتون كنند.
سلام دوستان.آقای مختاری ممنون از راهنماییتون.
من این قطعه برنامه رو برای قسمت meregبرنامه نوشتم اما چه طوری باید با دو فایل دیگه
لینک کنم رو نمی دونم
Void merge(low,mid,high){//alocal array needed for the mergingElementtype l [low..high];h=low;i=low;j=mide+1while((h<=mide)&&(j<=high)){If(s[h]<=s[j]){L[i]=s[h];h++;}else{l[i]=s[j];j++;}}//end of whileIf(h>mide)For(k=j; k<=high; k++){L[i]=s[k]:i++;}ElseFor(k=h; k<=mide; k++){L[i]=s[k];I++;}For(k=low; k<=high; k++)S[k]=l[k];}//end of fanction
Last edited by *sahar*; 20-10-2007 at 18:58.
من كد شما رو بررسي كردم:
فكر مي كنم تا حالا اون رو اجرا نكرديد. لذا محيط borland c++ 5.02 رو به شما پيشنهاد ميدم.(و شايد vc++ 6 ).
چون زبان سي پلاس پلاس ،Case Sensitive (حساس به كوجك و بزرگي حروف) است شما نميتونيد
If رو بجاي if به كار ببريد.
در ورودي مسئله شما تعدادي عدد (n تا) داريد كه تو آرايه مثلاً array1 ذخيره شده اند.
تابعي كه شما فرستاده ايد خود تابع Merg است و نه برنامه Merge sort . از اين تابع بايد كمك بگيريد و با فراخواني هايي كه انجام مي ديد عمل مرتب كردن رو روي آرايه تان(همون array1 ) انجام دهيد.
يك برنامه كامل درست كنيد كه قابل اجرا باشد.
به عنوان راهنمايي در باز و بسته كردن و فرستادن يا گرفتن كاراكترها از فايل هم كد زير رو به عنوان نمونه ببينيد.
نحوه گرفتن كاراكتر ها از فايل:
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدباز هم كمكت مي كنم.
بعد از اينكه خود برنامه اصلي رو نوشتي
سلام. بله درسته c++حروف کوچک و بزرگ را تفاوت قائل میشه اما من اونجا رعایت کردم اما این قطعه برنامه ای که فرستادم پیش نویسی بود که در برنامه wordنوشته بودم و حروف اول بعضی خطوط بزرگ شده بود .
من این قطعه برنامه را بدون لینک کردن به فایلهای ورودی و خروجی کامل نوشتم اجرا شد اما نمی دونم باه کمک چه توابعی می تونم ارتباط با دو فایل دیگه رو برقرار کنم.
مثل كدي كه نوشتم در قسمت :
cin >> filename
اسم و آدرس فايل وروديت رو بنويس
يك سري توضيحات هم نوشتم كه با آن مي تواني مراحل را متوجه شوي
از help خود برنامه هم مي تواني كمك بگيري.
توضيحات:
متغيري از نوع كاراكتري براي گرفتن كاراكترها از فايل تعريف مي نماييم
در صورتي كه مي خواهيد عدد از فايل بگيريد ميتوانيد آن را عددي تعريف كنيد.با دستور روبرو برنامه را براي ارتباط برقرار كردن با فايل آماده مي كنيم.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تعاريف مربوط به گرفتن آدرس فايل(مثلاًh:\input.txt )و flush براي فرستادن كاراكتر هايي
كه احتمالاً قبلاً در خروجي بافر شده اند در زير آمده است.دستور باز كردن فايل دو ورودي دارد يكي آدرس فايل است وکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ديگري (ios::in يا ios:out ) كه مشخص مي كند فايل را براي ورود اطلاعات
از آن به برنامه (ios::in) يا براي فرستادن اطلاعات از برنامه به آن(ios::out) مي خواهيد باز كنيد.
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در صورتي كه فايل باز نشود (مثلاً آدرس اشتباه نوشته باشيد) مقدار بازگشتي از
file.fail() ، true خواهد بود و مي توان با آن كاربر را از باز نشدن فايل مطلع كرد مانند زير:
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دستور زير باعث مي شود كه در موقع خواندن كاراكترها از فايل، فضاهاي سفيد هم
در نظر گرفته شوند.
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اين قسمت از كد تمام محتويات فايل را در خروجي استاندارد چاپ مي كند.پس از اينكه كار شما با فايل به پايان رسيد، جريان اطلاعات ايجاد شدهکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
را ببنديد.
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
براي فرستادن اطلاعات به فايل خروجي هم كافيست تغييرات زير را انجام دهيد:
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام. خیلی ممنون از راهنمایی ارزشمندتون من برنامه کامل می کنم.کاملشو براتون می فرستم تا نظرتونو بدین
دوتا لينك جالب هم در اين مورد بود :
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام . ممنون از راهنمایی هاتون اومدم کد کاملو بفرستم که دیدم این لینکارو گذاشتین اما نوشتن این کد با راهنمایی و تلاش خیلی برام جذاب تر بود تا این که از اول می رفتم دنبال لینکش .
بازم ممنون
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)