پاسكال..پيدا كردن سكه

aira

Member
سلام به همه شما دوستان

من يك برنامه(پاسكال)دارم..هرچه قدر عقل خودم رو به كار ميگيرم هيچي ارش سر در نميارم.
شما ميتونيد من روكمك كنيد؟؟؟
ميدانيم در بين n سكه يكي تقلبي است و بقيه سالم هستند.وزن هر سكه تقلبي از هر سكه سالم كمتر است و وزن تمام سكه هاي سالم يكسان هستند.ميخواهيم با استفاده از يك ترازوي دو كفه اي سكه تقلبي راپيدا كنيم.برنامه اي بنويسيد(پاسكال)

ممنون ميشم اگه كمكم كنيد.........
 

Mikhak

Active Member
منظور از اين سوال تقريبا همون روش جستجوي دودويي هستش توضيح اينكه
سكه ها رو به دو دسته مساوي تقسيم ميكنيم و روي دو كفه ترازو ميزاريم قسمتي رو كه سنگين باشه كنار ميزاريم و قسمت سبك رو دوباره به دو بخش تقسيم ميكنيم و روي دو كفه ترازو ميزاريم و اين بار هم مثل دفعه قبل قسمت سنگين رو حذف و قسمت سبك رو به دو نيمه تقسيم ميكنيم و اونقدر اينكار رو ميكنيم تا (خسته بشيم) سكه ها كمتر و كمتر شده و سكه ي تقلبي معلوم بشه
اگه يه كتاب پاسكال يا الگوريتم يا ساختمان داده داشته باشين ميتونه درباره جستحوي دودويي راهنماييتون كنه
-----------------------
سينا
 

aira

Member
من تا حالا از دودويي استفاده نكردم وتو كتابم هم چيزي پيدا نكردم(ابراهيم زاده قلزم)لطفاً يه خورده بيشتر توصيح بدين....
در مورد تقسيم كردن سكه ها اگه عدد فرد باشه چي؟؟مثلا 57 تا شكه داريم و نميشه به دو دسته مساوي تقسيم كرد..به نظر شما براي اون يه سكه اضافي بايد از آرايه استفاده كرد؟
 

mazoolagh

Active Member
aira گفت:
من تا حالا از دودويي استفاده نكردم وتو كتابم هم چيزي پيدا نكردم(ابراهيم زاده قلزم)لطفاً يه خورده بيشتر توصيح بدين....
در مورد تقسيم كردن سكه ها اگه عدد فرد باشه چي؟؟مثلا 57 تا شكه داريم و نميشه به دو دسته مساوي تقسيم كرد..به نظر شما براي اون يه سكه اضافي بايد از آرايه استفاده كرد؟
اگر تعداد سكه ها فرد باشه يكي رو بذار كنار و مابقي رو (كه حالا تعدادشون زوج هست) نصف كن. اگر وزن هردو نيمه با هم مساوي باشه همون سكه كه جدا كردي تقلبيه و گرنه سكه تقلبي توي نيمه سبكتره!
 

Mikhak

Active Member
در مورد اينكه اگه تعداد فرد بياد مزلوق جان مخلص كلام رو گفت و توضيح بيشتر هم اينكه شما مثلا يه تعداد عدد ميگيري مثلا 1 به جاي سكه هاي درست و 0 به جاي سكه هاي تقلبي مثلا فرض كنيم 10 تا عدد وارد كرده باشيم كه يكيش تقلبي باشه 5 تا 5 تا جمع ميكنيم و جمع هر طرف كه بيشتر اومد كنار ميزاريم و تا آخر كه عدد 0 به دست بياد و ايندكس اون رو از تو‌ آرايه گزارش كنيم
من آلان سيستم خودم رو در دسترس ندارم وقتي برسم سر سيستم يه نمونه دودويي واست ميفرستم البته اين برنامه با دودويي به نموره همچين فرق داره يعني راحتتره توي دودويي بايد كل آرايه مرتب باشه ولي اين برنامه تو احتياج به مرتب بودن نداره و ....
-----------------------------
سينا
 

aira

Member
من توضيح اين برنامه را مي فهمم.مشكل من اينه كه نميدونم ار كجا بايد شروع كنم....و خروجيش به چه صورتيه؟؟؟
البته تا حدود زيادي متوجه شدم.سعي ميكنم برنامشو بنويسم وگرنه3نمره مي پره!!
:sad:
 

Mikhak

Active Member
خروجيه برنامه شما يه عدد هستش يعني از تويه يه آرايه 10 يا 20 تايي جايي رو كه عدد 0 قرار داره چاپ ميكني مثلا اگه تو خونه سوم آرايه باشه چاپ ميكني 3
من يه مثال از جستجوي دودويي واست ميزارم
کد:
 function search( key : typekey; var r : dataarray ) : integer;
     var high, j, low : integer;

     begin
     low := 0;
     high := n;
     while high-low > 1 do begin
          j := (high+low) div 2;
          if key <= r[j].k then high := j
                           else low  := j
          end;
     if r[high].k = key then search := high  {*** found(r[high]) ***}
                        else search := -1;   {*** notfound(key) ***}
     end;
اين برنامه رو يه trace بكن ميفهمي جريان چيه اگه اين رو يه كمي تغيير بدي ميشه همون برنامه تو سعي كن به مخت يه كم فشار زياد بياري نترس چيزيت نميشه ولي بازم من هستم اگه نتونستي كمكت ميكنم
-----------------------
سينا
 

Mikhak

Active Member
حتما ميتوني فقط بايد سعي كني البته اينجا استاد زياده ولي منم ميتونم كمكت كنم
------------------
سينا
 

MnavidM

Active Member
بله درسته , اگه یه مقدار سر به سر اون کد بزاری و متوجه بشی که چه طور کار میکنه .

حتما می تونی اون چیزی که می خوای درست کنی . اگر هم مشکلی داشتی همین جا بگو :wink:
 

aira

Member
برنامه رو مينويسم ارور ميده...... :neutral: امكانش هست مشكل از turbo pascal باشه چون هر برنامه اي ميدم ارور ميده كمكككككككككككككككك :-?
 

Mikhak

Active Member
بله احتمال داره يه ورژن از پاسكال واسه كامپيوتر هاي مدل بالا كار نميكنه تقريبا سيستم هاي پنتيوم 2 به بالا
ولي ورژني داره كه تو همه ي سيستم ها كار ميكنه اگه اونو پيدا كنين مشكلتون حل ميشه
-------------------------
سينا
 

aira

Member
ورژني كه ميفرماييد اسمش چيه؟؟
منم با نوت بوك كار ميكنم چه ورژني به دردم ماخوره؟؟؟
 

Mikhak

Active Member
فرقي نميكنه منم رو نوت بوك نصب كردم ارروري نميده
ورژن خاصي نداره يعني اسم خاصي نداره فقط وقتي ميخواي از نرم افزار فروش بخري بگو ورژني ميخوام كه رو نتيوم هاي 2 به بالا هم درست اجرا بشه
-----------------------------
سينا
 

MnavidM

Active Member
با سلام.

اگر خواستی بگو تا فردا من برات Upload کنم .
حجم فایل rar. ش نزدیک 2 MG هست .

موفق باشی.
نوید.
 

MnavidM

Active Member
با سلام.

بفرماييد , اينم TP تست شده رو سيستم هاي امروزي :wink:

از اینجا بگيريد.

موفق باشيد.
نويد.
 

Mikhak

Active Member
آريا جان چي شد بالاخره برنامه رو نوشتي؟؟؟؟؟؟
-------
سينا
 

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

بالا