PDA

مشاهده نسخه کامل : پیدا کردن ماکسیمم و مینیمم



lartenk
11-02-10, 16:16
سلام،دوستان واقعا ممنون میشم اگر در حل این سوال بم کمک کنید:
برنامه ای که دو عدد را بگیرد و با استفاده از جمع و تفریق و قدرمطلق ماکسیمم و مینیمم رو پیدا کند.(برای ماکسیمم و مینیمم جداگانه میخواد.)

Computex
11-02-10, 16:35
سلام. منظورتون این هست مثلا شما چند عدد رو بدید و برنامه ماکسیمم و مینیمم را پیدا کند؟

برای این کار میتونید از توابع مینیمم و ماکسیمم در اکسل استفاده کنید.

اگه خواستید روش کار را توضیح میدم.

lartenk
11-02-10, 16:56
منظورم اینه که برای پیدا کردن ماکسیمم و مینیمم در محاسبات فقط از جمع و تفریق و قدرمطلق استفاده کنه!
ممنون میشم اگر روشتون رو توضیح بدید.

MoBiN.R
11-02-10, 18:11
منظورم اینه که برای پیدا کردن ماکسیمم و مینیمم در محاسبات فقط از جمع و تفریق و قدرمطلق استفاده کنه!
ممنون میشم اگر روشتون رو توضیح بدید.

برای پیدا کردن ماکسیمم و مینیمم نیاز به محاسبه خاصی نیست فقط یه الگوریتم خاصی داره که در ماکسیسم اولین عدد باید به عنوان بزرگتر از همه انتخاب بشه و با بقیه چک بشه و در مینیمم اولین عدد کوچکترین عدد .. اگر خواستین من برنامشو بنویسم براتون

lartenk
11-02-10, 18:15
من خودم با یه کد ساده میتونم ماکسیمم و مینمم رو محاسبه کنم ولی توی این سوال خواسته شده حتما با استفاده از جمع و تفریق و قدرمطلق باشه.

MoBiN.R
11-02-10, 18:29
من خودم با یه کد ساده میتونم ماکسیمم و مینمم رو محاسبه کنم ولی توی این سوال خواسته شده حتما با استفاده از جمع و تفریق و قدرمطلق باشه.

متاسفانه من الگوریتمی نمیشناسم که برای اینکار از جمع و تفریق و قدرمطلق استفاده بشه کرد . چون اصلا نیازی نیست

amir.45
11-02-10, 19:44
چه جلبببببببببب!منم همین سوالو داشتم.اقا مبین اگه میشه این برنامرو واسه من بنویسید.:1. (29):

lartenk
11-02-10, 20:55
خوب دیگه 2تا شدیم...:1. (38):خوب حداقل یه راهنمایی ای چیزی بکنید...

htondkar
12-02-10, 09:20
من زیاد از برنامه نویسی سر در نمیارم ولی این به نظرم میرسه :
شما 2 عدد میگیری ، دومی رو از اولی کم میکنی ، جواب و ذخیری میکنی ، قدر مطلق جواب رو با جواب جمع میکنی اگر صفر شد ، دومی بزگتر بوده اگر نشد اولی بزرگتر بوده .

lartenk
12-02-10, 11:43
ممنون،ولی یه چیزی که من یادم رفت این بود که سوال خواسته برنامه رو بدون شرط نوشت ولی بازم با اینی که شما گفتین باید از یه حلقه ی if استفاده بشه که خوب گفته نشه!یه چیزه دیگه هم که هست اینکه مثلا اگر بخوایم توی یه ارایه ی 10 تایی مینیمم رو پیدا کنیم اون موقع چی؟!!

ripek
12-02-10, 13:53
به نظر من که غیر ممکنه بشه بدون شرط اینو حل کرد.با جمع و تفریق و قدر مطلق میشه ولی در نهایت باید یه if باشه.

MoBiN.R
12-02-10, 14:56
بدست آوردن Min بدون شرط IF ( البته به زبان C ):



#include <stdio.h>
#include <conio.h>

