PDA

View Full Version : سوال: توابع مقایسه اعداد



shahabbasic
یک شنبه 30 بهمن 1390, 20:30 عصر
دو تا تابع بودن که چندتا عدد رو میگرفتن و معلوم میکردن کدوم کوچیکترینه و کدوم بزرگترین
پارسال خونده بودم یادم رفته. شکل کلی استفاده ازشون چی بود؟

arash020
دوشنبه 01 اسفند 1390, 08:37 صبح
سلام
اگه فرض کنیم این اعداد داخل یه آرایه باشن این طور عمل میکنیم که:
برای پیدا کردن maximum:::
پیشفرض اولین عدد رو max درنطر میگیریم و میریزمشتوی یه متغیر(به همین نام!)
حالا میایم با یه حلقه آرایه رو پیمایش میکنیم در هر حرکت توی حلقه
مقدار اون اندیس آرایه رو با عدد داخل max(همون متغییر!) مقایسه میکنیم
و از این مقایسه بزرگترین عدد رو با مقدار قبلی متغیر جایگزین میکنیم .(میریزیمش توی max)

فکر کنم تا آخر آرایه که برسه حلقه مون بزرگترین عدد موجود توی آرایه حالا توی متغیر maxمون قرار گرفته باشه.
>>>برای پیدا کردن minimum هم همین روش با تغییرات لازم ...

موفق باشی

ASedJavad
دوشنبه 01 اسفند 1390, 09:13 صبح
سلام

دو تا تابع بودن که چندتا عدد رو میگرفتن و معلوم میکردن کدوم کوچیکترینه و کدوم بزرگترین
من که تا حالا ندیدم ویبی خودش همچین توابعی داشته باشه و بعید هم میدونم از این به بعد ببینم!
شما یا باید خودت بشینی تابعشو بنویسی
یا اینکه مثلا اعداد رو add کنی به یه لیست باکس و خاصیت sorted اونو true کنی تا خودش واست مرتب کنه (که البته این کار هم دنگ و فنگ خودشو داره)

_behnam_
دوشنبه 01 اسفند 1390, 12:04 عصر
سلام
اینجوری میشه:

Dim Arrays(3) As Integer
Arrays(3) = -1
Arrays(2) = 2
Arrays(1) = 199
Arrays(0) = 24
Set exApp = CreateObject("Excel.Application")
MsgBox "maximum : " & exApp.WorksheetFunction.Max(Arrays)
MsgBox "minimum : " & exApp.WorksheetFunction.Min(Arrays)

shahab.f.c
دوشنبه 01 اسفند 1390, 13:34 عصر
ببین این به دردت می خوره . البته تابع نیست

Private Sub Form_Load()
Dim a As Integer, max As Integer, min As Integer
Dim c As Integer, d As Long
a = InputBox("ÊÚÏÇÏ ÇÚÏÇÏ", "ÊÚÏÇÏ ÇÚÏÇÏ")
c = InputBox("Adad 1")
max = c
min = c
For d = 2 To a
c = InputBox("adad " & d)
If c > max Then max = c
If c < min Then min = c
Next d
MsgBox ("max = " & max)
MsgBox ("min = " & min)
End Sub

shervin110us
پنج شنبه 17 فروردین 1391, 11:15 صبح
یک مشکلی پیدا میشه توی این ، اگر داده ها سورت نباشن ، وقتی داره مقایسه میکنه ، ممکنه اگر یک داده از داده ی قبلی کوچکتر باشه ولی از داده ی بعدی بزرگتر باشه ، ، بعد داده ی جدید رو قرار میده توی اون متغیر سراسری که برای ماکزیمم اساین کردیم.

shahab.f.c
پنج شنبه 17 فروردین 1391, 13:35 عصر
اگه میشه یک مثال بزنید