درخواست راهنمايي درباره ي برنامه اي به زبان pascal

وضعیت
موضوع بسته شده است.
با سلام.من در حال كار بر روي پروژه اي به زبان پاسكال هستم.اما مايلم از كمك شما دوستان عزيز هم بهره مند شوم.پروژه ي مورد بحث به شرح زير مي باشد:
فرض كنيد در يك فايل متني تعداد نا معلومي جمله داريم.مثلاً:I wake up at 07:12:45 AM.اين جملات هر كدام در يك سطر نوشته مي شوند.زمان شامل حتماً ساعت و دقيقه و ثانيه ( دو رقمي و am-pm) مي باشد كه اين زمان مي تواند در ابتدا يا وسط يا آخر جمله واقع باشد.نبودن pm-am در آخر زمان به معني am است.حال مي خواهيم برنامه اي بنويسيم كه اين جملات را از يك فايل متني كه نام آن را كاربر وارد مي كند بخواند و به ترتيب زمان ها مرتب كند و به عنوان خروجي همان جمله هاي ورودي را كه اكنون به ترتيب زمان مرتب شده اند در يك فايل متني بنويسد.
از راهنمايي ها و كمك شما دوستان عزيز پيشاپيش كمال تشكر را دارم.
 

MnavidM

Active Member
با سلام.

نوع فايلي كه شما مي خواهيد روي اون كار كنيد

Text است يا نوع دار .

فكر كنم اون طوري كه شما گفتيد Text . اما اگه ركوردي بود بهتر بود.

جدا از اين در چه قسمتيش سوال داربد ؟

كامل بگيد .
 

am_peg

New Member
سلام
بايد به يك روشي از اين متن اون قسمتي كه مربوط به ساعت هست رو جدا كني. مثلا اگه قبل و بعد از همه ساعتها فاصله هست به راحتي ميشه اين كار رو انجام داد.
مهمترين قسمت همين جدا سازي هست. بعدش ساعت رو ميريزي توي يك متغير و بصورت جدا جدا توي يك آرايه ميريزي. بعدش مثلا همه ساعتها رو مقايسه ميكني هركدوم كه بيشتر بود اول مياريش و بعد دقيقه ها رو و به همين ترتيب تا آخر... البته اين رو هم بگم كه بايد همراه ساعت اگه فيلد كليد داره اون رو هم برداري تا بعد بدوني كه هر زمان مال كدام ركورد هست.
موفق باشيد.
امير
 

ladan_123

New Member
salam
khob ye record tarif kon ke type hash az no'e string bashan
ba'd string bekhoone az too file
berize too recordet
oonja ham ba estefade az procedurehayi ke khoondim
mitooni saato bekeshi biroon
badesham sortesh koni
 
سلام.ممنونم.به نظر من مهم ترين قسمت همين خواندنش از فايل text است.در ضمن خواندن و مرتب كردن آن نبايد به فاصله وابسته باشد.من معيارم را :))قرار دادم. حالا يه چيزي.فرض كنيم sort شد.زمان ها مرتب شده اند.ولي جملات هم بايد همراه زمان ها در خروجي نوشته شوند.بايد با 2 ركورد تو در تو اين كار انجام شود يا مثلاً كپي كردن ركورد يا راهي ساده تر داريم؟
آقا امير ! چون am-pm داريم گمانم تبديل به ثانيه بهتر باشد يا نه؟
 

sadegh

New Member
henry hosseini گفت:
با سلام.من در حال كار بر روي پروژه اي به زبان پاسكال هستم.اما مايلم از كمك شما دوستان عزيز هم بهره مند شوم.پروژه ي مورد بحث به شرح زير مي باشد:
فرض كنيد در يك فايل متني تعداد نا معلومي جمله داريم.مثلاً:I wake up at 07:12:45 AM.اين جملات هر كدام در يك سطر نوشته مي شوند.زمان شامل حتماً ساعت و دقيقه و ثانيه ( دو رقمي و am-pm) مي باشد كه اين زمان مي تواند در ابتدا يا وسط يا آخر جمله واقع باشد.نبودن pm-am در آخر زمان به معني am است.حال مي خواهيم برنامه اي بنويسيم كه اين جملات را از يك فايل متني كه نام آن را كاربر وارد مي كند بخواند و به ترتيب زمان ها مرتب كند و به عنوان خروجي همان جمله هاي ورودي را كه اكنون به ترتيب زمان مرتب شده اند در يك فايل متني بنويسد.
از راهنمايي ها و كمك شما دوستان عزيز پيشاپيش كمال تشكر را دارم.

با سلام
شما براي اينكار اول بايد يك ركورد تعريف كنيد كه دو مقدار string را داشته باشد...
بعد يك آرايه از نوع ركوردي كه تعريف كرديد بسازيد...
بعد هر خط فايل متني خودتونت رو بخونيد و در يك از متغييرها قرار بدين ...
بعد هم با استفاده از دستور Pos محل اولين : رو پيدا كنيد و 2 تا از اون كم كنيد تا محل ساعت بدست بيايد و حالا هم از محل ساعت تعداد 8 كاراكتر را بر داريد كه اين ميشه زمان شما حال بايد دوباره با استفاده از دستور Pos در رشته خود بعد محل زمان محل amيا pm رو بدست بياوريد اگر am بود كه هيچ ولي اگر pm بود بايد به مقدار ساعت 12 تا اضافه كنيد...
حالا اين مقدار ساعت رو در همون عنصر آرايه كه متن خودتون رو توي اون قرار دادين در متغيير دومش قرار بدين...
در آخر هم با يك Sort حبابي ساده مي تونيد اين آرايه رو سورت كنيد (بر حسب متغيير زمانتون)
در اينجا بايد بگم كه در پاسكال شما مي تونيد مقادير string رو هم با همديگه مقايسه كنيد . مثلا مقدار 08:10:15 در پاسكال بيشتر از مقدار 08:05:10 هست ..

من اين پروژه رو هفته پيش براي يكي ديگه هم توضيح دادم كه با حدود 20 خط سرو تهش هم اومد :wink:

موفق باشيد - صادق
 
با سلام.من از كمك دوستان ممنونم.اما اين كه مقادير string قابل مقايسه هستند براي من كمي عجيب است چرا كه تا آن جا كه من مي دانم مقادير string براي كامپيوتر چنين ارزشي ندارند.اگر توضيح بيشتري بدهيد ممنون خواهم شد.
ضمناً من هنوز هم از كمك دوستان استقبال مي كنم.اما لطفا كمي جزپي تر توضيح دهيد.
 
ضمنا پس از انجام مرتب سازي چگونه تمامي جملات در خروجي (فايل متني) نوشته مي شوند؟لطفاً مفهومي توضيح دهيد.بسيار ممنونم.
 
سلام.به لطف خدا و راهنمايي هاي شما دوستان عزيز من برنامه ي پروژه ام را نوشتم.اما به اشكالي عجيب برخورد كرده ام:فرض كنيد متغيري داريم به نام X كه كه اين X در يك حلقه شرطي 12 تا به آن اضافه مي شود و مثلا مقدار آن مي شود 16.(16 را در پنجره watch ديدم.)حالا مي خواهم 16 را در 3600 ضرب كنم.اما با كمال تعجب مقدار آن حدوده 4900- مي شود در صورتي كه وقتي 12 را اضافه مي كنم چنين مشكلي پيش نمي آيد.
ممنون خواهم شد قبول زحمت كرده اين سوال مرا نيز پاسخ دهيد.
متشكرم.
 
وضعیت
موضوع بسته شده است.

جدیدترین ارسال ها

بالا