PDA

View Full Version : تمرین های زبان برنامه نویسی c



smahdi1991
سه شنبه 12 آبان 1388, 20:22 عصر
سلام من این تاپیک رو ایجاد کردم تا افراد مجرب در این امر برای c کار ها تمرین هایی رو معین کنند از اول تا اون قسمت بالا برای هر قسمت مثلا اگر کل C بیست فصل باشه برای هر فصل 10 تمرین از آسون تا سخت تعیین کنید در ضمن جواب هر تمرین رو هم لطفا با توضی حات در مورد قسمت های مختلف هر هفته آخر هفته (بهتر جمعه ها باشه)در این تاپیک قرار بدندلطفا افراد حرفه ای این کارو انجام بدن تا ما آما تو ر ها با مشکلی روبرو نشیم وبرای هر هفته هم فقط 4مثال دوتا آسون ودوتا سخت رو خواهشا بیان کنید.
درضمن یادتون نره که افراد مبتدی حتی حرفه ای ها هم می تونند در این تاپیک در باره ی الگوریتم های مختلف حل مسئله و بر نامه هاشون در این تاپیک با هم بحث کنند چون این کار باعث افزایش مهارت در برنامه نویسی میشه.
پیش پیش ممنون از این لطفتون.

farid_mov2006
سه شنبه 12 آبان 1388, 21:12 عصر
سلام
اگر برای همه زبانها چنین کاری بشه خیلی خوب میشه:لبخند:
:تشویق::تشویق::تشویق::تشویق:: شویق::تشویق::تشویق:

حامد مصافی
پنج شنبه 14 آبان 1388, 10:38 صبح
تا نظر مدیر بخش چی باشه..

Nima_NF
پنج شنبه 14 آبان 1388, 11:58 صبح
تا نظر مدیر بخش چی باشه..
اگر تمرین ها دقیقتا همان تمرین هایی نباشد که فردا یک عهده از آن ها برای مقاصد دریافت نمره استفاده کنند، مشکلی از این بابت نیست. پس بهتر هست اگر سوالی انتخاب می شود بیشتر از منابع غیر فارسی انتخاب شود.

متاسفانه بنده خیلی درگیر هستم، امیدوارم سایر دوستان بتوانند کمک کنند.

smahdi1991
پنج شنبه 14 آبان 1388, 22:46 عصر
سلام به شما
من اول از همه تشکر میکنم از آقا نیما که این تاپیک رو مشا هده کردند و نظر خودشون رو اعلام کردن
آقا نیما من هم بخاطره همین موضوع که شما فرمودید گفتم که یکی که خبره هست و وقت داره بیاد تمرین تعیین کنه برای C
ممنون میشم اگر این کارو به یکی که هم وقت داره و هم مثل شما کار بلده بدید تا به نحو احسنت انجام بگیره (مثلا اگر آقای بک دال این کارو به عهده بگیره به نظرم خیلی در حق طرفداران وآماتور ها در راه یاد گیری زبان C محبت کرده است)

smahdi1991
یک شنبه 17 آبان 1388, 09:58 صبح
خوب مثل اینکه مسولا ن این بخش به فکر آماتور ها و این تاپیک به این مهمی نیستند حداقل یکی از شما حر فه ای های بخش برنامه نویسی C این بخش رو بعهده بگیرید و این ما رو را بندازید
پیش پیش خیلی ممنون

ali zi zeperto
یک شنبه 17 آبان 1388, 11:15 صبح
من خیلی منتظرم کار رو شروع کنید.فکر می کنم که اساتید هم حتما نظراتشون رو دریغ نمی کنن. .به نظر من جمع خوبی اینجا خواهند بود و فعالیت خوبی هم انجام میشه.چند تا سوال مناسب مطرح کنید تا اساتید بگن کدوم بهتره برای شروع یا اگه خواستن تغییراتی بدن بعد ما هم شروع کنیم.باید از یه جایی شروع کرد.

queen-mm
یک شنبه 17 آبان 1388, 12:24 عصر
دوست عزيز منم موافقم ولي قرار نيست اين كار رو همش حرفه اي ها انجام بدن.مگه سوال مطرح كردن خيلي سخته؟جوابشم مطمئنا اگه كسي نتونه بده حرفه اي ها جوابش رو مي دن.

smahdi1991
یک شنبه 17 آبان 1388, 12:32 عصر
سلام دوستان عزیز از نظراتتون ممنون
منظورم از اینکه یه حرفه ای بیاد و آموزش رو بعهده بگیره اینه که چون با ایشون تجربه ی بیشتری از ما در این زمینه دارند پس تمرین های بهتر و در نتیجه آموزش بهتر و توضیحاتو یادگیری بهتری هم صورت می گیره وگر نه من خودمم می تونم تمرین های کتاب حمید رضا مقسمی یا جعفر نژاد قمی رو بیارم این جا بنویسم بگم اینم از تمرین
در کل به نظرم اگر یه حر فه ای این کار و به عهده بگیره خیلی بهتر تا یه آما تور مثل خودمون مگر نه؟

Salar Ashgi
یک شنبه 17 آبان 1388, 19:35 عصر
سلام به همه دوستان گرامی ؛ همانطور که آقا نیما ذکر کردن اگه این کار قدم مثبتی باشه برای افراد مبتدی

که علم و دانش برنامه نویسی شان تقویت شود و تفکر الگوریتمی کسب کنند ، خیلی عالیه ولی اگه

میانبری باشه واسه افرادی که میخوان با استفاده از این کدها کار خود را پیش ببرند ، ارزش علمی نخواهد

داشت .

و بهتر است اهداف تاپیک بطور کامل مشخص شود : آموزش برنامه نویسی یا فقط ارائه تمرین ، تا تاپیک

دارای محتوای علمی مطلوبی بوده و در راستای موضوعش جریان پیدا کند و مدیران نیز در راستای این امر

و ارتقا سطح علمی کاربران از هیچ کمکی دریغ نخواهند نمود .

موفق باشید .

smahdi1991
یک شنبه 17 آبان 1388, 19:48 عصر
آقا سالار عزیز منظور من هم همینه که از طریق تمرین به آما تورها آموزش بدیم

victoria
یک شنبه 17 آبان 1388, 20:48 عصر
اي بابا چه قدر لفتش مي ديد:عصبانی++: من ميگم يكي حالا از بين خودمون استارت كارو بزنه تا ببينيم بعدا چي ميشه. اينجوري لااقل بهتر از هيچيه كه.:متفکر:

kral_pontiac
یک شنبه 17 آبان 1388, 22:14 عصر
اینجا هم که ماشاالله همه شعارشون شده " تمرین دانشجوئی نه " .
به جای این حرفها کار رو شروع کنید . البته اگه واقعاً نیتتون خیره !
ممنون

smahdi1991
دوشنبه 18 آبان 1388, 06:36 صبح
خوب یکی باید این کارو شروع کنه که بدونه چطوری باس شروع بشه دیگه

smahdi1991
دوشنبه 18 آبان 1388, 06:41 صبح
خوب اگر دیدم واقعا تا آخر امروز هیچ کس تو این قضیه پا پیش نگذاشت من چند تا تمرین می گذارم تا ببینم تا بعد چی میشه

alinaghiha
دوشنبه 18 آبان 1388, 07:28 صبح
اين تمرين ها قراره تو چه سطحي باشند
تمرين مبتدي مثل ميانگين و اينجور چيزا
تمرين هاي ساختمان داده
سوالات مسابقات ACM
من آخريه رو پايه ام فقط يه عزيزي بايد برامون سوالا رو ترجمه كنه

ebrahim1988
سه شنبه 19 آبان 1388, 09:31 صبح
خب باشه بنويسيد!
سوال 1:
برنامه اي بنويسيد كه يك عدد را گرفته فاكتوريل عدد را حساب كند

*فرمول فاكتوريل: fact(n)=1*2*3*...*n

سوال 2:
برنامه اي بنويسيد كه يك عدد را گرفته و مشخص كند اين عدد اول است يا نه
*عددي اول است كه به غير از خودش و 1 بر هيچ عدد ديگري بخش پذير نباشد
فعلا فكر كنم همينا كافيه

ebrahim1988
سه شنبه 19 آبان 1388, 09:36 صبح
سوال 3:
برنامه اي بنويسيد كه n را گرفته و n عدد اول دنباله ي فيبوناچي رو چاپ كنه
*دنباله ي فيبوناچي : 1,1,2,3,5,8,13,21,...
يعني هر عدد از مجموع دو عدد قبلي بدست مياد(غير از دو عدد اول كه هميشه ثابت و 1 هستن)
البته فعلا به روش ساده بنويسيد تا برسيم به روش بازگشتي

smahdi1991
سه شنبه 19 آبان 1388, 19:24 عصر
خب باشه بنويسيد!
سوال 1:
برنامه اي بنويسيد كه يك عدد را گرفته فاكتوريل عدد را حساب كند

*فرمول فاكتوريل: fact(n)=1*2*3*...*n

سوال 2:
برنامه اي بنويسيد كه يك عدد را گرفته و مشخص كند اين عدد اول است يا نه
*عددي اول است كه به غير از خودش و 1 بر هيچ عدد ديگري بخش پذير نباشد
فعلا فكر كنم همينا كافيه
ممنون دوست عزیز ولی فکر نمی کنید این تمرین ها کمی بر ای شروع سخت باشه لطفا طوری تمرین ها رو بیان کنید که دوتا آسون و دو تا سخت باشند نه همشون سخت باشند در ضمن از اول شروع کنید چون منم خودم مبتدی هستم نمی تونم اینا رو حل کنم برای مبتدی تمرین معین کنید نه برای حرفه ای به تریتب و به مرور زمان که حرفه ای شدیم اون موقع هم به مرور سوالات باید سخت تر و سختر بشه
ممنون از لطفتون چون گام اول شروع رو برداشتید