void main()
{
int A;Min;
printf("Enter 10 Number :");
scanf("%d",&A);
Min=A;
for(int i=2;i<=10;i++)
{
scanf("%d",Min);
Min= A < Min ? A : Min;
}
printf("%d",Min);
getch();
}
و ماکسیمم :


#include <stdio.h>
#include <conio.h>

void main()
{
int A;Max;
printf("Enter 10 Number :");
scanf("%d",&A);
Max=A;
for(int i=2;i<=10;i++)
{
scanf("%d",Max);
Max= A > Max ? A : Max;
}
printf("%d",Max);
getch();
}

lartenk
12-02-10, 16:06
خوب اینی که شما نوشتن در واقع یه شکل دیگه ای از حلقه ی if هستش!منظورم max=(a >max ?a: max)l هست.

MoBiN.R
12-02-10, 16:23
خوب اینی که شما نوشتن در واقع یه شکل دیگه ای از حلقه ی if هستش!منظورم max=(a >max ?a: max)l هست.

بله درسته ..بدون شرط نمیشه

lartenk
12-02-10, 16:45
من هم فکر کنم بدون if امکانش نباشه!خوب حالا اگه میشه کمک کنید تا برنامه رو برای یه ارایه ی مثلا 10تایی نوشت.
یه سوال دیگه:تابع قدر مطلق رو تو c++ به این شکل مینویسن؟!:abs(a-b)l؟نباید اول برنامه از دستور پیش پردازنده ی cmath استفاده کرد؟!!

Jagvar
12-02-10, 17:57
بدست آوردن Min بدون شرط IF ( البته به زبان C ):



#include <stdio.h>
#include <conio.h>

void main()
{
int A;Min;
printf("Enter 10 Number :");
scanf("%d",&A);
Min=A;
for(int i=2;i<=10;i++)
{
scanf("%d",Min);
Min= A < Min ? A : Min;
}
printf("%d",Min);
getch();
}
و ماکسیمم :


#include <stdio.h>
#include <conio.h>

void main()
{
int A;Max;
printf("Enter 10 Number :");
scanf("%d",&A);
Max=A;
for(int i=2;i<=10;i++)
{
scanf("%d",Max);
Max= A > Max ? A : Max;
}
printf("%d",Max);
getch();
}

مبین جان ترم قبلی بنده ترم اول بودم:1. (29): ترم دوم هم شروع نشده هنوز:whistle: یه سوالی برام پیش اومده توی این قسمت.

Min= A < Min ? A : Min;
یه توضیح اجمالی می تونید بدین
ممنون می شم:11():

MoBiN.R
13-02-10, 09:50
من هم فکر کنم بدون if امکانش نباشه!خوب حالا اگه میشه کمک کنید تا برنامه رو برای یه ارایه ی مثلا 10تایی نوشت.
یه سوال دیگه:تابع قدر مطلق رو تو c++ به این شکل مینویسن؟!:abs(a-b)l؟نباید اول برنامه از دستور پیش پردازنده ی cmath استفاده کرد؟!!

کد بالا رو با آرایه براتون نوشتم ( در ضمن یه سری مشکل هم داشت که اینجا حل شد ) :

مینیمم :


#include <stdio.h>
#include <conio.h>

void main()
{
int A[10];Min;
for(int i=0;i<=10;i++)
{
printf("Enter 10 Number :");
scanf("%d",&A[i]);
}
Min=A[0];
for(int i=1;i<=9;i++)
{
Min= A[i] < Min ? A[i] : Min;
}
printf("%d",Min);
getch();
}

ماکسیمم :



#include <stdio.h>
#include <conio.h>

void main()
{
int A[10];Max;
for(int i=0;i<=10;i++)
{
printf("Enter 10 Number :");
scanf("%d",&A[i]);
}
Max=A[0];
for(int i=1;i<=9;i++)
{
Max= A[i] < Max ? A[i] : Max;
}
printf("%d",Max);
getch();
}


در مورد سوالتون باید بگم در C++ باید حتم کتابخانه cmath رو به برنامه اضافه کنید و خود تابع هم abs() هست . اما در C نیازی به اضافه کردن این کتابخونه نیست .


