PDA

View Full Version : کمک فوری:حل یک تمرین سی



shahram126
دوشنبه 15 فروردین 1384, 11:49 صبح
من میخوام یه برنام بنویسم که دو عدد رو بگیره وعدد بزرگتر رو نمایش بده(بدون استفاده
از IF)ممنون میشم جواب منو بدید

omid_Ahmadi
دوشنبه 15 فروردین 1384, 12:55 عصر
سلام
من کد basic این برنامه رو دارم میتونی تبدیلش کنی به ++C

Dim N(-1 to 1) As Long
Input "Enter two numbers: ", N(-1), N(1)
Print N(Sgn(N(-1) - N(1))
End
:موفق:

shahram126
دوشنبه 15 فروردین 1384, 16:34 عصر
سلام
من متاسفانه بیسیک بلد نیستم میشه یکی از دوستان اینو به زبانه سی برای من بنویسه؟ممنون میشم یا فقط راه حل و بگه که چی میشه من خودم مینویسم.

ali_hadian
دوشنبه 15 فروردین 1384, 17:52 عصر
سلام
متن برنامه با خودت ولی فرمول اصلیش اینه:

max = 0.5 * (a + b + abs(a-b));
min = 0.5 * (a + b - abs(a-b));

a و b دو عددند و abs تابع قدر مطلقه

omid_Ahmadi
دوشنبه 15 فروردین 1384, 19:27 عصر
سلام
آقای هادیان کد شما یک اشکال ریز داره و درست جواب نمیده من خواستم فرمولتون رو تصحیح کنم ولی چیزی به ذهنم نرسید
لطفا اگر میتونید کد تصحیح شده رو خودتون بنویسید
موفق باشید

ali_hadian
دوشنبه 15 فروردین 1384, 22:33 عصر
سلام
ببخشید حواسم نبود
تصحیح شد

mohsenk
چهارشنبه 17 فروردین 1384, 14:20 عصر
#include<stdio.h>
#include<conio.h>
int main(){
int a,b,max;
printf("vared kon do adad:");
scanf("%d%d",&a,&b);
max=a>b?a:b;
printf("max=%d",max);
getch();
return 0;
}

ali_hadian
چهارشنبه 17 فروردین 1384, 15:34 عصر
max=a>b?a:b;
دوست عزیز آقای shahram126 گفتند :

(بدون استفادهاز IF)
منظور همون فرموله وگرنه استفاده از علامت سؤال شکل دوم دستور if‌است

shahram126
چهارشنبه 17 فروردین 1384, 17:44 عصر
ممنون از همه دوستان .

frd
شنبه 20 فروردین 1384, 21:03 عصر
با استفاده از عملگر
؟:
:sunglass:

omid_Ahmadi
یک شنبه 21 فروردین 1384, 14:55 عصر
با استفاده از عملگر
؟:

دوست عزیز این که همون if هستش. :kaf:
دقت میکردی در بالاتر این روش مطرح شده بود و اشتباه بودن اوون ذکر شده بود

small_programmer
یک شنبه 21 فروردین 1384, 23:37 عصر
با سلام.
این روشهایی که دوستان نوشته اند راه حل واقعی مساله نیست زیرا باز هم از if استفاده شده است فقط این if داخل تابع قدر مطلق قرار دارد.
البته درست است که مستقیما بزرگ و کوچک بودن در آن تست نمی شود ولی if دارد و شما از امکانات کم استفاده بهینه کرده اید و این مطلب قابل تحسین است و این کار در برنامه نویسی کاربرد خوبی دارد نشان دهنده توانایی برنامه نویس است.
البته اگر این یک تمرین دانشگاهی است به نظرم جواب دوستان درست است. ولی اگر راه حل واقعی آن که از if استفاده نکند و مثلا از shift و چهار عمل اصلی استفاده کند به نظر من ممکن نیست.

:موفق:

Sepidar
دوشنبه 29 فروردین 1384, 14:03 عصر
این روشهایی که دوستان نوشته اند راه حل واقعی مساله نیست زیرا باز هم از if استفاده شده است فقط این if داخل تابع قدر مطلق قرار دارد.
در انواعی که برای ذخیره سازی اعداد منفی از بیت آخر به عنوان فلگ استفاده میکنند میشه عمل تابع قدر مطلق رو با shl و سپس shr شبیه سازی نمود.

small_programmer
جمعه 02 اردیبهشت 1384, 06:51 صبح
ممنون
ولی فکر می کنم الان به طور عملی از روش متمم 2 در کامپیوتر ها استفاده می شه.

برنامه نویس جوان
چهارشنبه 14 اردیبهشت 1384, 16:16 عصر
سلام

qsort چطوره؟

omid_Ahmadi
چهارشنبه 14 اردیبهشت 1384, 17:43 عصر
qsort چطوره؟

میشه یه مقدار بیشتر توضیح بدید این جمله اصلا یعنی چی؟
(خوبه سلام میرسونه :) )