ali zi zeperto
سه شنبه 19 آبان 1388, 23:05 عصر
دوستان لطفا نظراتشون رو در مورد کدها اعلام بفرمایند.ممنون و متشکر
دانلود (http://www.filefactory.com/file/a13f910/n/1_tar_bz2)

queen-mm
چهارشنبه 20 آبان 1388, 23:51 عصر
برنامه اي بنويسد كه دو عدد صحيح گرفته بيشتربن مقدار آنها رو برگرداند.
برنامه اي بنويسيد كه عددي گرفته مشخص كند زوج است يا نه.

با حل اينها با ساختار كلي برنامه آشنا مي شين.متغير تعريف مي كنين. مقايسه انجام مي دين و عمل تقسيم انجام مي دين.

smahdi1991
پنج شنبه 21 آبان 1388, 09:35 صبح
// in the name of god
//this program is coded by BOSS
#include<stdio.h>
int main()
{
int x,y;
printf("enter 2 number");
scanf("%d%d",&x,&y);
if(x>y)
printf("%d",x);
else if (x<y)
printf("%d",y);
else
printf("%d=%d",x,y);
return 0;
}




خوب ببینید این درسته

smahdi1991
پنج شنبه 21 آبان 1388, 09:43 صبح
// in the name of god
//this program is coded by BOSS
#include<stdio.h>
int main()
{
int x;
printf ("enter a num:");
scanf ("%d",&x);
if (x%2==0)
printf("zoj");
else
printf ("fard");

return 0;
}



اینم از دومین برنامه ببینید که اینم درسته اگر نه بگید کجاش عیب داره؟

amir-yeketaz
پنج شنبه 21 آبان 1388, 12:17 عصر
خواهشا بازم از این تمرینا بذارید من همه ی این تمرینا رو قبلا حل کردم یعنی استادمون داده حالا رفتیم تو آرایه و آرایه دو بعدی وکاراکتر و رشته تمرینایه جدید شروع میشه همینجور اگه سطح تمریناتونو بیارین بالا ممنون میشیم
نوکر بروبچ برنامه نویس

smahdi1991
پنج شنبه 21 آبان 1388, 13:16 عصر
سلام دوست عزیز این تا پیک قصد این رو داره تا از ابتدای C کم کم به سطح حرفه ای C ادامه به کار بده تا کاربرا بتونند c رو با تمرین و توضیح تمرینات خوب بیا موزند
کم کم این سطح خیلی بالا تر می ره در ضمن queen mm دو مثال دیگه ی این هفته کجا رفت یعنی باید 2 تا ساده و دو تا سخت باشه پس دو تا دیگه کجاس؟

queen-mm
پنج شنبه 21 آبان 1388, 13:39 عصر
جوابتون درست بود.

برنامه اي بنويسيد كه بدون استفاده از آرايه ها معكوس يك عدد رو در خروجي چاپ كنه.
برنامه اي بنويسيد كه يك جدول ضرب 10 در 10 چاپ كنه.

يه سؤال هم مي ذارم كه برنامه نيست ولي بهتره ياد بگيرين:كدي بنويسيد كه تفاوت a++ رابا ++a , a-- را با --a مشخص كند.

با برنامه ي اول تقسيم پياپي و با دومي حلقه ي تودرتو كار مي كنين

queen-mm
پنج شنبه 21 آبان 1388, 23:46 عصر
براي حل برنامه ي اول مي تونين از يه حلقه استفاده كنين.داخلش هر بار عدد بر ده تقسيم مي شه و باقيمانده چاپ مي شه تا عدد 0 بشه.برنامه دوم هم از دو تا for تودرتو استفاده مي كنه.و داخلشم بعد از تمام شدن for داخلي يه خط بايد برين پايين.

mjpersian
دوشنبه 25 آبان 1388, 03:09 صبح
با سلام
میخواستم بدونم چطور عددی را به توان عدد دیگر برسانم(مثلاً a را به توان b برسانیم).حلقه به چه صورت میشود؟
با سپاس

smahdi1991
دوشنبه 25 آبان 1388, 06:22 صبح
با سلام
میخواستم بدونم چطور عددی را به توان عدد دیگر برسانم(مثلاً a را به توان b برسانیم).حلقه به چه صورت میشود؟
با سپاس
برای این کار از این روش استفاده میشه

p=1;
for(i=1;i<=b;i++)
p=p*a;

queen-mm
دوشنبه 25 آبان 1388, 09:45 صبح
با سلام
میخواستم بدونم چطور عددی را به توان عدد دیگر برسانم(مثلاً a را به توان b برسانیم).حلقه به چه صورت میشود؟
با سپاس
دوست عزيز بهتر نبود يه تاپيك مي زدي؟نظم تاپيك رو حفظ مي كردي؟

queen-mm
سه شنبه 26 آبان 1388, 12:17 عصر
دوست عزيز ورودتون رو به سايت برنامه نويس تبريك مي گم.ولي چند نكته توجه كن: اولا درخواست پروژه ممنوع
دوما جواب همه ي اين سوالا يه جستجوي ساده هست
سوما اين تاپيك سوالها به ترتيب يادگيري زبان سي پرسيده مي شه.در عرض يك هفته ساير كاربران جواب مي دن.نه اينكه از هر جا هر كي دلش خواست سوال پرسيده شه!

دوستان كسي جواب دو سوال اين هفته رو بلد نيست.دو روز مونده هاااا!

smahdi1991
سه شنبه 26 آبان 1388, 19:11 عصر
این جواب برعکس کردن ببینید درسته: یا طور دیگه ای هم میشه نوشت (زاستی یه چیزه دیگه اینکه اگر طور دیگه ای هم میشه نوشت لطفا اون جواب رو هم بگذارید تا ماهم ببینیم تا با الگوریتم و برنامه نویسی به سبک متفاوت آشنا بشیم. ممنون) :

// in the name of god
#include <stdio.h>
int main()
{
int x,r,i;
scanf("%d",&x);
for (i=1; ;i++)
{
r=x%10;
x=x/10;
printf("%d",r);
if(x==0)
break;
}
return 0;
}

queen-mm
سه شنبه 26 آبان 1388, 19:28 عصر
درسته.ولي با while هم مي تونستين بنويسين(شما با سي نوشتين من هم با سي پلاس پلاس مي نويسم):


while (n)
{
cout<<n%10;
n=n/10;
}

amir-yeketaz
سه شنبه 26 آبان 1388, 23:15 عصر
خیلی ممنون از این تاپیکی که درست کردین
خواهشا اگه میشه یه کم سرعتو بیارین بالاتر و برین سر آرایه های یک بعدی و دو بعدی و کاراکتر
البته یه کم نه که یهو سرعت بره بالا
خیلی ممنون:تشویق::تشویق::تشویق:

khafan_bat
چهارشنبه 27 آبان 1388, 00:16 صبح
اینطوری حال نمیده ! شلوغ کاری شده ! البته این نظر منه !

با این حال همه خسته نباشند. !

www.innovation.iranblog.com (http://www.innovation.iranblog.com)

smahdi1991
چهارشنبه 27 آبان 1388, 06:34 صبح
سلام دوستان عزیز
چون شما بلد هستید نمی شود که قوانین آموزش رو زیر پا گذاشت ما ها که آماتور هستیم نیز باید بیا موزیم اصلا این تاپیک کلا برای این زده شده تا از اول شروع به سمت آخر مسیرآموزش رفتن کند و آموزش دهد
و شما هم کمی صبر داشته باشید به بخش آرا یه هاهم می رسیم.

smahdi1991
پنج شنبه 28 آبان 1388, 06:08 صبح
سلام کویین خانوم
ممنون از این لطفتون ولی اینجا تمرین های C رو مورد بحث قرار میدیم پس لطفا ابتدا جواب رو به C وسپس اگر خواستید به C++نیز قرار دهید
باتشکر مهدی

بانوی ایران
جمعه 29 آبان 1388, 23:03 عصر
جدول 10*10 رو میشه حل کنید؟

بانوی ایران
جمعه 29 آبان 1388, 23:09 عصر
چون دوستان مي خوان سريع تر جلو بريم.4 سوال اين هفته رو يك جا مي گم:

سوالهاي آسون:
يه ماشين حساب كه جمع و ضرب و تفريق وتقسيم انجام بده(باswitch)
برنامه اي كه ك م م و ب م م دو عدد حساب كنه.وچون اين تمرين خيلي ساده هست ادامش يه كد هم بنويسين كه بگه اين دو عدد كدومشون عدد مربع كامل هستن؟

سوالهاي سخت:
برنامه اي كه مجموع ارقام يه عدد 10 رقمي رو چاپ كنه
برنامه اي كه يه معادله ي درجه دو رو حل كنه.
جای سوالای سخت و اسون رو عوض کنید من دوتای دوم رو همین الان نوشتم ولی دوتای اول
راهنمایی کنید:متفکر:
توی اولی متغیر swich رو چی تعریف کنم؟
برای ب م م و ک م م باید بیام عوامل اول دو عدد رو بکشم بیرون؟

بانوی ایران
جمعه 29 آبان 1388, 23:11 عصر
این جواب برعکس کردن ببینید درسته: یا طور دیگه ای هم میشه نوشت (زاستی یه چیزه دیگه اینکه اگر طور دیگه ای هم میشه نوشت لطفا اون جواب رو هم بگذارید تا ماهم ببینیم تا با الگوریتم و برنامه نویسی به سبک متفاوت آشنا بشیم. ممنون) :

// in the name of god
#include <stdio.h>
int main()
{
int x,r,i;
scanf("%d",&x);
for (i=1; ;i++)
{
r=x%10;
x=x/10;
printf("%d",r);
if(x==0)
break;
}
return 0;
}


سلام
اول ممنون از تا÷یکتون
دوم این برنامه که شما نوشتید معکوس رو رقم رقم چا÷ میکنه
برای اینکه یک جا چا÷ کنه ااینجوری بنویسید



/*maghloob N*/




#include <stdio.h>
#include <stdlib.h>
main(void)
{
int sum=0;
int N;
int X;
printf ("enter N\n");
scanf ("%d", &N);
while (N>0)
{
X=N%10;
sum=sum*10+X;
N=N/10;
}
printf ("sum=%d", sum);
system("pause");
return 0;
}

بانوی ایران
شنبه 30 آبان 1388, 01:05 صبح
اگه میشه از iostream استفاده نکنید من بلد نیستم
stdio.hلطفا

smahdi1991
یک شنبه 01 آذر 1388, 06:55 صبح
سلام بانو خانوم از ورودتون به این تاپیک همه خوشحالیم بانو خانوم لطفا پاسخ ها تون رو در این تاپیک مثل من و بقیه قرار بدید تا همه بتوونند استفاده کنند البته ما ههم با الگوریتم های مختلف می نویسیم این امکان افزاریش بازدهی رو بالا می بره من از این که این 2 و3 هفته کمتر سر می زنم شر منده ام چون امتحانات میان ترمم شرو ع شده و کمتر می تونم بیام ولی وقتی که اومدم سعی می کنم جبران کنم
در ضمن ابتدا در بارهی الگوریتم حل مسله با هم صحبت کنید و بعد پاسخ هاتون رو به همدیگر در این تاپیک نشون بدید و بگید که جه کار کنه بر نامه بهینه تر میشه و ... .به نظرم این کارو کنید خیلی بهتره
با تشکر سید مهدی

بانوی ایران
یک شنبه 01 آذر 1388, 23:24 عصر
سلام بانو خانوم از ورودتون به این تاپیک همه خوشحالیم بانو خانوم لطفا پاسخ ها تون رو در این تاپیک مثل من و بقیه قرار بدید تا همه بتوونند استفاده کنند البته ما ههم با الگوریتم های مختلف می نویسیم این امکان افزاریش بازدهی رو بالا می بره من از این که این 2 و3 هفته کمتر سر می زنم شر منده ام چون امتحانات میان ترمم شرو ع شده و کمتر می تونم بیام ولی وقتی که اومدم سعی می کنم جبران کنم
در ضمن ابتدا در بارهی الگوریتم حل مسله با هم صحبت کنید و بعد پاسخ هاتون رو به همدیگر در این تاپیک نشون بدید و بگید که جه کار کنه بر نامه بهینه تر میشه و ... .به نظرم این کارو کنید خیلی بهتره
با تشکر سید مهدی

سلام
چشم برنامه ها رو میزارم
منظورتون ازدرباره الگوریتم حل مساله صحبت کنیم چیه؟
من امتحانام تمام شد:بامزه::لبخند:

بانوی ایران
یک شنبه 01 آذر 1388, 23:31 عصر
/*sum digits of a number*/




#include <stdio.h>

#include <stdlib.h>
main(void)
{
int N;
int sum=0;
int R;
printf("enter N\n");
scanf("%d", &N);
while(N>0)
{
R= N%10;
sum+=R;
N/=10;
}
printf("sum=%d\n", sum);
system("pause");
return 0;
}


این برنامه مجموع ارقام هر عدد رو چا÷ میکنه
نه فقط 10رقمی

البته به جای stdlib.h وsystem("pause")l میتونید ازconio.h ,getch ()lاستفاده کنید

بانوی ایران
دوشنبه 02 آذر 1388, 00:29 صبح
تابع درجه دو هم باید بیایم تابعی مثلf=ax2+bx+c
(x2 توان 2 منظورمه)
الگوریتم رو جوری بنویسیم که a,b,cرو دریافت کنه و قرار بده توی delta(تابعی جواب داره که delta بزرگتر و مساوی صفر باشه)به این نحو دستوراتشو قرار میدیم
برنامه رو نوشتم ولی یکم اشکال داره باهاش کار میکنم اگه به جواب نرسیدم میزارمش تا کمک کنید

victoria
سه شنبه 03 آذر 1388, 22:09 عصر
برنامه ماشين حساب
#include<stdio.h>
#include<iostream.h>
void main(){
int x,y,z;
char ch;
cout<<"enter your first number:";
cin>>x;
cout<<"enter your operator(+ - * /):";
cin>>ch;
cout<<"enter your second numer:";
cin>>y;
switch(ch){
case'+':
cout<<"the answer is:"<<x+y;break;
case'-':
cout<<"the answer is:"<<x-y;break;
case'*':
cout<<"the answer is:"<<x*y;break;
case'/':
cout<<"the answer is:"<<x/y;break;
}}

victoria
سه شنبه 03 آذر 1388, 22:11 عصر
ببخشيد يه سوال خيلي بچه گانه داشتم چرا كدهايي كه من گذاشتم همه شون چپكي مي‌شن؟ :خجالت:
مي شه بگيد بايد چه كار كنم كه اينچوري نشه!:گیج:

shask00l
چهارشنبه 04 آذر 1388, 07:26 صبح
ببخشيد يه سوال خيلي بچه گانه داشتم چرا كدهايي كه من گذاشتم همه شون چپكي مي‌شن؟ :خجالت:
مي شه بگيد بايد چه كار كنم كه اينچوري نشه!:گیج:

برای ارسال کد از تگ [ c o d e ] استفاده کنید . اون بالا روی نوار ابزار ادیتور با علامت # مشخص شده .

amir-yeketaz
جمعه 06 آذر 1388, 14:29 عصر
نمیخوای برین جلوتر
بابا ما که ترم اولیم تا تابع های بازگشتی رو خوندیم
شما هنوز به آرایه ها هم نرسیدی؟؟؟!!!!

smahdi1991
جمعه 06 آذر 1388, 18:49 عصر
لطفا پاسخ های خودتون رو با زبان برنامه نویسی C در این تاپیک قرار بدهید نه C++ چون اصلا این تاپیک برای C زده شده نه C++ خواهش میکنم .

smahdi1991
شنبه 07 آذر 1388, 14:06 عصر
سلام من دوباره اومد م :لبخند:ولی هنوز میان ترمام تموم نشده:گریه:
اما شروع به پاسخ دادن به سوالات میکنم مثل همه ی شما دوستان
ببینید این جواب برای تمرین جدول 10*10 درسته یا نه:

//in the name of god
#include<stdio.h>
int main()
{
int i,j,s;
for(i=1;i<=10;i++)
{

s=0;
printf("\n");
for (j=1;j<=10;j++)
{
s=i*j;
printf("%d\t",s);
}
}
return 0;
}

smahdi1991
شنبه 07 آذر 1388, 14:48 عصر
این هم جواب تمرین مر بوط به 4 عمل اصلی ببینید درسته یا نه اگر میشه جواب های خودتون رو هم قرار بدهید و همینطور اگر از الگوریتم دیگری (راه حل دیگری هم بلدی بنویس) استفاده کردید که دیگر حتما باید بنویسید چون خیلی عالی میشه اگر هم مشکلی داشتید در رابطه با بخش ها مختلف عرض کنید تا ما هم اگر بلد بودیم جواب عرض کنیم:لبخند::

//in the name of god

#include<stdio.h>
#include<conio.h>
int main()
{
int x,y,i;
char c;
for (i=1;i<=4;i++)
{
printf("\nPlease Enter 2 operands :");
scanf("%d%d",&x,&y);
printf("please Enter desigred operator(+ - / *)\n");
c=getch();
printf("x = %d,,y = %d Operator:%c\n",x,y,c);

switch(c)
{
case '*':
{
printf("x * y = %d",x*y);
break;
}

case '+':
{
printf("x + y = %d",x+y);
break;
}
case '/':
{
printf("x / y = %d",x/y);
break;
}
case '-':
{
printf("x - y = %d",x-y);
break;
}
default:
printf("error happened!");
break;
}
}
return 0;
}

بانوی ایران
شنبه 07 آذر 1388, 15:17 عصر
سلام خسته نباشید
میشه یه توضیح بدید چرا c=getchگذاشتید
اصلا راجع به getch یه توضیح بدید که کارش چجوریه

smahdi1991
شنبه 07 آذر 1388, 15:42 عصر
بر روی چشم بانوی من(جومونگی گفتم:لبخند:):تابع ()getchبرای خواندن کاراکتر( البته فقط یک کاراکتر ) مورد استفاده قرار میگیرد این تابع کاراکتر ورودی رو از کاربر در یافت نموده و آن را در متغییر ذخیره می کند و لی چیزی به کاربر نمایش نمی دهد وچون کاراکتر ورودی در متغییر ذخیره می شود امکان پاک کردن یا عوض کردن آن وجود ندارد.این تابع در هدرفایل
#include<conio.h>
تعریف می شود.
این کافیه یا اگر بخواهید بهتر وکاملتر توضیح بدم:لبخند:

smahdi1991
شنبه 07 آذر 1388, 15:43 عصر
اینم از معادله درجه ی دوم :لبخند::فکر کنم درست عمل کنه به طور کامل:

//in the name of god
#include<stdio.h>
#include<math.h>
int main()
{

float a,b,c,d,x,z;
printf("enter 3 num: a,b,c(ax2+bx+c=0):");
scanf("%f%f%f",&a,&b,&c);
d = b*b - (4*a*c);
if (d==0)
{
x=((-b)/(2*a));
printf("x=%f",x);
}
else if (d>0)
{
z = sqrt (d);
printf ("x1=%f,x2=%f",(-b+z)/(2*a),(-b-z)/(2*a));
}
else
{
printf ("x has no answer");
}
return 0;
}

smahdi1991
شنبه 07 آذر 1388, 15:47 عصر
راستی اگر مایلی در باره ی ()getchar و()getche
توضیح بدم:چشمک:

بانوی ایران
شنبه 07 آذر 1388, 15:56 عصر
getchar,ghetcheرو هم توضیح بدید ممنون میشم:چشمک:

بانوی ایران
شنبه 07 آذر 1388, 16:01 عصر
این برنامه ایه که من برای تابع درجه 2 نوشتم ولی pow رو اجرا نمیکنه


#include <math.h>
#include <stdio.h>
#include <stdlib.h>
main(void)
{
int delta, a, b, c, x1, x2;
printf ("enter a,b,c\n");
scanf ("%d %d %d", &a, &b, &c);
delta=b*b-4*a*c;
if (delta>0)
{
x1=(-b+pow(delta,1/2)/2*a);
x2=(-b-pow(delta,1/2)/2*a);
printf ("x1=%d, x2=%d", x1, x2);
}
else if (delta==0)
{
x1=-b/2*a;
printf ("x1=x2=%d", x1);
}
else
{
printf("no real roots for this q");
}
system ("pause");
return 0;
}

بانوی ایران
شنبه 07 آذر 1388, 16:08 عصر
بر روی چشم بانوی من(جومونگی گفتم:لبخند:):تابع ()getchبرای خواندن کاراکتر( البته فقط یک کاراکتر ) مورد استفاده قرار میگیرد این تابع کاراکتر ورودی رو از کاربر در یافت نموده و آن را در متغییر ذخیره می کند و لی چیزی به کاربر نمایش نمی دهد وچون کاراکتر ورودی در متغییر ذخیره می شود امکان پاک کردن یا عوض کردن آن وجود ندارد.این تابع در هدرفایل
#include<conio.h>
تعریف می شود.
این کافیه یا اگر بخواهید بهتر وکاملتر توضیح بدم:لبخند:
ممنون
خوب چرا از scanf به جاش استفاده نکنیم
میشه ؟

smahdi1991
شنبه 07 آذر 1388, 16:20 عصر
توضیحات اموزشی:
تابع ()getchبرای خواندن کاراکتر( البته فقط یک کاراکتر ) مورد استفاده قرار میگیرد(به این صورت به عنوان مثال: x=getch()) این تابع کاراکتر ورودی(مثلا +یا _یا-یاLیاdیا:یا ! , ویا ... ) رو از کاربر در یافت نموده و آن را در متغییر(X) ذخیره می کند و لی چیزی به کاربر (در صفحه خروجی یا نمایشگر به هنگام چاپ )نمایش نمی دهد وچون کاراکتر ورودی در متغییر(X) ذخیره می شود امکان پاک کردن یا عوض کردن(مثلا اگر کاراکتر ورودی *بود نمیتونیم دیگه به /یا rیا(ویا چیزای دیگه تغییرش داد) آن وجود ندارد.و این تابع بعد از دریافت کارکتر ورودی بدون نیاز به فشار دادن دکمه ی enter برای اجرای دستورات به خط بعد می روداین تابع در هدرفایل
#include<conio.h>
تعریف می شود.
تابع()getcheوتابع()getcharنیز مثل تابع ()getchفقط برای یک کاراکتر مورد استفاده قرار میگیرنداما با این تفاوت که تابع ()getchar با در یافت کاراکتر از ورودی علاوه بر اینکه کاراکتر فشارداده شده را به کاربر نمایش می دهد منتظر می ماند تا دکمه ی enter فشار داده شود و سپس آن را در متغییر (مثلا x) ذخیره می کند که این کار باعث می شود اگر به اشتباه دکمه را فشار دادیم بتوانیم آن را پاک کرده و اصلاح کنیم(با backspace میشه پاکش کردو دوباره کاراکتر رو وارد کرد)اما تابع ()getcheبه محض فشار دادن دکمه کاراکتر ورودی را در متغییر (مثلاx) ذخیره کرده و آن را نیز در صفحه نمایش به کاربر نمایش می دهد که این کار (ذخیره کردن) منجر می شود که ما نتوانیم اگر اشتباهی انجام دادیم آن را تصحیح کنیم.
اووه ه ه ه ه:لبخند:
دیگه فکر کنم اینو خیلی با حال وکامل و جامع و شامل:لبخند: توضیح دادم

smahdi1991
شنبه 07 آذر 1388, 16:26 عصر
خوب از scanf هم میشه استفاده کرد اما ()getchاولا کاراکتر رو به کاربر نمایش نمی ده دوما هم اینکه بدون نیاز به دریافت enter به اجرای خط بعدی پیش میره سوما واسه اینجا از نوشتن زیادی هم جلوگیری میکنه.چهارما هم اینکه الان خودتون هم او برنامه ای که توش ()getch به کاررفته رو اجرا کنید خودتون متوجه میشد که در صفحه نمایش چقدر تمییز تر نتایج نمایش داده میشوند.

بانوی ایران
شنبه 07 آذر 1388, 16:35 عصر
بله اجراش کردم
جالب بود
میشه به برنامه ای که من برای تابع درجه 2 نوشتم نگاه کنید pow رو درست اجرا نیمکنه
راستی برنامه ای که برا ماشین حساب گذاشتید نیازی به حلقه for نداره

smahdi1991
شنبه 07 آذر 1388, 16:38 عصر
می دونم ولی برای این حلقه ی for رو قرار دادم تا بتونید همه ی اعمالشو امتحان کنید:چشمک:
خوب لطفا کد رو قرار بدید

smahdi1991
شنبه 07 آذر 1388, 17:04 عصر
خطا های منطقی بزرگترین وبد ترین نوع خطا ها هستند که مغز هر کسی رو به چالش وا می دارند حتی خیلی حر فه ای ها چه برسه به منه آماتور :لبخند:
برنامه شما دارای 3 خطای منطقی بود که فقط قرار نداد پرانتز موجب این خطا ها شد:

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
main(void)
{
int delta, a, b, c, x1, x2;
printf ("enter a,b,c\n");
scanf ("%d %d %d", &a, &b, &c);
delta=b*b-4*a*c;
if (delta>0)
{
x1=((-b+pow(delta,1/2))/2*a);//اینجا دوتا پرانتز رو قرار ندادید که موجب ایجاد خطای منطقی شد
x2=((-b-pow(delta,1/2))/2*a);//اینجا هم مثل بالا وبا ید خیلی وراقب این طور خطا ها باشید
printf ("x1=%d, x2=%d", x1, x2);
}
else if (delta==0)
{
x1=(-b/(2*a));//اینجا هم مثل بالا
printf ("x1=x2=%d", x1);
}
else
{
printf("no real roots for this q");
}
system ("pause");
return 0;
}

بانوی ایران
شنبه 07 آذر 1388, 17:16 عصر
باز هم کار نمیکنه
تازه این تغییرات رو هم توش دادم ولی مثلا 1و3و1 که میدم delta=5میشه ولی جواب x1,x2رو میزنه-1,-2
که غلته


#include <math.h>
#include <stdio.h>
#include <stdlib.h>
main(void)
{
int delta, a, b, c;
float x1, x2;
printf ("enter a,b,c\n");
scanf ("%d %d %d", &a, &b, &c);
delta=b*b-4*a*c;
if (delta>0)
{
x1=((-b+pow(delta,1/2))/2*a);
x2=((-b-pow(delta,1/2))/2*a);
printf ("x1=%f, x2=%f", x1, x2);
}
else if (delta==0)
{
x1=-b/2*a;
printf ("x1=x2=%f", x1);
}
else
{
printf("no real roots for this q");
}
system ("pause");
return 0;
}

smahdi1991
شنبه 07 آذر 1388, 18:28 عصر
مخم داغ کرد چون به یه نکته اونم در powدقت نکرده بودم :لبخند:
این از برنامه با رفع اشکال و دقیق و کامل:خدا کنه دیگه مشکل نداشته باشه:لبخند:

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main()// اینجا هم نباید از void استفاده کنی وباید به این صورت که نوشته شده بنویسی
{

float x1, x2, a,delta, b, c;
printf ("enter a,b,c\n");
scanf ("%f%f%f", &a, &b, &c);//اینجا هم باید از %f استفاده کنیو بهتره که در scanfفاصله نذاری بین %fها
delta= (b*b)-(4*a*c);

if (delta>0)
{
x1=((-b+pow(delta,0.5))/2*a);//در اینجا اولا باید در توابعپاور و امثال این باید هر دو باید همنوع بخصوص در اینجا float باشه
x2=((-b-pow( delta,0.5))/2*a);// مثله بالا
printf ("x1 = %f , x2 = %f\n", x1, x2);
}
else if (delta==0)
{
x1=(-b/(2*a));//باید پرانتز رو بگذاری
printf ("x1=x2=%f", x1);
}
else
{
printf("no real roots for this q");
}
system ("pause");
return 0;
}

amir-yeketaz
شنبه 07 آذر 1388, 22:12 عصر
جند تا سورس کد به زبان سی گذاشتم از اول تا آرایه ها (180 به بالا) برا دانلود
خواستین میتونین ازش استفاده کنین
امیدوارم به دردتون بخوره :چشمک::چشمک::چشمک:
حجمشم خیلی پایینه (50 KB)

از اینجا دانلود کنید (http://amir-yeketaz.persiangig.com/other/code%20c%28yeketaz%29.rar)

بانوی ایران
دوشنبه 09 آذر 1388, 00:45 صبح
مخم داغ کرد چون به یه نکته اونم در powدقت نکرده بودم :لبخند:
این از برنامه با رفع اشکال و دقیق و کامل:خدا کنه دیگه مشکل نداشته باشه:لبخند:

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main()// اینجا هم نباید از void استفاده کنی وباید به این صورت که نوشته شده بنویسی
{

float x1, x2, a,delta, b, c;
printf ("enter a,b,c\n");
scanf ("%f%f%f", &a, &b, &c);//اینجا هم باید از %f استفاده کنیو بهتره که در scanfفاصله نذاری بین %fها
delta= (b*b)-(4*a*c);

if (delta>0)
{
x1=((-b+pow(delta,0.5))/2*a);//در اینجا اولا باید در توابعپاور و امثال این باید هر دو باید همنوع بخصوص در اینجا float باشه
x2=((-b-pow( delta,0.5))/2*a);// مثله بالا
printf ("x1 = %f , x2 = %f\n", x1, x2);
}
else if (delta==0)
{
x1=(-b/(2*a));//باید پرانتز رو بگذاری
printf ("x1=x2=%f", x1);
}
else
{
printf("no real roots for this q");
}
system ("pause");
return 0;
}


نه نه:متعجب: اگه a,b,cرو هم float کنم جوابش داغون میشه یه چیز چرت تر از اون میده
فهمیدم جریان چیه
این برنامه برایdelta=0جواب میده حتی delta>0وقتی x1,x2اعداده int یا floatباشن هم جواب میده مشکل وقتیه که مثلا دلتا میشه 5 چون x1,x2اعداه گنگ میشن(توی صورت رادیکال 5 داریم) و برنامه تبدیلش میکنه به intیا floatعددش درست در نمیاد یعنی اون چیزی که من رو کاغذ به دست میارم نمیشه:چشمک:

alinaghiha
دوشنبه 09 آذر 1388, 07:34 صبح
من فكر مي كنم مشكل ايجاست




x1=((-b+pow(delta,0.5))/2*a);//در اینجا اولا باید در توابعپاور و امثال این باید هر دو باید همنوع بخصوص در اینجا float باشه
x2=((-b-pow( delta,0.5))/2*a);// مثله بالا


فكر كنم الان درست شد


x1=((-b+pow(delta,0.5))/(2*a));
x2=((-b-pow( delta,0.5))/(2*a));

smahdi1991
دوشنبه 09 آذر 1388, 15:17 عصر
ایول بابا من نمی دونم چرا اصلا این جا رو ندیده بودم اه ه ه ه:لبخند:
:

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main()// اینجا هم نباید از void استفاده کنی وباید به این صورت که نوشته شده بنویسی
{
float x1, x2, a, b, c,delta;
printf ("enter a,b,c\n");
scanf ("%f%f%f", &a, &b, &c);//اینجا هم باید از %f استفاده کنیو بهتره که در scanfفاصله نذاری بین %fها
delta= (b*b)-(4*a*c);

if (delta>0)
{
x1=((-b+pow(delta,0.5))/(2*a));//doroste hagh ba ali naghia bood ye parantez ham dar inja kam boodدر اینجا اولا باید در توابعپاور و امثال این باید هر دو باید همنوع بخصوص در اینجا float باشه
x2=((-b-pow(delta,0.5))/(2*a));// doroste hagh ba ali naghia bood ye parantez ham dar inja kam bood مثله بالا
printf ("x1 = %f , x2 = %f\n", x1, x2);
}
else if (delta==0)
{
x1=(-b/(2*a));//باید پرانتز رو بگذاری
printf ("x1=x2=%f", x1);
}
else
{
printf("no real roots for this q");
}
system ("pause");
return 0;
}

بانوی ایران
دوشنبه 09 آذر 1388, 23:49 عصر
فکر کنم درست شد:چشمک:
اگر بازم کار نکرد میگم:لبخند:
حالا دوستان یه نگاه به این برنامه بندازید اینو اقامهدی لطف کردن برا من فرستادن(برنامه ماشین حساب با scanfبه جایgetch)


//in the name of god




#include<stdio.h>

#include<conio.h>
int main()
{
int x,y,i;
char c;
for (i=1; i<=4; i++)
{
printf("\nPlease Enter 2 operands :");
scanf("%d%d%c",&x,&y,&c);
printf("please Enter desigred operator(+ - / *)\n");
scanf("%c",&c);
printf("x = %d,,y = %d Operator:%c\n",x,y,c);
switch(c)
{
case '*':
{
printf("x * y = %d",x*y);
break;
}
case '+':
{
printf("x + y = %d",x+y);
break;
}
case '/':
{
printf("x / y = %d",x/y);
break;
}
case '-':
{
printf("x - y = %d",x-y);
break;
}
default:
printf("error happened!");
break;
}
}
getch();
return 0;
}


من یه برنامه شبیه این نوشتم ولی درست اجرا نمیشه میره توی defaultدر واقع اصلا printf ,scanfدوم رو اجرا نمیکنه


//in the name of god





#include<stdio.h>

#include<conio.h>
int main()
{
int x,y;
char c;
printf(" enter x, y :\n");
scanf("%d%d",&x,&y);
printf("Enter desigred c:(+ - / *)\n");
scanf ("%c",&c);
printf ("x=%d , y=%d, c=%c\n", x, y, c);
switch(c)
{
case '*':
{
printf("x * y = %d",x*y);
break;
}
case '+':
{
printf("x + y = %d",x+y);
break;
}
case '/':
{
printf("x / y = %d",x/y);
break;
}
case '-':
{
printf("x - y = %d",x-y);
break;
}
default:
printf("error happened!");
break;
}
getch();


return 0;
}

بانوی ایران
دوشنبه 09 آذر 1388, 23:54 عصر
اینم یه برنامه که یه عدد از ما میگیره جذر اون عدد رو به صورت intمیده بیرون


#include <stdio.h>
#include <conio.h>
int main(void)
{
int sum, N, count, x;
printf ("enter N\n");
scanf ("%d", &N);
x=1;
sum=1;
count=0;
while(sum<=N)
{
x+=2;
sum+=x;
count+=1;
}
printf ("%d\n", count);
getch();
return 0;
}


ولی وقتی با getchمینویسمش غلط میشه
شاید از getch غلط استفاده میکنم


#include <stdio.h>
#include <conio.h>
int main(void)
{
int sum, N, count, x;
printf ("enter N\n");
N=getch();
x=1;
sum=1;
count=0;
while(sum<=N)
{
x+=2;
sum+=x;
count+=1;
}
printf ("%d\n", count);
getch();
return 0;
}

smahdi1991
سه شنبه 10 آذر 1388, 13:18 عصر
همینطور که گفتم تابع getch برای دریافت یک کاراکتر به کار برده می شه نه اعداد اما اگر عدد وارد کنیدفکر کنم در این حالت کد اسکی اونو دریافت کنه به همین دلیل اون اوب مورد نظر رو نمی دیدید:لبخند:

smahdi1991
سه شنبه 10 آذر 1388, 14:06 عصر
خوب از اونجایی که دکمه ی اینتر( enter ) دوکاراکتری هست پس برای اینکه این برنامه درست بشه بایدد قبل از دریافت +یا- یا .... باید از دوتا space قبلش استفاده کرد تا دریافت کنه بعدش کاراکتر مارو.به صورت زیر:


#include<stdio.h>
#include<conio.h>
int main()
{
int x,y;
char c;
printf(" enter x, y :\n");
scanf("%d%d",&x,&y);
printf("Enter desigred c:(+ - / *)\n");
scanf (" %c",&c);//اینجا باید دوتا space قبل %Cقرار بدید
printf ("x=%d , y=%d, c=%c\n", x, y, c);
switch (c)
{
case '*':
{
printf("x * y = %d",x*y);
break;
}
case '+':
{
printf("x + y = %d",x+y);
break;
}
case '/':
{
printf("x / y = %d",x/y);
break;
}
case '-':
{
printf("x - y = %d",x-y);
break;
}
default:
printf("error happened!");
break;
}
getch();
return 0;
}

alinaghiha
سه شنبه 10 آذر 1388, 14:19 عصر
ممنون دوست گرامي اين دو تا space واقعا نكته خوبي بود كه فقط تجربي به دست مي ياد
اين مشكل رو حتي بعضي از اساتيد دانشگاه (آقاي...) نمي دونستند كه شما يكي از سوالات دوران دانشجوييم رو جواب دادين

ممنون

marde_foolade
سه شنبه 10 آذر 1388, 14:32 عصر
سلام
من یک برنامه به زبان سی پلاس پلاس دارم که می خوام اونو به سی تبدیک کنم
اگر ممکنه منو راهنمایی کنید که خیلی نیاز دارم

smahdi1991
سه شنبه 10 آذر 1388, 15:26 عصر
خواهش می کنم alinaghihaعزیز:لبخند:
خوب دوستان اصلا این برای اینکه همه اگر چیزی بلد هستند مشکلات همدیگر رو برطرف کنند و من هم خودم این نکته رو نمی دونستم خدا رو شکر بچه های این تاپیک با فعالیت هاشون و سوال های خوبشون باعث میشوند تا همه ی افراد با تجربه های جدید نیز رو برو بشوند و نکات ریز رو بیا موزند من هم وقتی اینو از استادم پرسیدم استادم وقتی جواب بهم داد خیلی خوشحال شدم که یکی از نکات ریز برنامه نویسی به زبان C رو به واسطه سوالات و اقدام برای پیدا کردن پاسخشون تونستم بفهمم و مطمئنم که با فعالیت تو این زمینه ها خیلی چیزای دیگرو هم می فهمم
خوب دوست عزیزmarde_fooladeکدتون رو قرار بدید تا ببینیم چی میشه هرچند نباید در اینجا قرار میدادید و لی چون اینجا مربوط به آموزش C و شما هم که می خواهید یا دبگیرید عیبی نداره پس کد رو قرار بدید:لبخند:

بانوی ایران
سه شنبه 10 آذر 1388, 15:37 عصر
سلام دوستان
استادمون هفته پیش یه سوال داد به عنوان جایزه
حلش کردم جالب بود گفتم اینجا هم بزارم
یه برنامه بنویسید که اعداد یک تا 1000 رو دریافت کنه یکی از این اعداد گم شده برنامه باید مشخص کنه که چه عددی گم شده(توجه اعداد در هیچ جا قابل ذخیره کردن نیستند)

smahdi1991
سه شنبه 10 آذر 1388, 15:52 عصر
یعنی چی
یعنی 1000 تا عدد وارد کنیم از طریق ورودی:گیج:
یا اینکه چیزه دیگه ای هست سوال من که درست متوجه نشدم:لبخند:
لطفا دوباره دقیق تر سوال رو بفرمایید بانوخانوم

بانوی ایران
سه شنبه 10 آذر 1388, 16:01 عصر
بیبینید ما اعداد 1 تا 1000 رو داریم وارد میکنیم (الزامی نیست ترتیب خواستی داشته باشه اعدادی که وارد میکنیم)
یکی از این اعدادگم شده و ما نمیدونیم که این چه عددیه در وا قع ما 999 تا عدد وارد میکنیم برنامه باید بگه اون عددی که وارد نکردیم بین 1 تا 1000 چیه
می خواید راهنمایی کنم؟

بانوی ایران
سه شنبه 10 آذر 1388, 16:09 عصر
راستی دوستان ما این هفته تازه ارای ها رو خوندیم
اگر میشه چند تا برنامه (نمونه سوال)قرار بدید تا یه کم راه بیافتیم

alinaghiha
سه شنبه 10 آذر 1388, 18:05 عصر
اينم سه تا تمرين از آسون به متوسط
منتظر سخت ها باشيد
برنامه اي بنويسيد كه 10 عدد را خوانده در آرايه قرار دهد و از آخر به اول چاپ كند
برنامه اي بنويسيد كه بزركترين عدد آرايه 10 تايي را چاپ كند را چاپ كند
برنامه اي بنويسيد كه يك آرايه يك بعدي 10 تايي را معكوس كند(n تايي رو هم اگه خونديد)

nima20-20
چهارشنبه 11 آذر 1388, 18:03 عصر
با سلام
من میخواستم بدونم چطوری میشه یه برنامه نوشت که بتونه 1000 فاکتوریل و یا بیشتر را در زبان c حساب کنه البته هر چقدر ساده باشه بهتره من هر چقدر سعی کردم نتونستم یعنی عدد بزرگه و تو متغیر جا نمیشه

majidmt
چهارشنبه 11 آذر 1388, 19:34 عصر
به نظر من باید از متغیر داینامیک استفاده کنید یا از رشته ها استفاده کنید

amir-yeketaz
چهارشنبه 11 آذر 1388, 19:34 عصر
با سلام
من میخواستم بدونم چطوری میشه یه برنامه نوشت که بتونه 1000 فاکتوریل و یا بیشتر را در زبان c حساب کنه البته هر چقدر ساده باشه بهتره من هر چقدر سعی کردم نتونستم یعنی عدد بزرگه و تو متغیر جا نمیشه
ببخشید 1000فاکتوریل!!!!
اونم با متغیر
عمرا!!!!
باید با آرایه حلش کنین چون آرایه رو میشه هر چی که دلتون بخواد زیادش کنین
الگوریتمشم که دیگه همه جا هست و راه های زیادی داره
یکیش اینجاس
کلیلک کنید (http://barnamenevis.org/forum/showthread.php?t=192989)

reza sadeghi
جمعه 13 آذر 1388, 12:59 عصر
سلام دوستان
استادمون هفته پیش یه سوال داد به عنوان جایزه
حلش کردم جالب بود گفتم اینجا هم بزارم
یه برنامه بنویسید که اعداد یک تا 1000 رو دریافت کنه یکی از این اعداد گم شده برنامه باید مشخص کنه که چه عددی گم شده(توجه اعداد در هیچ جا قابل ذخیره کردن نیستند)
خوب بانو خانم برنامتونو بذارین

reza sadeghi
جمعه 13 آذر 1388, 13:51 عصر
منم یه برنامه مبتدی میذارم تا حلش کنین



برنامه ای که در یک آرایه برای 10درس دانشجو نمرات را دریافت نموده و در آرایه ای دیگر تعداد واحد های همان دروس را دریافت نموده و سپس معدل را حساب کند

بانوی ایران
دوشنبه 16 آذر 1388, 09:06 صبح
خوب بانو خانم برنامتونو بذارین


//findind the missing number
#include <stdio.h>
#include <stdlib.h>
main(void)
{
int sum1=0;
int sum2=0;
int i;
int N;
for(i=0;i<1000;i++,sum1+=i);
for (i=0;i<999;i++)
{
printf ("enter N");
scanf ("%d", &N);
sum2+=N;
}
printf ("mising num=%d", sum1-sum2);
system ("pause");
return 0;
}
دوستان عذر میخوام بابت تاخیرم مودمم چند روزه که کار نمیکنه
اینم برنامه مورد نظر باید اعداد 1تا1000 رو جمع کنید بعد 999 تا عددی که داریم رو وارد کنید باهم جمع کنید از مجموع 1000 عدد کم کنید عدد گم شده رو بهمون میده
اگر نیاز به توضیح بیشتر داره بگید

بانوی ایران
دوشنبه 16 آذر 1388, 09:24 صبح
خوب از اونجایی که دکمه ی اینتر( enter ) دوکاراکتری هست پس برای اینکه این برنامه درست بشه بایدد قبل از دریافت +یا- یا .... باید از دوتا space قبلش استفاده کرد تا دریافت کنه بعدش کاراکتر مارو.به صورت زیر:

[/code]

سلام
دوست عزیز ممنون توصیحتون خیلی مفید بود اما دو تا سوال دیگه
من میخواستم به جای 2 تا spaceبه صورت
"2%c", cبنویسم ولی نشد قاعدتا با توضیحی که شما دادید باید بشه
و دیگه اینکه چرا شما توی برنامه خودتون از spaceاستفاده نکردید ولی اجرا میشه؟

oloom1386
دوشنبه 16 آذر 1388, 13:18 عصر
سلام دوستان خسته نباشید
من هم یک مبتدی هستم و در بعضی مواقع شدیدا به کمک محتاج میشم به نظر من هم می تونه یه تاپیک موفق بشه و استقبال زیادی هم میشه ازش بدون شک.
خب واسه اینکه عینا اون تمرینارو ننویسین" که افراد سوءاستفاده کنند" کدهایی تقریبا مشابه به اون تمرینارو بذارین که حداقل مبتدی بتونه از بین اونا چیزای دیگه ای هم پیدا کنه به نظرم اینجوری فن الگوریتم نویسی ما مبتدیها هم خوب میشه و ذهنمون با الگوریتمای بیشتری آشنا میشه

ممنون بچه ها به خاطر تایپیکتون

smahdi1991
دوشنبه 16 آذر 1388, 21:01 عصر
سلام دوست عزیز من ورودتون به این تاپیک رو خوش امد میگم
و با نو خانوم اگر منظورتون برنامه ی اولی است که بدون 2تا space نوشته شده :اونجا باس دقت کنید که من تو scanf اولی %C رو هم گذاشتم , دو باره برای scanfدومی هم یه %c هم گذاشتم به همین خاطر یکenter بعد از وارد کردن عدد دوم یک کاراکتر برای %C اولی محاسبه و یه کاراکتر هم برای رفتن به خط بعدی محاسبه می شد و در خط بعدی %C رو میتونست بدون مشکل دریافت کنه اما وقتی که دو تا space بزراید بخاطر همون توضیحی که دادم دیگه نیاز به این کارا نیست

reza sadeghi
چهارشنبه 18 آذر 1388, 20:44 عصر
سلام دوستان منم یک مبتدی هیستم
ممنون از تاپیک مفیدی که ایجاد کردید

یک سوال داشتم:خیلی رو این برنامه فکر کردم ولی نتونستم یک روش بهینه برای حلش پیدا کنم ممنون میشم کمکم کنید

برنامه ای که یک عدد دریافت کند و مشخص کند این عدد مکعب است یا خیر؟؟؟

بانوی ایران
پنج شنبه 19 آذر 1388, 01:06 صبح
سلام دوست عزیز من ورودتون به این تاپیک رو خوش امد میگم
و با نو خانوم اگر منظورتون برنامه ی اولی است که بدون 2تا space نوشته شده :اونجا باس دقت کنید که من تو scanf اولی %C رو هم گذاشتم , دو باره برای scanfدومی هم یه %c هم گذاشتم به همین خاطر یکenter بعد از وارد کردن عدد دوم یک کاراکتر برای %C اولی محاسبه و یه کاراکتر هم برای رفتن به خط بعدی محاسبه می شد و در خط بعدی %C رو میتونست بدون مشکل دریافت کنه اما وقتی که دو تا space بزراید بخاطر همون توضیحی که دادم دیگه نیاز به این کارا نیست

سلام
ممنون
راجع به

2%C
ميدونيد؟ چرا جواب نميده؟

smahdi1991
پنج شنبه 19 آذر 1388, 15:07 عصر
ُسلام به همگی
راستی بانو خانوم من که واقعیتش این فلسفه ی 2%C:اشتباه:رو نی دونم اگر میشه بگید ما هم یاد بگیریم

بانوی ایران
پنج شنبه 19 آذر 1388, 18:33 عصر
ببينيد مثلا وقتي ميزنيم


printf("3%d",2)


چيزي كه برامون چاپ ميشه اينه

" 2"
با دو تا فاصله 2 رو چاپ ميكنه یعنی 3 digitمیزاره برا چاپ عدد
من از استادم پرسيدم scasnfهم همينطوره گفت اره 3 digit ,ا scanميشه
منم اومدم برنامه رو اينجوري بنويسم نشد

بانوی ایران
پنج شنبه 26 آذر 1388, 23:34 عصر
اي بابا چرا اينجا تعطيل شده
صاحابش كو؟:متفکر:


اينم سه تا تمرين از آسون به متوسط
منتظر سخت ها باشيد
برنامه اي بنويسيد كه 10 عدد را خوانده در آرايه قرار دهد و از آخر به اول چاپ كند
برنامه اي بنويسيد كه بزركترين عدد آرايه 10 تايي را چاپ كند را چاپ كند
برنامه اي بنويسيد كه يك آرايه يك بعدي 10 تايي را معكوس كند(n تايي رو هم اگه خونديد)

سلام دوست عزيز
فرق سوال اول با اخر چيه؟
اين برنامه كه من نوشتم ماله اوليه


#include <stdio.h>
#include <conio.h>
int main()
{
int n,j=0, i;
int *num_A, *new_list;
printf ("enter n\n");
scanf ("%d", &n);
num_A=new int[n];
new_list=new int[n];
for (i=0;i<n;i++)
{
printf ("enter num_A[%d]", i);
scanf ("%d", &num_A[i]);
}
for (i=n-1;i>=0;i--)
{
printf("new_list[%d]=%d\n",j , num_A[i]);
j++;
}
getch();
return 0;

}

shask00l
جمعه 27 آذر 1388, 04:08 صبح
فرق سوال اول با اخر چيه؟


به نظر من فرقی ندارن . فقط توی آخری n ذکر شده ...

اگه با منطق بازگشتی آشنا هستی همین برنامه رو بصورت بازگشتی در بیار . مثال قشنگیه .

amir-yeketaz
جمعه 27 آذر 1388, 10:21 صبح
به نام یگانه برنامه نویس عالم
سلام خدمت همه دوستان
بانو خانوم اگه میخواین تو آرایه ها ی یک بعدی فول شین نظرم اینه که یه برنامه جامعه آماری بنویسید
اینطوری هم استفاده از تابع ها را خوب متوجه میشین هم آرایه ها
یعنی برنامه ای بنویسید که تعدادی عدد از کاربر بگیرد(البته با تعدادشون)و میانگین ، واریانس ، انحراف معیار ، نما یا همون مد ، میانه و دیگه هر چی دلتون خواست
به نظر من حتما از توابع استفاده کنید تا کارتون منظم باشه
تو اینا یه خورده مد و میانه دشوارتره
یادتون باشه که داده ها نامنظمند و باید برایه بدست آوردن میانه اونارو منظم کنید و اگه تعداد داده ها زوج و فرد باشن و ... اینا باید شرطاشو بذارین
به هر حال نوشتن این برنامه کمک زیادی به فهمیدن کامل آرایه ها میکنه
یه خواهش از همه ی دوستان
بابا ترم اول که دیگه تموم شد ما اشاره گر ها و فایل ها و بقیه رو خوندیم
نمیخواین سرعت دادن تمارینو بیارین بالا؟؟!!
ممنون
خیلی نوکریم

reza sadeghi
جمعه 27 آذر 1388, 13:54 عصر
سلام دوستان منم یک مبتدی هیستم
ممنون از تاپیک مفیدی که ایجاد کردید

یک سوال داشتم:خیلی رو این برنامه فکر کردم ولی نتونستم یک روش بهینه برای حلش پیدا کنم ممنون میشم کمکم کنید

برنامه ای که یک عدد دریافت کند و مشخص کند این عدد مکعب است یا خیر؟؟؟
بابا سوالم زیاد سخت نیست کسی نمیتونه راهنمایی کنه؟؟؟؟؟؟؟؟؟؟؟

shask00l
جمعه 27 آذر 1388, 14:25 عصر
یک عدد دریافت کند و مشخص کند این عدد مکعب است یا خیر؟؟؟

اگه منظورت توان سوم یه عدده که دوبار ازش جذر بگیر ببین نتیجه صحیحه یا نه ...

reza sadeghi
جمعه 27 آذر 1388, 18:33 عصر
اگه منظورت توان سوم یه عدده که دوبار ازش جذر بگیر ببین نتیجه صحیحه یا نه ...


منظورتونو متوجه نشدم میشه در قالب کد توضیح بدین؟؟؟؟؟؟؟؟؟؟/

بانوی ایران
شنبه 28 آذر 1388, 11:44 صبح
به نام یگانه برنامه نویس عالم
سلام خدمت همه دوستان
بانو خانوم اگه میخواین تو آرایه ها ی یک بعدی فول شین نظرم اینه که یه برنامه جامعه آماری بنویسید
اینطوری هم استفاده از تابع ها را خوب متوجه میشین هم آرایه ها
یعنی برنامه ای بنویسید که تعدادی عدد از کاربر بگیرد(البته با تعدادشون)و میانگین ، واریانس ، انحراف معیار ، نما یا همون مد ، میانه و دیگه هر چی دلتون خواست
به نظر من حتما از توابع استفاده کنید تا کارتون منظم باشه
تو اینا یه خورده مد و میانه دشوارتره
یادتون باشه که داده ها نامنظمند و باید برایه بدست آوردن میانه اونارو منظم کنید و اگه تعداد داده ها زوج و فرد باشن و ... اینا باید شرطاشو بذارین
به هر حال نوشتن این برنامه کمک زیادی به فهمیدن کامل آرایه ها میکنه
یه خواهش از همه ی دوستان
بابا ترم اول که دیگه تموم شد ما اشاره گر ها و فایل ها و بقیه رو خوندیم
نمیخواین سرعت دادن تمارینو بیارین بالا؟؟!!
ممنون
خیلی نوکریم

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

بانوی ایران
شنبه 28 آذر 1388, 11:48 صبح
راستی دوستان توی اون برنامه که نوشتم ازp*استفاده کردم
ولی دو تا مشکل هست که این روشی که من استفاده کردم تویcppهست و من باcبرنامه مینویسم
دوم اینکه این روش رو به صورت دو بعدی بلد نیستم

amir-yeketaz
شنبه 28 آذر 1388, 12:15 عصر
یه کم دارم راه میافتم کاری هم که گفتید خواهم کرد ولی مشکل من با توابع هست
درست نمیتونم باهاشون کار کنم
برا همین برنامه هام خیلی طولانی میشه

استفاده از توابع باعث میشه که ذهنت خیلی منظم بشه و همین طور برنامت
و خواننده سورس برنامه ی شما خیلی راحت تر متجه کارایه برنامتون میشه
همیشه استاد ما بهمون توصیه می کنه که از توابع استفاده کنیم چون که وقتی برنامه یه خورده بزرگ میشه متجه میشین که چقدر استفاده از توابع به درد میخوره
و من حتما بهتون توصیه میکنم که از توابع تو برنامه هاتون استفاده کنین اونم به صورت خیلی زیاد
تا با کارشون به خوبی آشنا بشین

بانوی ایران
شنبه 28 آذر 1388, 12:25 عصر
استفاده از توابع باعث میشه که ذهنت خیلی منظم بشه و همین طور برنامت
و خواننده سورس برنامه ی شما خیلی راحت تر متجه کارایه برنامتون میشه
همیشه استاد ما بهمون توصیه می کنه که از توابع استفاده کنیم چون که وقتی برنامه یه خورده بزرگ میشه متجه میشین که چقدر استفاده از توابع به درد میخوره
و من حتما بهتون توصیه میکنم که از توابع تو برنامه هاتون استفاده کنین اونم به صورت خیلی زیاد
تا با کارشون به خوبی آشنا بشین
حق با شماست برنامه ای که میتونم با چند خط بنویسم به چند صفحه میرسه اخرشم درست اجرا نمیشه ممنون میشم یکم در استفاده از توابع راهنمایی کنید مثلا روی یکی دو تا برنامه ساده
اصلا خودم یه کد میزارم یه توضیح مختصر بدید



#include <stdio.h>

int is_prime(int n)
{

int divisor;

if (n <= 1)

return 0;

for (divisor = 2; divisor * divisor <= n; divisor++)

if (n % divisor == 0)

return 0;

return 1;


من قسمتreturn0,return1رو نمیفهمم
و همینطور کلا چجوری این تابع تعیین میکنه عدد اول هست یا نه
اگر خط به خط بگید خیلی ممنون میشم

M4st3r_4w4r3
شنبه 28 آذر 1388, 16:37 عصر
خیلی سادس !


int is_prime(int n)اینجا نوع بازگشتی تابع و نوع آرگومان ورودی و اسم آرگومان رو معرفی کرده

int divisor;
یه متغیر تعریف کرده

if (n <= 1)
return 0;
اگه عدد ورودی از 1 کمتر بود یعنی عدد اشتباه وارد شده و 100٪ اول نیست ...
پس همین اول کاری از تابع شوتش می کنیم بیرون !

for (divisor = 2; divisor * divisor <= n; divisor++)
if (n % divisor == 0)
به divisor مقدار 2 داده و تو حلقه از 2 شروع می کنه میره بالا تا به عدد یک دونه کمتر از ورودی برسه ( n ) و دونه دونه چک می کنه ببینه آیا n به divisor بخش پذیر هست یا نه !
اگه بود مقدار 0 رو بر می گردونه ( یعنی عدد اول نیست ! )
اگر هم بر هیچ کدوم بخش پذیر نبود یعنی عدد اوله دیگه !!!

خیلی ساده بود ! نه ؟

موفق باشید

smahdi1991
شنبه 28 آذر 1388, 20:33 عصر
سلام به همه ی دوستان
اینم از برنامه ی کامل که دیدم بد نیست بنویسم من هم گفتم در بیکاری بد نیست سرگرم شوییییم:لبخند::البته مطمئن نیستم درست باشه ولی امتحان کنید .انشالله که درسته:لبخند::

//in the name of god
#include<stdio.h>
int main()
{
int x,i,s=0,y;
scanf("%d",&x);
for(i=1; i<=(x/2); i++)
{
y=x%i;
if(y==0)
{
s=s+i;
printf("i=%d,,s=%d\n",i,s);
}
else
continue;
}
if(s==x)
printf("%d adadi kamel mibashad",x);
else
printf("%d adadi kamel nist",x);
return 0;
}
اگر برنامه درست کار نکرد بگید تا فکر کنم که مشکلش کجایه اکی در ضمن شما دوستان هم بگید کجاش اشکال داره تا بتونم درستش کنم یا الگوریتم های بهترشو بگید ممنون.

amir-yeketaz
شنبه 28 آذر 1388, 22:10 عصر
حق با شماست برنامه ای که میتونم با چند خط بنویسم به چند صفحه میرسه اخرشم درست اجرا نمیشه ممنون میشم یکم در استفاده از توابع راهنمایی کنید


برایه اینکه بهتر با کار آرایه ها آشنا بشین
من این برنامه رو حدود یک ماه پیش نوشتم و میذارم ببینید:


#include <stdio.h>
double adad(double[],int);
double avg(double[],int);
int main(){
double x[50],p1,p2,p3;
p1=adad(x,50);
p2=avg(x,p1);
printf("miangin=");
printf("%.3f\n",p2);
return 0;
}
double avg(double b[],int n){
int i;
double sum;
sum=0;
i=0;
while(i<n){
sum=sum+b[i];
i=i+1;
}
sum=sum/n;
return sum;
}
double adad(double a[],int max){
int i,n;
printf("tedade adad\n");
scanf("%d",&n);
if(n<1 || n>51){
n=0;
printf("eror\n");
}
else{
while(i<n){
printf("adad\n");
scanf("%lf",&a[i]);
i=i+1;
}
}
return n;
}


اگه سوالی دارین از این برنامه میتونم براتون توضیح بدم
البته منم مثه شما یه ترم اولیم و شاید حرفام خیلی درست نباشه ولی من تو استفاده از تابع مشکل خاصی ندارم

بانوی ایران
یک شنبه 29 آذر 1388, 15:20 عصر
خیلی ساده بود ! نه ؟

موفق باشید

دستت در نكنه
راست ميگي ساده بود
احساس خنگي بهم دست داد :گیج::لبخند:

بانوی ایران
یک شنبه 29 آذر 1388, 15:25 عصر
برایه اینکه بهتر با کار آرایه ها آشنا بشین



من این برنامه رو حدود یک ماه پیش نوشتم و میذارم ببینید:


اگه سوالی دارین از این برنامه میتونم براتون توضیح بدم



البته منم مثه شما یه ترم اولیم و شاید حرفام خیلی درست نباشه ولی من تو استفاده از تابع مشکل خاصی ندارم





سلام
ممنون
خوب اين برنامه قراره چي كار كنه اجراش كردم فقط تعداده عدد رو ميگيره چيزي چاپ نميكنه
راستي يه سوال راجع به input ,output
اين يعني چي؟

%d%%
و اين كه شما تو برنامت نوشتي

scanf ("%1f",&a[i])
اينكه عدد يك رو قبل ازfنزاريم كه فرقي نميكنه؟
و ابنكه وقتي ميزنيم

scanf("%3d",&i)
بهiسه digit اختصاص ميده و scan ميكنه؟

amir-yeketaz
یک شنبه 29 آذر 1388, 19:59 عصر
خوب اين برنامه قراره چي كار كنه اجراش كردم فقط تعداده عدد رو ميگيره چيزي چاپ نميكنه
راستي يه سوال راجع به input ,output
اين يعني چي؟

%d%%و اين كه شما تو برنامت نوشتي

scanf ("%1f",&a[i])اينكه عدد يك رو قبل ازfنزاريم كه فرقي نميكنه؟
و ابنكه وقتي ميزنيم

scanf("%3d",&i)بهiسه digit اختصاص ميده و scan ميكنه؟

سلام
فکر نمیکنم این برنامه مشکلی داشته باشه
من این برنامه رو تو سی اچ اجرا کردم و مشکلی هم نداشته
یه تعداد عدد میگیره بعد میانگینشو بدست میاره
خیلی خیلی سادس دیگه
در مورد %1f. البته داتشو نذاشتین! که جالبه بدونید که شما با این کار مشخص می کنید که چند تا اعشار بعد از اعداد صحیح پرینت بشه
یادم رفت که بگم "درصد اف " هم همون کاره "درصد ال اف " رو میکنه یعنی برایه عدد های اعشاریست فقط با همین تفاوت
یعنی اگه شما از "درصد ال اف" استفاده کنید اون تعداد اعشاری که به صورت پیش فرض انتخاب شده پرینت میشه ولی با "درصد دات یک اف " شما فقط یک اعشار بعد از عدد صحیح خواهید داشت
البته میتونید هر چی دلتون خواست بذارین مثلا "درصد دات چهار اف"
شاید جالب باشه ولی استاد ما همیشه با این ژینگولگ بازیا مخالفه و میگه این چیزا کمکی به برنامه نویس شدنه شما نمیکنه
منم حرفشو قبول دارم چون که این کارا تو هر زبونی یه جوریه و خیلی هم سادس یادگیریش
پس زیاد گیر ندین
در مورد اون یکی هم چیز زیادی نمیدونم و اونقدرام شوق دونستنشو ندارم
ببخشید که واژگان انگلیسی رو فارسی نوشتم
امیدوارم خوب رسونده باشم

بانوی ایران
یک شنبه 29 آذر 1388, 20:05 عصر
ممنون ولي اون %3dتوي بعضي جاها خيلي مفيده درواقع توي بهتر چاپ كردنه يه برنامه كمك ميكنه و حتي scan كردن مقادير گاهي لازم ميشه كه البته خيلي هم الزامي نيس به قول استادتون ژينگولك بازيه

اگه شما از "درصد ال اف" استفاده کنید اون تعداد اعشاری که به صورت پیش فرض انتخاب شده پرینت میشه
پيش فرضمون همون مقداريه كه به ال ميديم؟
ميتونه يه مقدار متغير باشه؟

amir-yeketaz
دوشنبه 30 آذر 1388, 10:43 صبح
ممنون ولي اون %3dتوي بعضي جاها خيلي مفيده درواقع توي بهتر چاپ كردنه يه برنامه كمك ميكنه و حتي scan كردن مقادير گاهي لازم ميشه كه البته خيلي هم الزامي نيس به قول استادتون ژينگولك بازيه

پيش فرضمون همون مقداريه كه به ال ميديم؟
ميتونه يه مقدار متغير باشه؟
نه ببینید خود "درصد ال اف" همون کاره "درصد اف" رو می کنه و هر دو تا شون مثله همن ولی با این تفاوت که شما میتونین از "درصد اف" برای مشخص کردنه تعداد اعشار بعد از عدد صحیح از "درصد اف " استفده کنی البته باید تعدادتو مشخص کنی مثلا اگه خوشت نیومد که تو نمایش عدد بنویسه 2.777777 میتونی تو printf بدی "درصد دات دو اف" و برات پرینت میکنه 2.77
حله؟؟؟!!!
اگه میشه در مورد "درصد سه دی" اگه میدونین چیکار میکنه بگین که چیکار میکنه!!
ممنون

بانوی ایران
دوشنبه 30 آذر 1388, 13:12 عصر
اره داداش حله
حالا راجع به درصد 3 دي(درصد ال دي)
وقتي اينو ميزنيم چيزي كه براي ما چاپ ميشه متغير iبا اختصاص دادنه 3digitهست
مثلا اگر مقدار هi2 باشه با دو تا spaceقبل از اون (اگر 3- بزاريم بعدش) چاپ ميكنه
فايدش چيه
مثلا برنامه اي داريم كه ميخواد يه ماتريس برامونچاپ كنه
ماتريس ما تا زماني خوب و زير هم چاپ ميشه كه اعداد يه رقمي هستند ولي وقتي دو رقمي بشن شكل ماتريس چاپي مون به هم ميخوره اگر بيايم و تعداد digitچاپي رو معين كنيم حتي با اعداد چند رقمي هم ماتريس به هم نميخوره
البته ممكنه راه ديگه اي هم باشه ولي من اينجوري تونستم شكلمو حل كنم
اگه نفهميديد يه شكل هست اونو ميزارم بهتر ميشه

smahdi1991
چهارشنبه 02 دی 1388, 16:56 عصر
سلام به دوستان
راستی در باره ی پروژه نویسی یا تمرین های بزرگتر نیز بحث کنیم خوبه نه دوستان؟

davood59
چهارشنبه 02 دی 1388, 21:26 عصر
سلام دوستان، از اینکه تاپیکی به این قشنگی و مفیدی راه افتاده فوق العاده خوشحال شدم. امیدوارم این اقدام تاثیری خوبی در پیشرفت همه ما داشته باشه.
چند روز پیش برنامه ای دیدم که در اینجا البته فقط با کمی تغییر میذارم. علت تغییر اون برنامه این بود که برای اعداد 2 و 3 زوج و فرد بودنشون رو مشخص نمی کرد.
همچنین از دوست خوبمون که برنامه رو به زیبایی تشریح کرده بود متشکرم.
کد اصلاح شده:



#include<iostream>

int main()
{
int isprime(int n);
int i,n;
std::cin>>n;
for (i=2;i*i-1<=n;i++)
std::cout<<i;
if (n%i==0)
std::cout<<n<<"your num isnt prime";
else
std::cout<<n<<"your num is prime";
}



البته با ++ C هست که شما کافیه فقط خطوطی رو که std::cout و std:: cin دارن رو به دستورات دریافت و نمایش در C تبدیل کنید. i هم همون divisor هست.
با پوزش.

amir-yeketaz
چهارشنبه 02 دی 1388, 23:55 عصر
سلام به دوستان
راستی در باره ی پروژه نویسی یا تمرین های بزرگتر نیز بحث کنیم خوبه نه دوستان؟

عجیب موافقم!!!!!!

بانوی ایران
پنج شنبه 03 دی 1388, 12:43 عصر
سلام دوستان
يه سوال
توي توابع چيزي كه تابع returnميكنه چيه منظورم اينه كه همون كاري كه ما از تابع ميخوايم انجام بديم مقداريه كه return ميشه؟
مثلا توي اين قسمت

double average(double a, double b)
{
return (a + b) / 2;
}
مقداري كه returnميشه همون ميانگينه (كاري كه ما از تابع ميخوايم)يا همون تابعي كه زدم اول يا غير اول بودن عدد مقداري كه بر ميگرده تعيين ميكنه اول هست يا نه
ولي توي اين حالت چي؟ مقداري كه برميگردونه مفهومش چيه اصلا چرا بايد اينو برگردونه؟
چجوري ميتونم به صورت void بنويسم؟

int *input_array(int r, int c){
int *array = (int *)malloc(r * c * sizeof(int));
int i , j;
for(i = 0; i < r ; i++){
for(j = 0 ; j < c ;j++){
printf("enter array[%d][%d]\n", i , j);
scanf("%d", array);
array++;
}
}
return array - r * c;
}

amir-yeketaz
پنج شنبه 03 دی 1388, 14:21 عصر
سلام دوستان
يه سوال
توي توابع چيزي كه تابع returnميكنه چيه منظورم اينه كه همون كاري كه ما از تابع ميخوايم انجام بديم مقداريه كه return ميشه؟
مثلا توي اين قسمت

double average(double a, double b)
{
return (a + b) / 2;
}
مقداري كه returnميشه همون ميانگينه (كاري كه ما از تابع ميخوايم)يا همون تابعي كه زدم اول يا غير اول بودن عدد مقداري كه بر ميگرده تعيين ميكنه اول هست يا نه
ولي توي اين حالت چي؟ مقداري كه برميگردونه مفهومش چيه اصلا چرا بايد اينو برگردونه؟
چجوري ميتونم به صورت void بنويسم؟

int *input_array(int r, int c){
int *array = (int *)malloc(r * c * sizeof(int));
int i , j;
for(i = 0; i < r ; i++){
for(j = 0 ; j < c ;j++){
printf("enter array[%d][%d]\n", i , j);
scanf("%d", array);
array++;
}
}
return array - r * c;
}


ببینید بانو خانوم
شما وقتی یه تابعو return میکنین پس به طور حتم بهش نیاز دارین تو تابع main یا تو تابع های بعد از اون
اینم که بخواین این تابعی که نوشتینو به صورت void بنویسید یعنی چیزی نمیخواین برگردونید
void بیشتر برایه تابع های پرینت و اینزرت استفاده میشه و شما قرار نیست چیزی رو به تابعی که فراخونی شده برگردونید
البته سوالتون زیاد واضح نیست و منم اینجوری برداشت کردم
البته یه چیزی رو هم اضافه کنم که اشاره گر ها رو که براشون حافظه ی پویا گرفتین مثه همین جا باید return کنین ولی اگه یه آرایه تو تابع پر کردین نیازی نیست برش گردونین چون آرایه شما خودش پر میشه و نیازی به برگردوندن نداره
ولی حافظه پویا چون به آدرس اشاره میکنه نیاز داره که به آدرس مورد نظر برگردونده بشه

بانوی ایران
پنج شنبه 03 دی 1388, 14:54 عصر
پس يعني من توي اين تابع نميتونم به صورت void بنويسم؟
ولي سوال قبل من چيزه ديگه بود
من ميگم تابع چه چيزي رو returnميكنه؟ (كاري كه ما از تابع ميخوايم؟)
مثلا توي اون حالت

return array-r*c
اين چيزي كه برميگردونه چيه؟
و يعني چي؟
چرا ادرس اشاره شده بايد برگرده
يعني چرا خود array رو برنميگردونيم؟
كلا من با اين كه تابع چه چيزي رو بر ميگردونه مشكل دارم

clover
پنج شنبه 03 دی 1388, 15:09 عصر
مقداري كه برميگردونه مفهومش چيه اصلا چرا بايد اينو برگردونه؟

این تابع وظیفه ی تعریف یک آرایه دو بعدی و سپس پر کردن اون توسط ورودی کاربر را بر عهده داره. بعد از این که کار تابع تمام شد شما باید به آرایه تعریف شده دسترسی داشته باشید. پس تابع اشاره گر به آرایه مورد نظر را بر می گردونه تا با استفاده از اون بتونید به آرایه دسترسی داشته باشید.

چجوري ميتونم به صورت void بنويسم؟
برای این کار شما میتونید آرایه را در بیرون از تابع ایجاد کنید و اشاره گر آرایه را به همراه پارامتر های دیگه به تابع ارسال کنید. به این صورت:

void input_array(int *array, int r, int c)
{
int i , j;
for (i = 0; i < r; i++)
{
for (j = 0; j < c; j++)
{
printf("enter array[%d][%d]\n", i, j);
scanf("%d", array);
array++;
}
}
}

clover
پنج شنبه 03 دی 1388, 15:22 عصر
return array-r*c
اين چيزي كه برميگردونه چيه؟

در زبان ++C, C آرایه ها با استفاده از اشاره گری که به اولین خانه آرایه اشاره می کنه مورد دستیابی قرار می گیرند. array در ابتدای تابع به اولین خانه آرایه ایجاد شده اشاره میکنه اما در طول تابع مقدار این اشاره گر تغییر می کنه (برای دستیابی به خانه های بعدی آرایه) . برای return کردن آرایه، در واقع ما باید اشاره گر به اولین خانه ی آرایه ایجاد شده را return کنیم اما اشاره گر array در طول تابع تغییر کرده و در آخر تابع به آخرین خانه آرایه اشاره می کنه. پس با کم کردن مقدار r*c (تعداد خانه های آرایه) از اشاره گر array می تونیم آدرس اولین خونه ی آرایه را return کنیم.

امیدوارم تونسته باشم درست توضیح بدم.

بانوی ایران
پنج شنبه 03 دی 1388, 15:23 عصر
اي ول مرسي
پس من نيازي به alloc كردن ندارم؟(پست قبلي رو منظورمه):چشمک:
اگر نه اشاره گر از كجا ميدونه به كجا اشاره ميكنه

بانوی ایران
پنج شنبه 03 دی 1388, 15:29 عصر
در زبان ++C, C آرایه ها با استفاده از اشاره گری که به اولین خانه اشاره می کنه مورد دستیابی قرار می گیرند. array در ابتدای تابع به اولین خانه آرایه اشاره میکنه اما در طول تابع مقدار این اشاره گر تغییر می کنه (برای دستیابی به خانه های بعدی آرایه) در موقع بازگردانده آرایه، ما باید یک اشاره گر به اولین خانه ی آرایه را return کنیم اما array در آخر تابع به آخرین خانه آرایه اشاره می کنه. پس با کم کردن مقدار r*c (تعداد خانه های آرایه) از اشاره گر array می تونیم آدرس اولین خونه ی آرایه را return کنیم.

امیدوارم تونسته باشم درست توضیح بدم.
اره خيلي ممنون فقط اگر اين رو هم توضيح بديد ممنون ميشم
توي ارايه ها هست كه ما به اين شكل returnميكنيم؟ يعني برميگردونيم به خونه ي اول؟
و اين كه يه تابعي مثل اين

double average(double a, double b)
{
return (a + b) / 2;
}
چرا اومده و مقدار ميانگين رو returnكزده؟
نميشه توي تابع يك چيزي مثل خود average تعريف كنيم و بعد اون رو return كنيم؟ اگر صفر returnكنيم چي؟

clover
پنج شنبه 03 دی 1388, 15:34 عصر
پس من نيازي به alloc كردن ندارم؟

منظورتون return کردن بود دیگه ؟ در این صورت بله.
اما اگر منظور استفاده از malloc برای تعریف پویای آرایه بود ، در هر صورت چه در بیرون و یا داخل تابع باید فضای مورد نیاز را یرای آرایه تخصیص بدید.

بانوی ایران
پنج شنبه 03 دی 1388, 15:39 عصر
منظورتون return کردن بود دیگه ؟ در این صورت بله.
اما اگر منظور استفاده از malloc برای تعریف پویای آرایه بود ، در هر صورت چه در بیرون و یا داخل تابع باید فضای مورد نیاز را یرای آرایه تخصیص بدید.
يعني همو كدي كه نوشتيد من بايد mallocرو بيرون از تابع زماني كه ميخوا ازش استفاده كنم ايجاد كنم؟
يا اينكه در تعريف پوياي ارايه نميشه voidكرد؟و بايد *intباشه؟

clover
پنج شنبه 03 دی 1388, 15:43 عصر
نميشه توي تابع يك چيزي مثل خود average تعريف كنيم و بعد اون رو return كنيم؟ اگر صفر returnكنيم چي؟

چرا، این کار را هم میشه انجام داد و اتفاقا خوانایی کد را بالا میبره، اما این کاملا بستگی به سبک برنامه نویسی شما داره و اختیاری هست.

صفر را return کنیم ؟ چرا باید این کار را انجام بدیم ؟ مگر قرار نیست تابع ما مقدار میانگین را حساب کنه و اونو return کنه ؟ من فکر می کنم شما درمفهوم توابع مشکل دارید. یک تابع قرار هست که عملیاتی را انجام بده، حالا اگر این عملیات نتیجه ای داشته باشه (یعنی یک عدد، رشته و یا هر مقداری که معرف نتیجه ی عملیات باشه) باید پس از اتمام عملیات (اتمام کار تابع) به این نتایج دسترسی داشته باشیم. یکی از راه های این کار، استفاده از دستور return هست.

clover
پنج شنبه 03 دی 1388, 15:49 عصر
يعني همو كدي كه نوشتيد من بايد mallocرو بيرون از تابع زماني كه ميخوا ازش استفاده كنم ايجاد كنم؟

بله.
مثالی برای نحوه ی استفاده :

void input_array(int *, int, int);
int main()
{
int *myArray = (int *)malloc(4 * 5 * sizeof(int));
input_array(myArray, 4, 5);
return 0;
}
void input_array(int* array, int r, int c)
{
int i, j;
for (i = 0; i < r; i++)
{
for (j = 0; j < c; j++)
{
printf("enter array[%d][%d]\n", i, j);
scanf("%d", array);
array++;
}
}
}

در این قطعه کد ما ابتدا فضای مورد نیاز برای آرایه را تخصیص میدیم و این فضا را به اشاره گر myArray انتساب میدیم.

int *myArray = (int *)malloc(4 * 5 * sizeof(int));
و بعد این اشاره گر را به همراه طول و عرض آرایه (ماتریس) به تابع ارسال می کنیم تا اونو با مقادیر ورودی پر کنه.

input_array(myArray, 4, 5);

بانوی ایران
پنج شنبه 03 دی 1388, 15:51 عصر
چرا، این کار را هم میشه انجام داد و اتفاقا خوانایی کد را بالا میبره، اما این کاملا بستگی به سبک برنامه نویسی شما داره و اختیاری هست.

صفر را return کنیم ؟ چرا باید این کار را انجام بدیم ؟ مگر قرار نیست تابع ما مقدار میانگین را حساب کنه و اونو return کنه ؟ من فکر می کنم شما درمفهوم توابع مشکل دارید. یک تابع قرار هست که عملیاتی را انجام بده، حالا اگر این عملیات نتیجه ای داشته باشه (یعنی یک عدد، رشته و یا هر مقداری که معرف نتیجه ی عملیات باشه) باید پس از اتمام عملیات (اتمام کار تابع) به این نتایج دسترسی داشته باشیم. یکی از راه های این کار، استفاده از دستور return هست.

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

در كل خيلي ممنون از راهنمايي هاتون خيلي مفيد بود:چشمک:

clover
پنج شنبه 03 دی 1388, 16:27 عصر
مدتیه که این تاپیک از هدفی که برای اون ایجاد شده بود فاصله گرفته و شده محل رفع اشکال برنامه ها، گرچه به دلیل پاسخ هایی که دادم به خودم هم ایراد وارد هست (که البته چاره ای نبود و تقریبا با این اوضاع تفاوتی هم نمی کرد) اما بهتر بود از ابتدا ایجاد کننده تاپیک یا شخص دیگه ای وظیفه ی مدیریت تاپیک را به عهده می گرفت.
به هر حال به نظرم رسید باید این مورد را متذکر بشم.

بانوی ایران
جمعه 04 دی 1388, 00:25 صبح
بر منكرش لعنت كه شما گفتي
منم جملم سوالي نبود تو پرانتز گذاشتم خبري بود:لبخند:

amir-yeketaz
جمعه 04 دی 1388, 00:26 صبح
بازم یه سری سورس کد میزارم حالشو ببرین
امیدوارم که خوشتون بیاد :لبخند:


دانلود (http://amir-yeketaz.persiangig.com/other/CODE%20C_YEKETAZ.rar)

amir-yeketaz
جمعه 04 دی 1388, 00:31 صبح
اینم برایه اینکه از عنوان تاپیک دفاع کنیم
چند تا تمرین برنامه نویسی که بیشتر برایه مبتدی ها و استفاده از آرایه هاست
بابا یه تشکر بذارین دیگه
هر چی داشتم خرجتون کردم:لبخند::لبخند::لبخند:

دانلود (http://amir-yeketaz.persiangig.com/other/C-YEKETAZ.pdf)

smahdi1991
دوشنبه 14 دی 1388, 12:19 عصر
سلام دوستان عزیز من بالاخره دوباره بازگشتم :لبخند:
از فردا انشالله با تمرین های خوب خوب میام خدمتتون تا حالشو ببرید
راستی اینم یه دست گرمی
برنامه ی 118 رو بنویسید (این برنامه شماره و اسم و ادرس رو میگیره و به کاربر با امکان سرچ و نمایش تحویل داده میشه)

joedolton
چهارشنبه 16 دی 1388, 17:43 عصر
با سلام من یه مشکل دارم و اون هم اینه که اگه یه دستور مثلscanf("%f",&a)l داشته باشیم و بلا فاصله دستور
gets(str)l رو scanf انجام میشه ولی gets انجام نمیشه؟

clover
پنج شنبه 17 دی 1388, 00:00 صبح
با سلام من یه مشکل دارم و اون هم اینه که اگه یه دستور مثلscanf("%f",&a)l داشته باشیم و بلا فاصله دستور
gets(str)l رو scanf انجام میشه ولی gets انجام نمیشه؟
این مشکل با cin و gets هم وجود داره، برای فهمیدن علت و رفع مشکل، این تاپیک ها را مطالعه کنید:

http://barnamenevis.org/forum/showthread.php?t=198001
http://barnamenevis.org/forum/showthread.php?t=176137

در ضمن به عنوان تاپیک توجه کنید، بهتر بود سوالتون را در تاپیک مرتبط یا جدید مطرح می کردید.
موفق باشید.

mabbaszadegan
دوشنبه 28 دی 1388, 00:50 صبح
چه تاپیک خوبی :لبخند:

خب اگه دوستان موافقید ، بریم به سمت برنامه های شی گرا و طراحی کلاس ؟
سرفصلها :
1. کلاس
2. توابع friend
3. overloading
4. inherience
5. polymorphism
6. encapsulation
و ......

اگه موافقید شروع کنیم ؟

smahdi1991
چهارشنبه 30 دی 1388, 17:39 عصر
ای :متعجب:بابا اول اون برنامه 118 رو بنویسید ببینم چی یاد گرفتید بعد بریم به بالا تر ها ok :لبخند:

بعد از اون میریم سراغ کتابخونه منم تا چند روز دیگه کتاب خ.نم که اولین پروژه من بود می ذارم اینجا تاببینید
:لبخندساده:
فعلا بای

mabbaszadegan
چهارشنبه 30 دی 1388, 20:07 عصر
اوکی ، من امتحانام تموم شه حتما مینویسمش ؛

یه پروژه انبار هم دارم مینویسم ، کامل شد میذارم اینجا تا همه استفاده کنند (سعی کردم تمام اصول شی گرایی رو توش رعایت کنم و حتی الامکان ساده نوشتم ، فک کنم واسه آموزش چیز خوبی باشه :چشمک:)

موفق باشید :قلب:

smahdi1991
شنبه 03 بهمن 1388, 20:00 عصر
خوبه منم موافقم
منم فکر میکنم که کتاب خونم برای آموزش خوب باشه ولی یه بخششو نمی ذارم اونم ماله فایلش وقتی که دیدین می تونید خودتون براش فایلو بنویسین تا یاد بگیرین :لبخند:
(لبته فقط لود کردن رو براتون برم دارم تا سخت نشه براتون.)

smahdi1991
شنبه 10 بهمن 1388, 12:14 عصر
سلام اینم از کتاب خونم که البته تصمیم گرفتم که همونی رو که کامل نیست و یه جاهایی رو باید تکمیل بشه رو قرار بدم البته سورسشم تصمیم گرفتم بزارم تا ببیندی من چطور نوشتم و تا خودتون هم بتونید با الگوریتمن هعای متفات برخی جا هاشو عوض کنین و البته بخش لود کر دنشو هنوز قرار ندادم
:
http://www.uplod.ir/download.php?file=617340
برید حتما دانلود کنید و الگوریتم خودتون هم مطرح کنید.

f@rid gh
چهارشنبه 21 بهمن 1388, 22:59 عصر
سلام به دوستان عزیز . من یه تازه وارد در بین شما دوستانم اما اگه مشکلی در مورد ++c دارین میتونید به farsicode@yahoo. یا www.farsicode.com دیدن فرمایید
(farsicode@yahoo.com)

may.em
شنبه 24 بهمن 1388, 03:06 صبح
اين تاپيک خيلی مفيده.:تشویق:
اما متاسفانه زياد فعال نيست!!!:ناراحت:

الان بايد 118 رو بنويسيم؟

elaheh.68
شنبه 30 مرداد 1389, 22:54 عصر
منم موافقم.فکر خوبیه.

maktoom
پنج شنبه 11 آذر 1389, 15:17 عصر
سلام
این تاپی رو مطالعه کردم... از همش جالبتر بنظرم اون کته دوتا space قبل از %C که کار رابندازه... منم یه برنامه می ذارم ببینم کسی متوجه نکتش میشه... برنامه درواقع بسیار آسون و فهمیدنش راحته.

int main()
{
int a=3;
printf("%d ",a);
printf("%d ",a++);
printf("%d ",a++);
printf("%d ",a++);
printf("%d ",a++);
printf("%d ",a++);

printf("\n %d\n %d\n %d\n %d\n %d \n",a++,a++,a++,a++,a++);

getch();
return 0;
}

به خروجیتون و ترتیبش دقت کنین:لبخند:

عزیز قاسمیان
سه شنبه 11 بهمن 1390, 10:47 صبح
سلام من چطور ابتدا شروع کنم

pe32_64
پنج شنبه 13 بهمن 1390, 17:26 عصر
برنامه ای بنویسید که دو عدد 30 رقمی را با هم جمع کند.

mehdijoooon
چهارشنبه 10 اسفند 1390, 00:06 صبح
سلام به همه
بچه ها ببخشيد اگه تكراريه و اگه مبتديه و اگه خسته كنندس ...
سه تا برنامه كوچيكه
به بزرگي خودتون ببخشيد حلشو ميخواستم

برنامه اي كه شعاع دايره را بخواند اختلاف مساحت آن را نسبت به مربع محصور كننده آن محاسبه و چاپ كند
2-برنامه اي كه عددي را بخواند و تعيين كند چند رقم دارد
3-برنامه اي كه دو عدد را بخواند و ميانگين حسابي و ميانگين هندسي آن را نمايش دهد.

maktoom
سه شنبه 30 خرداد 1391, 16:45 عصر
سلام
برنامه ای بنویسید که انواع اعداد صحیح، اعداد اعشاری و اعداد اعشاری به فرم نماد علمی را شناسایی کند. (هدف آشنایی با تحلیلگر لغوی یک کامپایلر است.)

maktoom
سه شنبه 30 خرداد 1391, 16:50 عصر
همچنین:

فصل ششم صفحه 271 مسئله 19 از کتاب ساختمان داده لیپ شوتز:
حل مسئله برج هاي هانوي را تغيير دهيد به طوري که به جاي دو صدا زدن بازگشتي فقط يک صدا زدن بازگشتي داشته باشيم.
مي توان محورهاي (ميله هاي) A و B را قرينه يکديگر فرض کرد. به اين صورت که گام هاي ذيل را انجام دهيم.

N-1 ديسک از A به B انتقال يابد و بعد داشته باشيم A↑C
تعویض A با B
N-2 ديسک از A به B انتقال يابد و بعد داشته باشيم B↑C
تعویض A با B
N-3 ديسک از A به B انتقال يابد و بعد داشته باشيم A↑C
تعویض A با B
N-4 ديسک از A به B انتقال يابد و بعد داشته باشيم B↑C
تعویض A با B

و به همين ترتيب. بنابراين ما مي توانيم يک صدا زدن بازگشتي را تکرار کرده و در هر بار BEG و AUX را جابجا نماييم و رويه ذيل با توجه به توضيحات فوق حاصل مي شود.
TOWER(N,BEG,AUX,END)
1.If N=0 then: RETURN
2.Call tower(k-1.beg,end,aux.)
4.Write: BEG -> END.
5.BEG with AUX
Set TEMP:=BEG:=AUX.AUX:=TEMP.
[End of step 2 loop.]
6.Return

مشاهده مي کنيد به جاي
N=1
از
N=0
بعنوان ملاک بازگشت استفاده کرده ايم. هر کدام از آنها مي توانند براي بدست آوردن جواب مورد استفاده قرار گيرند.

mojtaba5
سه شنبه 30 خرداد 1391, 20:35 عصر
سلام
یه سری سوالات کلیدی هست که برای درس پایانی ++c در دوره کاردانی استفاده میشه میخوام بدونم چه سوالاتی هستن.

StepUp
چهارشنبه 04 شهریور 1394, 16:18 عصر
#include <iostream>using namespace std;
main()
{
int x;
cout << "Type your Number : ";
cin >> x;
if(x%2==0)
{
cout << "zoj" <<endl;
}
else
cout <<"fard";
return 0;
}



برنامه تعیین اعداد زوج و فرد

StepUp
چهارشنبه 04 شهریور 1394, 18:19 عصر
سلام به همه
بچه ها ببخشيد اگه تكراريه و اگه مبتديه و اگه خسته كنندس ...
سه تا برنامه كوچيكه
به بزرگي خودتون ببخشيد حلشو ميخواستم

برنامه اي كه شعاع دايره را بخواند اختلاف مساحت آن را نسبت به مربع محصور كننده آن محاسبه و چاپ كند
2-برنامه اي كه عددي را بخواند و تعيين كند چند رقم دارد
3-برنامه اي كه دو عدد را بخواند و ميانگين حسابي و ميانگين هندسي آن را نمايش دهد.


در مورد برنامه دومتون اینو نوشتم :
#include<stdio.h>#include<conio.h>
using namespace std;
int sum(int n)
{
int s=0;
while(n!=0)
{
s=s+n%10;
n=n/10;
}
printf("sumation is %d",s);
}
int main()
{
clrscr();
int n;
printf("enter a number:");
scanf("%d",&n);
sum(n);
getch();
return 0;
}