مبین جان ترم قبلی بنده ترم اول بودم:1. (29): ترم دوم هم شروع نشده هنوز:whistle: یه سوالی برام پیش اومده توی این قسمت.

Min= A < Min ? A : Min;یه توضیح اجمالی می تونید بدین
ممنون می شم:11():

این دستور معادل دستور IF .... ELSE هست . در کد پایین توضیح میدم :


Min= A < Min ? A : Min;

در کد بالا اگر مقدار A < Min برابر True باشه مقدار A در متغیر Min قرار میگیره و اگر False باشه مقدار Min در Min قرار خواهد گرفت .

lartenk
13-02-10, 10:38
ممنون که نوشتین ولی منظور من این بود که برنامه ی ایشون:


من زیاد از برنامه نویسی سر در نمیارم ولی این به نظرم میرسه :
شما 2 عدد میگیری ، دومی رو از اولی کم میکنی ، جواب و ذخیری میکنی ، قدر مطلق جواب رو با جواب جمع میکنی اگر صفر شد ، دومی بزگتر بوده اگر نشد اولی بزرگتر بوده .

رو با ارایه بنویسم!

lartenk
15-02-10, 01:45
دوستان من یه سوال دیگه هم داشتم گفتم دیگه برای یه سوال بیخودی تاپیک نزنم:
میخوام یه ارایه ی 10 تایی داشته باشم که حرف oرو با کارکتر @ نشون بده.ممنون میشم اگه حل کنین.

MoBiN.R
15-02-10, 08:39
ممنون که نوشتین ولی منظور من این بود که برنامه ی ایشون:


رو با ارایه بنویسم!

براتون نوشتم . تستش نکردم ببینم کار میکنه یا نه :

ماکسیمم :


#include <stdio.h>
#include <conio.h>

void main()
{
int A[10];Max,temp;;
for(int i=0;i<=10;i++)
{
printf("Enter 10 Number :");
scanf("%d",&A[i]);
}
Max=A[0];
for(int i=1;i<=9;i++)
{
temp = A[i] - Max;
temp += abs(temp);
Max= temp == 0 ? A[i] : Max;
}
printf("%d",Max);
getch();
}


مینیمم :


#include <stdio.h>
#include <conio.h>

void main()
{
int A[10];Min,temp;;
for(int i=0;i<=10;i++)
{
printf("Enter 10 Number :");
scanf("%d",&A[i]);
}
Min=A[0];
for(int i=1;i<=9;i++)
{
temp = A[i] - Min;
temp += abs(temp);
Min= temp == 0 ? A[i] : Min;
}
printf("%d",Min);
getch();
}


دوستان من یه سوال دیگه هم داشتم گفتم دیگه برای یه سوال بیخودی تاپیک نزنم:
میخوام یه ارایه ی 10 تایی داشته باشم که حرف oرو با کارکتر @ نشون بده.ممنون میشم اگه حل کنین.

منظرتونو متوجه نشدم لطفا بیشتر توضیح بدید

lartenk
15-02-10, 13:35
واقعا ممنون.
ببینید من یه ارایه دارم (دو بعدی)،میخوام این ارایه حرف o رو با کارکتر @ نشون بده،مثلا خونه ی (2و3) رو برابر @ قرار بده و به همین ترتیب طوری این @هارو در جای مناسب قرار بده که شکل o در بیاد...

MoBiN.R
15-02-10, 13:49
واقعا ممنون.
ببینید من یه ارایه دارم (دو بعدی)،میخوام این ارایه حرف o رو با کارکتر @ نشون بده،مثلا خونه ی (2و3) رو برابر @ قرار بده و به همین ترتیب طوری این @هارو در جای مناسب قرار بده که شکل o در بیاد...

توضیح شما خیلی گنگه .. آرایه چیکارست ؟ دقیقا چیکار میخواید کنید ؟

lartenk
15-02-10, 18:09
ببینید شما یه ارایه دو بعدی دارین (از نوع char)،یعد میخواید بعضی از خونه های این ارایتون توش کارکتر @ باشه،حالا این @ها باید باهم شکل یه o یا یک مربع کوچیک رو بسازن...