لطفا ك م ك م كنيد در برنامه نويسي با c

در اين بخش مي‌توانيد در مباحث مربوط به زبانهاي بر پايه C به بحث بپردازيد

مدیران انجمن: athlon64x2, abbas.m.k, شوراي نظارت

Administrator
Administrator
نمایه کاربر
پست: 15674
تاریخ عضویت: جمعه 7 بهمن 1384, 7:51 pm
سپاس‌های ارسالی: 70844 بار
سپاس‌های دریافتی: 31298 بار
تماس:

پست توسط Mahdi1944 » شنبه 8 اردیبهشت 1386, 10:33 pm

f_love_s جان
ميتونيد از سايت Borland استفاده کنيد
البته نسخه مجاني اون تحت داس و فقط کامند لاين هست
اما نسخه 2006 هم براي دانلود وجود داره که حدود 180 MB هست
[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | مجله الکترونيکي سنترال کلابز

[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد

Captain
Captain
پست: 432
تاریخ عضویت: چهار شنبه 11 بهمن 1385, 8:03 pm
محل اقامت: www.centralclubs.com
سپاس‌های ارسالی: 9 بار
سپاس‌های دریافتی: 16 بار

پست توسط dewdrop » دو شنبه 31 اردیبهشت 1386, 10:37 pm

سلام . :D

دوستان...

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

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

من تازه رسیدم به اشاره گرها و نمیدونم برای نوشتن این برنامه به چه اطلاعات دیگه ای نیاز دارم.چون این یه پروژه هست و باید یه سری اطلاعات رو خودم برم دنبالش... :lol:

و میخوام یه مطلب دیگه که با این تاپیک هم بی ارتباط نیست خدمتتون عرض کنم ، من چند تا کتاب در رابطه با C مطالعه کردم چون هرکتابی یه بخشی رو خوب توضیح داده که کتاب های دیگه ممکن اون بخش رو خوب توضیح نداده باشند ولی از بین این کتابها ،کتاب مبانی برنامه نویسی به زبان C / تالیف :استفان کهن ، مترجم: سید محمد داوری یکی از بهترین هایی بود که دارم مطالعه میکنم و دلم نیومد که به شما معرفی نکنم.

Captain
Captain
پست: 432
تاریخ عضویت: چهار شنبه 11 بهمن 1385, 8:03 pm
محل اقامت: www.centralclubs.com
سپاس‌های ارسالی: 9 بار
سپاس‌های دریافتی: 16 بار

پست توسط dewdrop » سه شنبه 1 خرداد 1386, 9:12 pm

ممنون از راهنمايي هاتون :grin: :grin: :grin:


[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]

Novice Poster
Novice Poster
پست: 64
تاریخ عضویت: پنج شنبه 10 آبان 1386, 10:34 am
سپاس‌های ارسالی: 12 بار
سپاس‌های دریافتی: 4 بار

پست توسط Zahra1365 » یک شنبه 11 آذر 1386, 4:33 pm

با سلام
ببخشيد من چطور مي تونم بدون استفاده از Orو and برنامه زير رو بنويسم.
برنامه اي بنويسيد 4 عدد را از ورودي دريافت کرده حالات اين 4 عدد را نسبت به هم در خروجي چاپ نمايد1- هر4 عدد مساويند2- فقط سه عدد مساويند3-دو به دو مساويند4-فقط دو عدد مساويند5-هيچ کدام مساوي نيستند.
#include (stdio.h)
#include (conio.h)
Main( )
{
Int a,b,c,d :
Clrser( ):
Scanf(“%d %d %d %d”,&a.&b.&c,&d):
If((a==b)&&(b==c)&&(c==d)):
Printf(all number are equal”):
Else if (((a==b)&&(b==c)II(a==c)&&(c==d)II(a==b)&&(b==d)II(b==c)&&(c==d))):
Printf(“\n only 3 number are equal”):
Else if(((a==b)&&(c==d)II(a==c)&&(b==d)II(a==b)&&(b==c):
Printf(“\n 2-by-2 number are equal”):
Else if((a==b)II(a==c)II(a==d)II(b==c)II(b==d)II(c==d):
Printf(“\n only 2 number are equal”):
Else
Printf(“\n all number not equal togeder”):
Getch:
}

Administrator
Administrator
نمایه کاربر
پست: 15674
تاریخ عضویت: جمعه 7 بهمن 1384, 7:51 pm
سپاس‌های ارسالی: 70844 بار
سپاس‌های دریافتی: 31298 بار
تماس:

پست توسط Mahdi1944 » یک شنبه 11 آذر 1386, 11:24 pm

zahra angoran جان
منظورتون با استفاده از دستورات if هست؟
در اين صورت يک راه غير بهينه وجود داره، اون هم استفاده از if هاي متداخل که ميشه به جاي && يا | استفاده کرد
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | مجله الکترونيکي سنترال کلابز

[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد

Novice Poster
Novice Poster
پست: 64
تاریخ عضویت: پنج شنبه 10 آبان 1386, 10:34 am
سپاس‌های ارسالی: 12 بار
سپاس‌های دریافتی: 4 بار

پست توسط Zahra1365 » دو شنبه 12 آذر 1386, 7:48 am

سلام
چرا غير بهينه ؟ ميشه برام اجراش کنيد چون خودم نمي دونم چطوري بايد اجراش کنم. :razz:

Administrator
Administrator
نمایه کاربر
پست: 15674
تاریخ عضویت: جمعه 7 بهمن 1384, 7:51 pm
سپاس‌های ارسالی: 70844 بار
سپاس‌های دریافتی: 31298 بار
تماس:

پست توسط Mahdi1944 » دو شنبه 12 آذر 1386, 8:30 pm

zahra angoran جان
هر چه تعداد حلقه و خطوط بيشتر باشه نياز به منابع بيشتر داره و در نتيجه غير بهينه هست
شما براي and از if هاي متداخل بدون else استفاده کنيد و براي or از else و بدون تداخل if ها استفاده کنيد
بنده کامپايلر c در دسترس ندارم
اما چيزي شبيه اين ميشه

کد: انتخاب همه

 
#include (stdio.h)
#include (conio.h)
Main( )
{
Int a,b,c,d :
Clrser( ):
Scanf(“%d %d %d %d”,&a.&b.&c,&d):
If(a==b);
{
if(b==c);
if(c==d)):
Printf(all number are equal”):
}
Else if(a==b)
{
if(b==c)
Printf(“\n only 3 number are equal”);
}
else if(a==c)
{
if(c==d)
Printf(“\n only 3 number are equal”);
}
else
if(a==b)
{
if(b==d)
Printf(“\n only 3 number are equal”);
}
else if(b==c)
{
if(c==d)
Printf(“\n only 3 number are equal”);
}
Else if(a==b)
{
if(c==d)
Printf(“\n 2-by-2 number are equal”);
}
else if(a==c)
{
if(b==d)
Printf(“\n 2-by-2 number are equal”);
}
else if(a==b)
{
if(b==c)
Printf(“\n 2-by-2 number are equal”);
}
Else if(a==b)
Printf(“\n only 2 number are equal”);
else if(a==c)
Printf(“\n only 2 number are equal”);
else if(a==d)
Printf(“\n only 2 number are equal”);
else if(b==c)
Printf(“\n only 2 number are equal”);
else (b==d)
Printf(“\n only 2 number are equal”);
else if(c==d)
Printf(“\n only 2 number are equal”);
Else
Printf(“\n all number not equal togeder”);
Getch:
}

البته همونطور که عرض کردم امکان کامپايل ندارم و احتمالا خطاهاي syntax داشته باشه که خودتون اونها رو رفع کنيد (مثل جاهايي که نياز به سميکولون ممکنه داشته باشه و ....)
اما به طور کلي چنين ساختاري بايد ايجاد کنيد که کاملا مشخصه چقدر طولاني‌تر از قبلي هست و مسلما غير بهينه تر
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | مجله الکترونيکي سنترال کلابز

[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد

Novice Poster
Novice Poster
پست: 64
تاریخ عضویت: پنج شنبه 10 آبان 1386, 10:34 am
سپاس‌های ارسالی: 12 بار
سپاس‌های دریافتی: 4 بار

پست توسط Zahra1365 » پنج شنبه 15 آذر 1386, 9:25 pm

سلام أقا مهدي متشكرم كه كمكم كرديدز
أقا مهىي با كمال بررويي نمي دونم برنامه شكل زير رو جيجوري بنويسم خواهشا كمكم كنيد برا شنبه لازمش دارم

9 8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
7 6 5 4 3 2 1
6 5 4 3 2 1
5 4 3 2 1
4 3 2 1
3 2 1
2 1
1

Colonel I
Colonel I
پست: 643
تاریخ عضویت: سه شنبه 19 تیر 1386, 1:08 pm
سپاس‌های ارسالی: 300 بار
سپاس‌های دریافتی: 1161 بار

پست توسط Frogfoot » جمعه 16 آذر 1386, 2:40 am

برنامه شكل زير رو جيجوري بنويسم خواهشا كمكم كنيد برا شنبه لازمش دارم

برای پروژه های دانشجویی مثل این بهتره که براتون کد نوشته نشه، بلکه راه حل مسئله کمی توضیح داده بشه که خودتون یاد بگیرید تا بعد از فارغ التحصیلی قدرت تجزیه و تحلیل مسائل را داشته باشید.

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

از دو تا حلقه بصورت تو در تو استفاده کنید.
حلقه بیرونی باید به تعداد ارقام (در اینجا 9 رقم داریم) از آخر به اول تکرار بشه .
برای حلقه داخلی از یک شمارنده استفاده کنید که مقدار حداکثر آن برابر با مقدار کنونی حلقه بیرونی باشد.
به ازاء هر تکرار حلقه خارجی، حلقه داخلی باید یک دور تکرار شود (از اول تا آخر).
در حین تکرار حلقه داخلی باید مقادیر شمارنده آن چاپ شود.
به ازاء هر تکرار حلقه خارجی، یک کارکتر برگشت چاپ شود تا کرسر بر روی خط جدید قرار بگیرد.

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

Novice Poster
Novice Poster
پست: 64
تاریخ عضویت: پنج شنبه 10 آبان 1386, 10:34 am
سپاس‌های ارسالی: 12 بار
سپاس‌های دریافتی: 4 بار

پست توسط Zahra1365 » جمعه 16 آذر 1386, 4:32 pm

سلام Frogfoot جان
شما درست مي فرمايين ولي تو نكاتي كه كفتين تا به حال برنامه اي رو ننوشتم كه از شمارنده استفاده كرده باشم يعني بلد نيستم و نمي دونم كاركتر بركشت رو جيجوري بنويسم

Captain
Captain
پست: 432
تاریخ عضویت: چهار شنبه 11 بهمن 1385, 8:03 pm
محل اقامت: www.centralclubs.com
سپاس‌های ارسالی: 9 بار
سپاس‌های دریافتی: 16 بار

پست توسط dewdrop » جمعه 16 آذر 1386, 11:15 pm

با اجازه دوست عزیز Frogfoot

zahra angoran جان

تو این تیکه برنامه که گذاشتم i,j ،حکم شمارنده رو دارند و ("\n") حکم کاراکتر برگشت .شما با این دستور در c++ به خط بعدی میروید . و معمولا از شمارنده برای شمارش استفاده می کنند که زمانی که از حلقه های تو در تو استفاده میکنیم ،حلقه بیرونی تعداد سطرها و حلقه درونی تعداد ستون .


امیدوارم مشکل شما حل شده باشه ، البته برنامه یه کوچولو مشکل داره ، اونم تو خروجی :-o که حل اون به عهده شما. :-)

اگر تو تحلیل این برنامه به مشکلی برخوردید (البته به جز اون مشکله ) بفرمایید تا بیشتر توضیح بدم. :-)


کد: انتخاب همه

#include<stdio.h>
 main()
 {
 int i,j;
 for (i=9;i>=1;i--)
   {
  printf("\n");
  for(j=1;j<=i;j++)
  printf("%d",j);
  }
  return 0;
  }

Novice Poster
Novice Poster
پست: 64
تاریخ عضویت: پنج شنبه 10 آبان 1386, 10:34 am
سپاس‌های ارسالی: 12 بار
سپاس‌های دریافتی: 4 بار

پست توسط Zahra1365 » سه شنبه 30 بهمن 1386, 11:00 am

با سلام
با عرض خسته نباشيد به حضور دوستان عزيز
ببخشيد کسي ميتونه براي من برنامه مبدل تاريخ ( شمسي به ميلادي و برعکس ) رو برام بنويسه ( بدون استراکت)

ارسال پست

بازگشت به “C Base Programming”