آموزش زبان ++C و #C

  • Thread starter Thread starter alprh
  • تاریخ آغاز تاریخ آغاز
در مورد سوال اول هم خب خيلي راحته شما 3 عدد رو از ورودي ميگيري تك تك با هم مقايسه ميكني يعني ميگي اگر عدد اول از عدد دوم بزرگتر بود اونو با عدد سوم مقايسه كن اگر نبود عدد دوم رو با عدد سوم مقايسه ميكني و درنهايت وقتي يه دونه به عنوان مكس انتخاب شد 2 تا عدد ديگه رو با هم مقايسه كن اگر مثلا A بزرگترين عدد بود بايد در نهايت B با C مقايسه بشه تا عدد كوچكتر هم مشخص بشه البته راههاي زيادي هست كه بشه هر مساله رو حل كرد من يكي از راههاشو گفتم نميدنم اگه مشكلي تو نوشتن برنامه داري بگو تا برات بنويسم اگر تو راه حل مونده بودي كه فعلا اين راه رو امتحان كن ببين به نتيجه ميرسي يا نه
من سه تا عددو از ورودی می گیرم . میگم اگه A>B باشه و اگه A>C باشه چاپ کنه A مکسه .
به همین ترتیب برای B , C که نتیجه نمی دونم چرا چاپ میی کنه هر سه تا مکسند .
اگه برات ممکنه این برنامه رو فقط از قسمت شرطیش بنویس . خیلی ممنونت میشم . راستی در مورد سوال سوم نظری نداری ؟ دقت داشته باشین ا همش یک جلسه C یاد گرفتیم حالا استاد همچین تکلیف هایی میده !
اول از استادت بپرس بايد از چه كامپايلري استفاده كني؟!! چون الان دقيق يادم نيست ولي فكر كنم بورلند هم محيطي شبيه ايني كه شما ميگي داشت البته ميگم درست يادم نيست
طرف میگه واسه من فرقی نمی کنه توی چی می نویسید . من آخر کار ازتون سورس و EXE رو میخوام و باید بتونی سورستو توضیح بدی . منم چون محیط این Torbo C خسته کننده است به فکر یه چیز جدید هستم .
خودش یه برنامه ای استفاده می کنه که اسمشو نمی دونم تو مایه های د.....و C . اگه کمکم کنیدممنون میشم .
 
در مورد این برنامه نمایش max خیلی سادس:
Code:
   if(x>=y)
   {
          if(x>z)
          {
             printf("\nthe max number is:%d", x);
          }
          else
          {
             printf("\nthe max number is:%d", z);
          }
   }
   else
   {
          if(y>z)
          {
             printf("\nthe max number is:%d", y);
          }
          else
          {
             printf("\nthe max number is:%d", z);
          }
   }
این فقط قسمت شرطی برنامه هست! البته من متوجه نشدم استادتون min رو هم می خواد یا فقط max رو؟

----------------------------------------------
شما به محیط این برنامه ها زیاد کار نداشته باش چون همشون تقریبا یه شکل هستن و ساده. اونی که استادتون استفاده می کرده حتما رنگ و آبشو تغییر داده چون اگه بخواد محیط گرافیکی داشته باشه می شه visual که هیچ وقت نمیان اول کار visual درس بدن.
همه اول کار از Turbo C یا Borland C استفاده می کنند.
 
آقا دستت درد نکنه تازه گرفتم . میگم وجود این } ها اجباریه ؟ استاد min رو هم میخواد . همین جوریه دیگه ؟
سعی می کنم Min رو خودم بنویسم . میگم شما نظری در مورد سوال سوم نداری ؟
چطور میشه یه عدد 4 رقمی رو گرفت و چهار رقمشو جدا جدا نمایش داد ؟!!!
----------------
شما به محیط این برنامه ها زیاد کار نداشته باش چون همشون تقریبا یه شکل هستن و ساده. اونی که استادتون استفاده می کرده حتما رنگ و آبشو تغییر داده چون اگه بخواد محیط گرافیکی داشته باشه می شه visual که هیچ وقت نمیان اول کار visual درس بدن.
همه اول کار از Turbo C یا Borland C استفاده می کنند.
چرا واسه من محیط خیلی مهمه . اصلا میرم توی این Torbo C بعد از 20 دقیقه چشام میخواد بزنه بیرون .
ویژال هم نبود . یه اسم دیگه داشت . هیچ برنامه دیگه ای نیست . راستی مگه توی ویژال میشه با C هم نوشت ؟
 
آقا دستت درد نکنه تازه گرفتم . میگم وجود این } ها اجباریه ؟ استاد min رو هم میخواد . همین جوریه دیگه ؟
سعی می کنم Min رو خودم بنویسم . میگم شما نظری در مورد سوال سوم نداری ؟
چطور میشه یه عدد 4 رقمی رو گرفت و چهار رقمشو جدا جدا نمایش داد ؟!!!
----------------

چرا واسه من محیط خیلی مهمه . اصلا میرم توی این Torbo C بعد از 20 دقیقه چشام میخواد بزنه بیرون .
ویژال هم نبود . یه اسم دیگه داشت . هیچ برنامه دیگه ای نیست . راستی مگه توی ویژال میشه با C هم نوشت ؟
برنامه ويژوال زياده . نمونه خوبش كه مجاني هم هستش : [SIZE=-1]www.bloodshed.net/devcpp.html
++++++++++++++++++++
يه پيشنهاد برات دارم . يك كمي به رياضيات دبيرستان بويژه بخش رياضيات گسسته يه سري بزن .
+++++++++++++++++
درباره اون شماره 4 رقمي هم اينجوريه :
براي پيدا كردن يكانش بايد عدد رو به پيمانه 10 بگيري ( رياضي گسسته كه يادت هست ؟ عدد به پيمانه
10 يعني اينكه باقيمانده عدد زماني كه اون رو بخش بر 10 ميكنيم كه ميدونيم يكان اون عدد هستش )
براي دهگان و صدگان هم بايد عدد رو به 100 و 1000 بخش كني .
++++++++++++++
درباره نمايش دادن جدا جداي عدد ها خودت يك كم فكر كن

+++++++++++++++
درباره ‍‍ { , } اينكه : زماني كه شما بخواي چند دستور با هم انجام بشه بايد درون اين اكلاد بذاري
يه نمونه برات ميذارم خودت كامپايلش كن ميفهمي چي ميشه
[/SIZE]
if ( a>b)
}
a=10;
b=20
}

اين يكي رو دقت كن :
if (a>b)
a=10;
b=20;
 
واقعا از همتون ممنونم به خاطر راهنماییاتون .
در مورد اون سواله هم فکر کردم سوال این بود که چطوری میشه یک عدد 4 رقمی گرقت و رقم هاشو جدا جدا نشون داد .
باید 4 بار به 10 تقسم بشه یا یه بار به 10 یه بار به 100 یه بار به 1000 ..
مشکل من این جاست که چطوری برامه به جای خارج قسمت ، باقی مانده رو نشون بده ؟!
من فقط دستور تقسیم و if و else رو میشناسم . اگه میشه کمکم کنید . ممنون .
 
آره زیانم خوبه . من کلی نت رو گشتم ولی از بس زیاد بود نمی دونستم کدوم رو دانلود کنم .
من تکلیف دارم برای پنجشنبه . اگه بتونی یه راهنمایی بکنید ممنونت میشم .
فقط با راهنمایی های شما و دوستان تونستم مشکلم رو با maxو min حل کنم !!!
 
يارو داره c ياد ميده يا c++ ؟ كتابهايي كه فرنام complete reference رو دارن دانلود كن
c the complete reference
c++ the complete reference
تو بيشترشون چيزهايي مشترك رو اموزش داده . اون برنامه نمايش دادن تك به تك شماره ها رو مينويسم شب برات ميذارم
 
واقعا از همتون ممنونم به خاطر راهنماییاتون .
در مورد اون سواله هم فکر کردم سوال این بود که چطوری میشه یک عدد 4 رقمی گرقت و رقم هاشو جدا جدا نشون داد .
باید 4 بار به 10 تقسم بشه یا یه بار به 10 یه بار به 100 یه بار به 1000 ..
مشکل من این جاست که چطوری برامه به جای خارج قسمت ، باقی مانده رو نشون بده ؟!
من فقط دستور تقسیم و if و else رو میشناسم . اگه میشه کمکم کنید . ممنون .

در مورد باقيمانده و خارج قسمت هم اگر نميدوني بايد بگم كه براي بدست اوردن باقيمانده از اين علامت ميكني %
و براي خارج قسمت از اين علامت /
مثال: A=10 B=5
A/B = 2
A%B = 0
كامل مشخصه تو تقسيم بالا يعني 10 تقسيم بر 5 خارج قسمت 2 هست و باقيمانده هم صفر
 
سلام بازم من اومدم . دوباره یه مشکل برام پیش اومده بالاجبار گفتم مزاحم شماها شم !!:biggrin1:
این متن یه برنامه ایه که با سی نوشتم ولی موقع کامپایل کردن ارور میده !! میشه بگید اشکالش کجاست ؟
#include <stdio.h>
int main();
{
int x,n,,m,z;
m=1 ;
printf("lotfan adade ra vared konid");
scanf("%d",&x);
printf("lotfan tavan ra vared konid");
scanf("%d",&n);
while(n=m){
x=x.x ;
m=m+1 ;
}
printf("%d",%x);
printf("lotfan baraye khorooj kelidi ra feshar dahid");
scanf("%d",&z);
return 0
}
اگه میشه سریع کمکم کنید تا این استاد کلمو نکنده !!!
 
سلام بازم من اومدم . دوباره یه مشکل برام پیش اومده بالاجبار گفتم مزاحم شماها شم !!:biggrin1:
این متن یه برنامه ایه که با سی نوشتم ولی موقع کامپایل کردن ارور میده !! میشه بگید اشکالش کجاست ؟
#include <stdio.h>
int main();
{
int x,n,,m,z;
m=1 ;
printf("lotfan adade ra vared konid");
scanf("%d",&x);
printf("lotfan tavan ra vared konid");
scanf("%d",&n);
while(n=m){
x=x.x ;
m=m+1 ;
}
printf("%d",%x);
printf("lotfan baraye khorooj kelidi ra feshar dahid");
scanf("%d",&z);
return 0
}
اگه میشه سریع کمکم کنید تا این استاد کلمو نکنده !!!


while (n==m).. :D
این یکی از شایع ترین اشتباه ها است .. شما میخواهید شرط رو چک کنید پس باید از == استفاده کنید .. به اون صورتی که شما نوشته اید محتوای m را در n میریزد و شرط هم همیشه برقرار است .. پس while همیشه اجرا میشود.

x = x.x : فکر کنم منظور شما این بوده x = x*x .
البته اگر میخواهید عدد x را به توان برسانید این اشتباه است .. زیرا در هر بار اجرای حلقه مقدار x عوض میشود و در اجرای بعدی شما x حاصل از حلقه قبل را در خودش ضرب میکنید.
فکر کنم متغیر z را میخواستید به همین منظور استفاده کنید.
قبل از حلقه z=x . مقدار اولیه x را در z ذخیره کنید . سپس x = x* z .
پس اینجوری میشه

....
z=x;
while (n==m) {
x = x*z;
m = m +1;
{
printf ..

بجای خط m=m+1; میتوانید از m++; یا m+=1; هم استفاده کنید .. البته دقیقا یادم نیست که این syntax ها مربوط به C بودند یا Cpp .
 
تیرکس جان دستت درد نکنه که جواب دادی . من قبل از اینکه یه جوابتو بخونم یکم اصلاحش کرده بودم . الان
برنامه اجرا میشه ولی هرچی بهش می دم فقط عدد 2293308 رو بهم جواب میده . ممنون میشم اگه کمکم کنی .
#include <stdio.h>
int main()
{
int x,n,m=1,y=1, ;
printf("lotfan adade ra vared konid :");
scanf("%d",&x);
printf("lotfan tavan ra vared konid :");
scanf("%d",&n);
while(m==n){
y=y*x ;
m=m+1 ;
}
printf("%d ^ %d = %d ",x,n,y);

printf(":\nlotfan baraye khorooj kelidi ra feshar dahid :");
scanf("%d");
return 0 ;
}
 
#include <stdio.h>
int main()
{
int x,n,m=0,y=1, ;
printf("lotfan adade ra vared konid :");
scanf("%d",&x);
printf("lotfan tavan ra vared konid :");
scanf("%d",&n);
while(m!=n){
y=y*x ;
m=m+1 ;
}
printf("%d ^ %d = %d ",x,n,y);

printf(":\nlotfan baraye khorooj kelidi ra feshar dahid :");
scanf("%d");
return 0 ;
----------------
حق با شماست .. یک جا من اشتباه کرده بودم .. برای چک کردن شرط while باید بگذارید.
while (m!=n) :D یعنی تا وقتی که m , n برابر نشده اند حلقه اجرا بشه .. انقدر یاد اون اشتباه معمول بودم که همه چیز رو فراموش کردم.

برای شروع حلقه هم m رو از صفر شروع کنید .
این که میگید همش یک عدد میده که خوب به دلیل اون اشتباه من بود .. ببخشید .. به این دلیل نیست که عدد های بزرگ برای امتحان میدید؟ شاید overflow میده .
سورس اون بالا رو درست کردم و امتحان کردم .. جواب میده . اگه میخواهید اعداد بزرگ امتحان کنید .. y رو از نوع دیگه انتخاب کنید .. مثلا float یا double .
 
نمی دونم مشکلش چیه !! حتی سورسی آخری رو که شما نوشتید رو کپی پیست کردم باز هم کار نمیده جواب رو فقط 2293308 می نویسه . حتی 2 به توان 2 رو هم امتحان کردم!!
مطمئنی سورس بالا درست روی دستگاهت کار میده ؟
اگه بشی سورس خودتو برای دانلود بزاری ممنونت میشم . ممکنه اشکال از دستگاهم باشه !
 
نمی دونم مشکلش چیه !! حتی سورسی آخری رو که شما نوشتید رو کپی پیست کردم باز هم کار نمیده جواب رو فقط 2293308 می نویسه . حتی 2 به توان 2 رو هم امتحان کردم!!
مطمئنی سورس بالا درست روی دستگاهت کار میده ؟
اگه بشی سورس خودتو برای دانلود بزاری ممنونت میشم . ممکنه اشکال از دستگاهم باشه !

والا این برای من داره درست کار میکنه فقط روی اعداد بالا Overflow میده .. یک نکته ای که هست اینه که شما داری یک ]integer رو برای جواب نمایش میدی .. اون نمیتونه عددی بزرگتر از 32500 و خورده ای رو نشون بده. پس اون 2293308 چیه.

#include <stdio.h>
#include <math.h>

int main()
{
int x,n,m=0 ;
double y=1;
printf("lotfan adade ra vared konid :");
scanf("%d",&x);
printf("lotfan tavan ra vared konid :");
scanf("%d",&n);

while(m!=n){
y=y*x ;
m=m+1 ;
}

printf("%d ^ %d = %e \n",x,n,y);
printf("%e",pow(x,n));

printf(":\nlotfan baraye khorooj kelidi ra feshar dahid :");
scanf("%d");
return 0 ;
}

در هر حال .. من اون y رو double کردم که برای اعداد بالا جواب بده.
برای اینکه مطمئن هم بشیم که جواب درسته .. اون خط pow(x,n) هم از تابع توان استفاده میکنه که جواب رو چک کنه .. سورس و exe رو هم براتون پیوست کردم .. که اجرا کنید.
54024vn.jpg
 

Attachments

کاربرانی که این گفتگو را مشاهده می‌کنند

تبلیغات متنی

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