برنامه نویس جوان
جمعه 16 اردیبهشت 1384, 22:42 عصر
سلام

تابع qsor چهار آرگومان می گیره اولی آرایه ای که بخواهیم مرتب کنیم (مثلا آرایه)دومی سایز موارد مرتب شونده سومی سایر نوع داده ای که مرتب میشه (مثلا سایز داده نوع اینت) و چهارمی تابعی که روتین ترتیب رو داره شما می تونید از هلپ استفاده کنید.

فرضا وقتی آرایه ای که دو عنصر را دارد را مرتب کرد عنصر اول رو چاپ کند. البته بنظرت راه حل جالبی نیست .

:embr:
موفق باشید.

بمب منطقی
شنبه 17 اردیبهشت 1384, 00:19 صبح
Quick Sort و کلا تمام روشهای مرتب سازی از دستورات شرطی استفاده می کنن. :wink:
بهترین روش همین بود :

max = 0.5 * (a + b + abs(a-b));
min = 0.5 * (a + b - abs(a-b));
البته چون ABS نیز از if استفاده میکنه به جای اون همونطوری که مدیر عزیز بخش گفتن ، SHR و SHL پیشنهاد میشه.

small_programmer
شنبه 17 اردیبهشت 1384, 20:16 عصر
از شیفت نمی شه استفاده کرد می تونید امتحان کنید اگر عدد 1- را به صورت مثبت(یا Hex) چاپ کنید 255 یا همان 11111111 خواهد بود (به نوع char تبدیل شود) یعنی به صورت متمم 2 ذخیره می شوند اگر برای این راه حلی بفرمایید.
یعنی اگر از شیفت استفاده کنیم 1- به عدد 127 تبدیل می شود نه 1+
:موفق:

lord_ahriman
یک شنبه 18 اردیبهشت 1384, 00:19 صبح
من میخوام یه برنام بنویسم که دو عدد رو بگیره وعدد بزرگتر رو نمایش بده(بدون استفاده
از IF)ممنون میشم جواب منو بدید
#include <stdio.h>
#include <conio.h>
void main(){
int x,y;
printf("please Enter 2 integer number:"(;
scanf("%d%d",&x,&y(;
x=x>y?x:y;
printf("\nthe bigger number is%d",x(;
getch();
{

Sepidar
یک شنبه 18 اردیبهشت 1384, 01:32 صبح
از شیفت نمی شه استفاده کرد می تونید امتحان کنید اگر عدد 1- را به صورت مثبت(یا Hex) چاپ کنید 255 یا همان 11111111 خواهد بود (به نوع char تبدیل شود) یعنی به صورت متمم 2 ذخیره می شوند اگر برای این راه حلی بفرمایید.
یعنی اگر از شیفت استفاده کنیم 1- به عدد 127 تبدیل می شود نه 1+
:موفق:
NOT

Sepidar
یک شنبه 18 اردیبهشت 1384, 01:34 صبح
از شیفت نمی شه استفاده کرد می تونید امتحان کنید اگر عدد 1- را به صورت مثبت(یا Hex) چاپ کنید 255 یا همان 11111111 خواهد بود (به نوع char تبدیل شود) یعنی به صورت متمم 2 ذخیره می شوند اگر برای این راه حلی بفرمایید.
یعنی اگر از شیفت استفاده کنیم 1- به عدد 127 تبدیل می شود نه 1+
:موفق:
عملگر NOT

موسی خواه
پنج شنبه 22 اردیبهشت 1384, 07:59 صبح
سلام.خسته نباشید.2تا سوال داشتم:1)تفاوت مرتب سازی به روش binary sort و bubble sort چیست؟
2)برنامه ای بنویسید که 1 ماتریس را بخواند و دترمینان آن را محاسبه نموده و معکوس آن ماتریس را چاپ کند.
خودم فکر میکنم اگر اول ماتریس رو مثلثی کنیم بهتر باشه.
پیشاپیش از کمک شما سپاسگزاری میکنم.

بدبخت
پنج شنبه 22 اردیبهشت 1384, 12:56 عصر
:strange:

بدبخت
پنج شنبه 22 اردیبهشت 1384, 13:06 عصر
:strange:

بدبخت
پنج شنبه 22 اردیبهشت 1384, 13:07 عصر
با استفاده از عملگر
؟:
:sunglass:
:strange:

موسی خواه
یک شنبه 25 اردیبهشت 1384, 08:42 صبح
hi
chera kasi javabe so'alamo nemide?!
ok
khob eshkal nadare!!!!!!!!! :cry:
so'ale 2) ro miporsam shayad faraji shod!
پیاده سازی مسئله ی برج هانوی و محاسبه ی تعداد انتقالات به همراه زمان مربوطه به اجرای برنامه
تشکر :wise1:

aakh1361
یک شنبه 25 اردیبهشت 1384, 22:08 عصر
hi
chera kasi javabe so'alamo nemide?!
ok
khob eshkal nadare!!!!!!!!! :cry:
so'ale 2) ro miporsam shayad faraji shod!
پیاده سازی مسئله ی برج هانوی و محاسبه ی تعداد انتقالات به همراه زمان مربوطه به اجرای برنامه
تشکر :wise1:

دوست من برای این کسی جواب نمیده که سوالات شما ربطی به این تایپ ندارد
:sorry:

small_programmer
سه شنبه 27 اردیبهشت 1384, 15:20 عصر
با سلام مخصوصا خدمت دوست عزیز جناب سپیدار
این روش که شما گفتی از عملگر NOT استفاده کن خوب کار قدر مطلق را که انجام نمی دهد یعنی اگر عدد مثبت باشد not آنرا برمی‌گرداند که مطلوب نیست.
روش قبلی شما که بیت علامت را صفر می کردی خوب درست کار می کرد برای وقتی که از بیت علامت برای اعداد منفی استفاده می شد ولی برای متمم دو که بطور عملی در کامپیوترها استفاده می شود روشی ارایه ندادی.
توضیح: روش متمم دو یعنی برای نمایش منفی یک عدد آنرا not می کنیم و سپس با یک جمع می کنیم.
:موفق:

موسی خواه
چهارشنبه 28 اردیبهشت 1384, 12:39 عصر
ba arze salam.
man fekr mikonam varede ghesmate (کمک فوری:حل یک تمرین سی) shodam.
banabar in aslan manzoore shoma aghaye mohtaram ro motevajeh nemisham.
bebakhshid soalha be chi bayad rabt dashte bashe!!!!!!!!!!!!!!!!!!!?????????????? :mad: :

omid_Ahmadi
چهارشنبه 28 اردیبهشت 1384, 15:02 عصر
دوست من برای این کسی جواب نمیده که سوالات شما ربطی به این تایپ ندارد

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


1)تفاوت مرتب سازی به روش binary sort و bubble sort چیست؟

چیزی به نام باینری سورت وجود نداره اون جستجوی باینری است نه مرتب سازی باینری. در مورد مرتب سازی حبابی یا bubble sort و دیگر روشهای سورت هم در این سایت زیاد بحث شده با کمی جستجو پیدا میکنید :wise1:


پیاده سازی مسئله ی برج هانوی و محاسبه ی تعداد انتقالات به همراه زمان مربوطه به اجرای برنامه

من این برنامه رو نوشتم ولی متاسفانه سورس اون الان در دسترس من نیست تا هفتهی دیگه برات توی همین قسمت upload میکنم
:موفق:

omid_Ahmadi
چهارشنبه 28 اردیبهشت 1384, 15:02 عصر
دوست من برای این کسی جواب نمیده که سوالات شما ربطی به این تایپ ندارد

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


1)تفاوت مرتب سازی به روش binary sort و bubble sort چیست؟

چیزی به نام باینری سورت وجود نداره اون جستجوی باینری است نه مرتب سازی باینری. در مورد مرتب سازی حبابی یا bubble sort و دیگر روشهای سورت هم در این سایت زیاد بحث شده با کمی جستجو پیدا میکنید :wise1:


پیاده سازی مسئله ی برج هانوی و محاسبه ی تعداد انتقالات به همراه زمان مربوطه به اجرای برنامه

من این برنامه رو نوشتم ولی متاسفانه سورس اون الان در دسترس من نیست تا هفتهی دیگه برات توی همین قسمت upload میکنم
:موفق:

aakh1361
پنج شنبه 29 اردیبهشت 1384, 07:22 صبح
سلام
اقا امید مثل اینکه اشتباه متوجه شدید
منظور من این بود که در این تایپ بحث بر روی پیدا کردن عدد بزرگتر یا کوچکتر بود و سوال ایشون خارج از بحث بود
ولی نگفتم که سوال اقای موسی خواه به این سایت ربطی نداشته !!

omid_Ahmadi
پنج شنبه 29 اردیبهشت 1384, 07:49 صبح
در هر صورت سوال ایشون هم به این تاپیک که حل یک تمرین سی بود ربط داشت.
ولی شاید هم حق با شما باشه :موفق:

rezaTavak
پنج شنبه 29 اردیبهشت 1384, 10:02 صبح
http://ers.msk.ru/algo/hanoy.c








#include <stdio.h>
#include <stdlib.h>
#define NUM 3

void move(int m,int a,int b){
int c;
if(m==1){printf("do %d -> %d\n",a,b);}
else
{c=6-a-b;move(m-1,a,c);move(1,a,b);move(m-1,c,b);};};

void main(){move(NUM,1,2);};

rezaTavak
پنج شنبه 29 اردیبهشت 1384, 10:15 صبح
http://engr.smu.edu/~seidel/courses/cse5381/bubble.c
سورت حبابی

موسی خواه
جمعه 30 اردیبهشت 1384, 21:59 عصر
ba arze salam
haman toor ke ghablan ham goftam pishapish az komak shoma doostan
tashakor mikonam
dar zemn man khanoome moosakhah hastam na agha!
ba tashakor.
pirooz bashid

omid_Ahmadi
شنبه 31 اردیبهشت 1384, 09:14 صبح
اگر ممکنه لطف کنید و از این به بعد فارسی بنویسید.


dar zemn man khanoome moosakhah hastam na agha

حالا چه فرقی میکنه :wink:

Armanprogrammer
دوشنبه 02 خرداد 1384, 12:45 عصر
این با سی
(a>b?max=a:max=b) :موفق:

Pars Giga
شنبه 14 خرداد 1384, 08:20 صبح
بله با

omid_Ahmadi
شنبه 14 خرداد 1384, 08:41 صبح
بله با

برای تست انواع پستها باید به بخش تست به آدرس زیر بروید
http://www.barnamenevis.org/forum/viewforum.php?f=29
نه به بخش ++C

از حدود 10 پست امروزتون حتی یکی هم واضح نبود. مثلا جمله بالا یعنی چی؟

Pars Giga
یک شنبه 15 خرداد 1384, 07:52 صبح
num=(a<b)?a:b


اگر جواب عبارت (a<b) درست باشد num مقدار a می گیر د و گر نه مقدار b در num
قرار می گیرد

موسی خواه
دوشنبه 16 خرداد 1384, 07:38 صبح
با عرض سلام: با امید به اینکه جای خوبی رو برای سوالهام انتخاب کرده باشم می خواستم از دوستان درباره ی
نحوه ی نوشتن برنامه ی (ternis)(خانه سازی)کمک بخوام
با تشکر

Pars Giga
دوشنبه 16 خرداد 1384, 10:31 صبح
کد بدیم؟؟؟؟

ehsan.pn2
دوشنبه 16 خرداد 1384, 23:14 عصر
:sunglass:
:تشویق: