سلام
خیلی از کسانی که C رو تازه شروع کردند سوالات زیادی براشون پیش میاد
این تاپیک رو راه انداختم تا از اساتید دعوت کنم به این تاپیک بیان و به سوالات ما مبتدی ها پاسخ بده ند. تا همه با کمک هم بتونیم پیشرفت کنیم
Printable View
سلام
خیلی از کسانی که C رو تازه شروع کردند سوالات زیادی براشون پیش میاد
این تاپیک رو راه انداختم تا از اساتید دعوت کنم به این تاپیک بیان و به سوالات ما مبتدی ها پاسخ بده ند. تا همه با کمک هم بتونیم پیشرفت کنیم
اولین سوال رو خودم شروع می کنم اگه لطف کنید جواب بدید ممنون می شم.
#include <stdio.h>امن نمی فهمم چرا تو خط 5 ، 3 تا % داریم؟
int main()
{
int x=15, y=20;
printf("\nx=%%%d\ty=%%%d", x, y);
return 0;
}
اگه بخوای توی printf , خود ِ علامت % رو چاپ کنی باید 2 تا % بگذاری.درصد سوم هم اینجا نقش اصلیش رو بازی میکنه. در واقع این کد 15% و 20% رو چاپ میکنه.
یعنی بیرون از اینجا نمیشه در باره c,c++ سوال کرد تا ما اساتید جواب بدیم.:31:
شما هم واسه افتتاحیه یه سوال آب دوغ خیاری گذاشتی که بنیانگذار باشی.
گمونم تاپیک تمامی مباحث مربوط به c++ واسه همینه.
ببخشید:6:
سلام
من در c++ اومدم و دو تا آرايه دو بعدي به صورت زير تعريف کردم:
int ** A;
int ** B;
و اونها رو به صورت دو تا آرايه دو بعدي 4*4 مقداردهي کردم به اين صورت:
A[0][0]=4;
A[0][1]=1;
A[0][2]=2;
A[0][3]=0;
A[1][0]=1;
A[1][1]=1;
A[1][2]=0;
A[1][3]=1;
A[2][0]=0;
A[2][1]=1;
A[2][2]=0;
A[2][3]=2;
A[3][0]=0;
A[3][1]=0;
A[3][2]=2;
A[3][3]=3;
//
B[0][0]=2;
B[0][1]=2;
B[0][2]=2;
B[0][3]=0;
B[1][0]=0;
B[1][1]=0;
B[1][2]=1;
B[1][3]=1;
B[2][0]=1;
B[2][1]=1;
B[2][2]=0;
B[2][3]=0;
B[3][0]=0;
B[3][1]=0;
B[3][2]=1;
B[3][3]=3;
//
چيزي که غير معقول به نظر ميآد اينه که وقتي درايه ها رو نشون مي دم همه درايه ها درست مثل مقدار دهي من هستند به جز درايه هاي سطر سوم از A که دقيقا مثل درايه هاي سطر سوم B ميشن!
براي اينکه بهتر بفهمين فايل سورسشو مي ذارم اينجا
سلام
من در c++ اومدم و دو تا آرايه دو بعدي به صورت زير تعريف کردم:
int ** A;
int ** B;
و اونها رو به صورت دو تا آرايه دو بعدي 4*4 مقداردهي کردم به اين صورت:
A[0][0]=4;
A[0][1]=1;
A[0][2]=2;
A[0][3]=0;
A[1][0]=1;
A[1][1]=1;
A[1][2]=0;
A[1][3]=1;
A[2][0]=0;
A[2][1]=1;
A[2][2]=0;
A[2][3]=2;
A[3][0]=0;
A[3][1]=0;
A[3][2]=2;
A[3][3]=3;
//
B[0][0]=2;
B[0][1]=2;
B[0][2]=2;
B[0][3]=0;
B[1][0]=0;
B[1][1]=0;
B[1][2]=1;
B[1][3]=1;
B[2][0]=1;
B[2][1]=1;
B[2][2]=0;
B[2][3]=0;
B[3][0]=0;
B[3][1]=0;
B[3][2]=1;
B[3][3]=3;
//
چيزي که غير معقول به نظر ميآد اينه که وقتي با دستورات زير درايه ها رو نشون مي دم همه درايه ها درست مثل مقدار دهي من هستند به جز درايه هاي سطر سوم از A که دقيقا مثل درايه هاي سطر سوم B ميشن!
براي اينکه بهتر بفهمين فايل سورسشو مي ذارم اينجا
ممنون از همه عزيزانکد:http://mojmos.persiangig.com/other/amazingMatrix.cpp
شما توی کد:
دو تا Pointer به Pointer به عدد صحیح درست کردین که میتونه در شرایطی نقش ماتریس رو بازی کنه ولی اینجا اصلا حافظه ای به متغیر هاتون برای یک ماتریس اختصاص ندادین و اصلا تعداد سطر و ستون ماتریس هم مشخص نیست!اگه تعداد سطر و ستون ماتریس زمان کامپایل مشخص هست میتونین از کد زیر واسه تعریف 2 تا ماتریس 4 در 4 استفاده کنین:کد:int **A;
int **B;
که عدد ها اینجا باید مقدار ثابت باشن نه متغیر.کد:int A[4][4];
int B[4][4];
و اگه تعداد سطر و ستون ها زمان اجرا مشخص میشه(مثلا بوسیله کاربر) باید از new استفاده کنین تا اونقدر که نیاز هست حافظه برای ماتریس اختصاص بدین.
ای بابا بازم تاپیک مضخرف
متاسفانه این قسمت از مدیریت ضعیفی برخورداره
دوستان عزیز تاپیکهایی که می گن بیاید همه سوالها رو اینجا بپرسید یا ...... خلاف قوانین هستند و کلا نظم این بخش و یهم ریختن
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
نقل قول:
مرسی به شما
می شه بیشتر در مورد عملگر new تو ضیح بدین و مثال سورس سی پلاس پلاس بذارید؟ لطفاً
ببخشید که سوالم آب دو خیاری بود خب من تازه شروع کردم این هم اولین سوالم بود حالا هم بقیه هستند سوال های بهتر بپرسند هم من می پرسم. حالا شما اگه ناراحت نمی شی به سوال دیگران جواب بدهنقل قول:
به نظرم اگه همه سوال ها یک جا جمع بشه بهتره
اگه شما احساس می کنی مضخرف هست به مدیر بگو حذفش کنه. به نظر من خیلی هم مفیده. خیلی از اونهایی که تازه شروع می کنن مثل من دنبال یه همچین جایی هستندنقل قول:
عملگر new در زمان اجرا به مقدار مورد نیاز حافظه از heap اختصاص میده و آدرس شروع اون رو برمیگردونه. مثلا برای گرفتن فضا برای یک integer (کار عاقلانه ای نیست فقط برای توضیح میگم) :نقل قول:
که البته بعد از اینکه کارمون با اون فضا تموم شد باید حتما memory اختصاص یافته رو با عملگر delete آزاد کنیم.کد:int *pInteger;
pInteger = new int;
//
//
//
delete pInteger;
واسه گرفتن فضا برای یه آرایه n تایی :
واسه گرفتن فضا برای یک ماتریس(آرایه دو بعدی) میشه از یک new استفاده کرد ولی باید تعداد ستون ثابت باشه:کد:int *pIntegers;
int n = 6;
pIntegers = new int[n];
//
//
//
delete[] pIntegers;
البته میشه از چند new هم در حالتی که ستون ثابت نیست استفاده کرد.کد:int (*pIntegers)[10];
int n = 4;
pIntegers = new int[n][10];
//
//
//
delete[] pIntegers;
خیلی ممنون m3hrz4d جان که به سوالات، خیلی عالی و قشنگ جواب می دی
*نماد علمی که با %e, %E, %g نشون میدن چیه؟ چه کاربردی داره؟
* || (یا) با ^ (یای انحصاری) چه فرقی داره؟
سلام
من برنامه نویسی با c رو تازه شروع کردم قبلا با vb کار می کردم به خاطر همین الان تو دستور نویسی خیلی مشکل دارم یه برنامه نوشتم که مشکلات زیادی داره لطفا اشکالات برنامه ی من رو بگید چون هر کاری می کنم درست نمی شه:
برنامه این است که سه عدد از ورودی می گیره و اعلام می کنه که آیا این سه عدد اضلاع مثلث می توانند باشند یا نه اگر بله چه نوع مثلثی.
#include <stdio.h>
void main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
if (c >= (a + b)) || (b >= (c + a)) || (a >= (b + c))
{
printf( "Mosallas Nist");
GoTo 0;
}
if a = c And b = c;
{
printf( "M.azla");
GoTo 0;
}
if (a = b) || (b = c) || (a = c);
{
If (c ^ 2 = b ^ 2 + a ^ 2) || (b ^ 2 = c ^ 2 + a ^ 2) || (a ^ 2 = b ^ 2 + c ^ 2);
printf( "M.saghein ghaemozavieh");
Else
printf( "M.saghein");
GoTo 0;
}
if (c ^ 2 = b ^ 2 + a ^ 2) || (b ^ 2 = c ^ 2 + a ^ 2) || (a ^ 2 = b ^ 2 + c ^ 2);
{
printf("Ghaemozavieh");
GoTo 0;
}
printf( "Mokhtalefolazla");
0
}
وظیفس :31:نقل قول:
*در مورد نماد علمی..مثلا فرض کن توی کدی که داری مینویسی بجای میخوای یه عدد رو در 10 بتوان 1 ضرب کنی!
خوب میتونی یه 1 و 1 تا صفر بگذاری که کار جالبی نیست میتونی بجاش از نماد علمی استفاده کنی(1E10)
کاربر نماد علمی توی سی مثل کاربردش توی خارج از محیط برنامه نویسی ِ! یعنی واسه راحت تر نوشتن اعداد.
*کلا بخوای حساب کنی یای انحصاری یعنی اینکه اگه 2 تا گزاره مثل A و B داشته باشی میدونی که" A یا B " زمانی درسته که حداقل یکی از ایندو درست باشه یعنی یا A درست باشه یا B درست باشه یا هم A درست باشه هم B.ولی وقتی یای انصاری در نظر بگیری فقط زمانی درسته که" یا A درست باشه یا B " و اگه هم A و هم B درست باشه دیگه گزاره حاصل درست نیست.
ولی توی C ما دو جور ازین گزاره ها داریم. یک سری Logical (منطقی) و یک سری Bitwise (بیتی).
Logical ها کل دو عبارت رو با هم مقایسه میکنن که && و || هستن و نتیجه درست یا غلط برمیگردونن ولی
Bitwise ها دو مقدار رو بیت به بیت با هم مقایسه میکنن و نتیجه مقایسه رو برمیگردونن که | & و ^ هستن.
یعنی این ^ ی که میبینی توی C فقط Bitwise ش هست و منطقی ش(یه چیزی مثل ^^) نیست و نمیشه ^ رو با || مقایسه کرد چون اصلا از یه نوع نیستن.
اشکالات خیلی زیاده مثلا اینکه ^ که توی ویبی توان بود دیگه توی C عملگر توان نیست و باید از تابعpow استفاده کنی.نقل قول:
برای انتساب باید از == بجای = استفاده کنی. عملگر = بر خلاف وبی حتی توی if , مقدار سمت چپ رو توی سمت راستی قرار میده و نتیجه رو برمیگردونه.بجای And باید از عملگر && استفاده کنه ضمن اینکه برای if پرانتز اجباریه برخلاف ویبی.آخر شرط if نباید ; بگذاری.goto رو باید با حروف کوچیک بنویسی و...
بهتر اول یه کتاب در مورد مقدمات C بخونی تا راحتتر کار کنی.
سلام دوستان.من می خواستم 1- برنامه بنوسید که یک آرایه 100 تایی با مقادیر تصادفی پر کند و واریانس را بدست بیاورد و خانه های فرد آرایه را صفر کند.
2- برنامه بنویسید که یک آرایه با n عنصر تعریف نمایید و عنصر هفتم آنرا حذف کند؟
3- دستور درج کردن در آرایه چی می باشد؟
اگه زحمتی نیست میشه به این برنامه من الگوریتم مرتب کردن اضافه کنید.چون برنامه جست و جوی باینری باید قبلش آرایه مرتب شده باشه من خودم اضافه کردم ولی برنامه ایراد داشت.
#include<stdio.h>
#include<conio.h>
#define max_size 5
int bin_search(int[] ,int);
void main(){
int f,i,n,arr[max_size];
clrscr();
for (i=0;i<max_size;i++)
scanf("%d",arr[i]);
printf("Enter a number to search:");
scanf("%d",n);
f=bin_search(arr,n);
if (f<-1)
printf("Your number is%d",f+1);
else
printf("your number was not found");
getch();
}
int bin_search(int a[],int k)
{
int b,m,e;
b=0;
e=max_size;
while (b<=e){
m=(b+e)/2;
if (k==a[m])
return m;
else if (k<a[m])
e=m-1;
else
b=m+1;
}
return -1;
}
از راهنماییت ممنون خودم هم می دونم از c هیچ سر در نمی یارم و باید هر آنچه رو که از vb بلدم بریزم دور تا بتونم باهاش کار کنم اما وقتی مثل من وقت نداشته باشی مجبوری که این جوری برنامه بنویسی.نقل قول:
از مواردی که گفتی همه رو درست کردم اما دو تاش رفع نشد:
1 این دستور:
if (c >= a + b) || (b >= c + a) || (a >= b + c)
2 همون قضیه توان که این جا باید از تابع استفاده کنم اگر راجع بهش توضیح بدی ممنون می شم اگر include خاصی هم باید اضافه کنم بگو.
همیشه توی C باید 2 پرانتر دور کل شرط باشن یعنی باید اینطوری بنویسی:نقل قول:
واسه توان هم اول math.h رو include کن بعد بجای a ^ b باید بگذاری :کد:if ( (c >= a + b) || (b >= c + a) || (a >= b + c) )
{
..
..
}
کد:pow(a, b)
ممنون که به سوالات ابتدایی من جواب می دی اما برای این که این برنامه کار کنه آخرین جاییش که می لنگه دستور goto شه.
این برنامه بعد از کلی تغییر به این جا رسیده اما دستور goto شو نمی دونم چه طوری باید اصلاح کنم:
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
if ((c >= a + b) || (b >= c + a) || (a >= b + c))
{
printf( "Mosallas Nist");
goto 0;
}
if ((a == c) && (b == c))
{
printf( "M.azla");
goto 0;
}
if ((a == b) || (b == c) || (a == c))
{
printf( "M.saghein");
goto 0;
}
if ((pow(c,2) == pow(b,2) + pow(a,2)) || (pow(b,2) == pow(c,2) + pow(a,2)) || (pow(a,2) == pow(b,2) + pow(c,2)))
{
printf("Ghaemozavieh");
goto 0;
}
printf( "Mokhtalefolazla");
0;
}
توی این کدت Label ی که goto بهش پرش میکنه 0 هست واسه همین error میده.اسم Label مثل اسم متغیر نباید با عدد شروع بشه.مثلا میتونی بگذاری 0_ ضمن اینکه برای تعریف Label نباید بعد اسمش ; بگذاری باید : بگذاری.یه چیز دیگه اینکه باید بعد از Label حداقل یه دستور باشه و مثلا نمیتونه آخر function بیاد.
میتوی یه ;NULL بگذاری بعدش یا حالا که آخر function هست یه ;return بعد از تعریف Label بگذاری.
و یا اصلا مجبور نیستی توی این کد از goto استفاده کنی تا به آخر function بری.میتونی بجای هر goto یه ;return بگذاری تا مستقیما از function خارج بشی و برنامه به آخر برسه.
با عرض خسته نباشید و تشکر فراوان مجدد به m3hrz4d جان که یک تنه به همه سوالات جوب می دن واقعا خسته نباشید.
من یه برنامه می خواستم که اولین روز ماه رو بگیره و بعد یه تاریخی بین 1 تا 30 بگیره و بگه این تاریخ چند شنبه است. خودم به یه جاهایی رسیدم می خواستم نوع فکر دوستان دیگه رو هم بدونم
ممنون.نقل قول:
چیزی که به ذهن من رسید اینه که اگه روز اول ماه توی firstDay(شنبه:0 یکشنبه:1...جمعه:6) و روز (1 تا 30) توی Day باشه میشه با فرمول بدست آورد که امروز چند شنبس.
کد:(Day - 1 + firstDay) % 7
سلام دوست عزیز امیدوارم از حرف من دلخور نشده باشیدنقل قول:
این اصلا مشکل شما نیست مشکل مدیریت هستش که نه تنها اینکه این نوع تاپیک ها رو قفل نمی کنن بلکه میان توش شرکت هم می کنن که واقعا عجیبه :18:
این لینک تاپیکی باهمین مضمون ولی در انجمن دیگه که مدیران اون بخش قفلش کردن
تازه اگر هم من اشتباه کرده باشم دقیقا عین همین تاپیک توی این بخش زده شده اینم لینکشکد:http://forum.p30world.com/showthread.php?t=130116
موفق باشی :11:کد:http://forum.p30world.com/showthread.php?t=11132
سلام
اگر ممگن هست کمک کنید که چه طور میشه این برنامه رو نوشت من تازه برنامه نویسی با سی رو شروع کردم.
write a program to generate the fibonacci series.(1,1,2,3,5,8,13,.......)the
یه چیزایی نوشتم اساتید تصحیح کنند.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int i,s=1,sum,num;
for(i=0;i<=5;i++)
{
sum=i;
printf("%d\t",sum);
num=s++;
if(num==2)
printf("%d\t",sum+i);
}
getch();
}
سلام.کسی نیست جواب من را بده؟
والا نتونستم کد شما رو تحلیل کنم.اما اینی که خودم نوشتم این هست که:نقل قول:
همونطور که میدونین توی این دنباله هر عدد برابر مجموع 2 عدد قبل هست. و اولین عدد 0 و بعدی 1 هست.
پس ما 2 تا متغیر میگیریم تا عدد اول و دوم رو توشون داشته باشیم.بعد از چاپ کردن اولین عدد ما یه عدد به جلو حرکت میکنیم چون دیگه به اولین عدد احتیاج نداریم و به عدد دوم و سوم احتیاج داریم.
بنابراین عدد دوم رو میزیم توی متغیر اول و عدد سوم توی دنباله (1+0 = 1) رو میریزیم توی متغیر دوم(تا یکی به جلو حرکت کرده باشیم و دوبار متغیر اول(که حالا عدد دوم دنباله رو داره) رو چاپ میکنیم و این اعمال ادامه دارن.
ضمن اینکه برای این جابجایی اعداد ما نیاز به یک temp هم داریم
کد:#include<stdio.h>
#include<conio.h>
void main()
{
// 0,1,1,2,3,5,8,13, ...
int n1 = 0, n2 = 1, temp;
for(int i=0; i <= 10; i++)
{
printf("%d ", n1);
temp = n2;
n2 = n1 + n2;
n1 = temp; // n2 e ghadimi
}
getch();
}
به کدی که نوشته بودین تابع selection sort رو اضافه کردم منتها همون کد قبلیتون چند تا اشکال کوچیک داشت:نقل قول:
یکی اینکه وقتی میخوایین با scanf یه متغیر رو بخونین باید آدرس ش رو ارسال کنین نه خودش رو بنابراین باید وقتی scanf رو فراخوانی میکنین یه & قبل از اسم متغیر بگذارین.شرط (if (f < -1 رو با (if (f >-1 عوض کردم. برعکس نوشته بودین.
در ضمن بهتره تمرین هاتون رو هرچقدر هم که دردسر داشته باشه خودتون انجام بدین وگرنه توی یاد گیری برنامه نویسی دچار مشکل میشین :
کد:#include stdio.h>
#include conio.h>
#define max_size 5
int bin_search(int [] ,int);
void sel_sort(int [], int);
void main(){
int f,i,n,arr[max_size];
for (i=0;i<max_size;i++)
scanf("%d", &arr[i]);
printf("Enter a number to search:");
scanf("%d", &n);
sel_sort(arr, max_size);
f=bin_search(arr,n);
if (f > -1)
printf("Your number is at %d",f + 1);
else
printf("your number was not found");
getch();
}
int bin_search(int a[],int k)
{
int b,m,e;
b=0;
e=max_size;
while (b<=e){
m=(b+e)/2;
if(k==a[m])
return m;
else if (k<a[m])
e=m-1;
else
b=m+1;
}
return -1;
}
void sel_sort(int a[], int size)
{
int min_index;
for (int i=0; i < size - 1; i++)
{
min_index = i;
for (int j = i+1; j < size; j++)
if ( a[j] < a[min_index] )
min_index = j;
if (min_index != i)
{
int temp = a[i];
a[i] = a[min_index];
a[min_index] = temp;
}
}
}
خیلی ممنون ...میشه گفت راه رو اشتباه رفته بودم.
بازم ممنون که راهنماییم کردید.
m3hrz4d جان دستت درد نکنه.
من نمی دونم چه جوری واریانس را بنویسم.
در ضمن دستور درج کردن در آرایه و حذف کردن از آرایه چی هست؟
اين برنامه را خوب بررسي كنيد:نقل قول:
#include <stdio.h>
#include <conio.h>
void main(void)
{int a,b,c;
while(1)
{clrscr();
printf("\nAdade khod ra vared konid");
printf("\na=");
scanf("%d",&a);
printf("\nb=");
scanf("%d",&b);
printf("\nc=");
scanf("%d",&c);
if((a+b)<c || (a+c)<b || (b+c)<a)
printf("\nIn yek mosallas nist!");
else if(a==b & a==c)
printf("\nIn yek mosallas motasaviol'azla ast.");
else if(a==b || a==c || b==c)
printf("\nIn yek mosallas motasavios'saghein ast.");
else if(a*a==(b*b)+(c*c) || b*b==(a*a)+(c*c) || c*c==(a*a)+(b*b
printf("\nIn yek mosallas ghaemoz'zavie ast.");
else printf("\nIn yek mosallas mokhtalefol'azla ast.");
printf("\nDo you want to try again(y/n)?");
if(getch()=='y')continue;
break;
{
{
منم در مورد واریانس نمیدونم..نقل قول:
حذف یا درج دستور خاصی نداره.الگوریتم درج اینه که همه ی اعضای آرایه از اونجایی که درج میخواد انجام بشه یه خونه به جلو حرکت کنن و بعد ما عضو مورد نظرمون رو قرار بدیم.مثلا اگه A B C D E F عضو های آرایه باشن و ما بخوانیم X رو بین C و D یعنی تو خونه ی چهارم بگذاریم باید اول D , E , F رو یه خونه ببریم جلو(ارایه باید طولش به اندازه کافی باشه) یعنی آرایمون اینطوری میشه : A B C D D E F حالا X رو توی خونه ی سوم(بجای D ی قبلی) قرار میدیم و میشه A B C X D E F.با این عملیات size ظاهری آرایه یکی زیاد میشه.
برای حذف هم کافیه از اونجایی که عضو مورد نظر رو میخواهیم حذف کنیم به بعد, اعضا رو یه خونه بیاریم عقب مثلا اگه توی A B C D E F بخواهیم B رو حذف کنیم باید C, D , E , F رو به ترتیب یه خونه بیاریم عقب تا بشه A C D E F F و حالا ما یه عضو اضافه F آخر آرایه داریم که با کم کردن 1 از size ظاهری آرایه اصلا این F اضافی رو در نظر نمیگیرم.(یعنی اینجا فرض میکنیم طول آرایه 5 تاس نه 6 تا)
من چه جوری این کار ار در برنامه نویسی انجام بدم.کدش را میشه بنویسید.نقل قول:
اگه با حلقه ی for آشنایی داشته باشین راحت میتونین بنویسین کافیه یکم وقت بگذارین تا دستتون بیاد.نقل قول:
من با دستور for آشنایی دارم.میشه شما یک مثال برای من بزنید(البته با کد)نقل قول:
من نمی دونم چه جوری یک خانه به جلو ببرم.
از آخر به اول که حساب کنیم, عضو 1+i ام آرایه باید برابر با عضو i ام بشه و بعد عضو i ام برابر با عضو i-1 ام الی آخر...نقل قول:
کد:for (int i = size; i > n; i--)
a[i] = a[i-1];
m3hrz4d دستت درد نکنه.خیلی زحمت برای این تاپیک میکشی.
دوستان سلام
من می خوام ابتدایی ترین سوال ممکن رو بپرسم چون مبتدی هستم
بین #c و ++C و vb کدوم رو برا یادگیری انتخاب کنم؟؟؟؟
معیارم هم کمی سرگرم شدن و خیلی بیشتر آینده اون هست
این سوالو تو تاپیک vb هم مطرح کردم
ممنون میشم جواب من مبتدی رو هم بدید
جناب شرلوک هلمز من این برنامه رو اجرا کردم خب باید قبول کنم برنامه شما از برنامه ی من خیلی بهتر بود اما به من حق بدید چون من با vb کار می کردم و با قرار دادن textbox و این جور چیزا کارم رو راه می انداختم و حالا که اومدم سراغ c می دونم هنوز خیلی توش باید کار کنم تا برنامه های خوبی مثل این بنویسم.نقل قول:
از برنامه تون ممنون یه سری چیز جدید یاد گرفتم.
بازم برنامه ی اشکال دار و باز هم درخواست از یه نفر برای حل مشکل:
این برنامه ی محاسبه ی sin بر اساس دنباله ی مربوطشه.
این برنامه نیاز داره که فاکتوریل بعضی اعداد رو محاسبه کنه که من برای این کار fact رو تعریف کردم و بعد در زیر برنامه ی fact رو نوشتم اما وقتی اجرا می کنم ارور می ده و می گه این function تعریف شده نیست و اصلا به آخر برنامه توجه نمی کنه حالا چی کار باید بکنم؟
#include <stdio.h>
#include <math.h>
void main (void)
{
float x,sin=0;
scanf("%f",&x);
int i;
for(i=1;i<10;i++)
sin=sin+pow(x,2*i-1)*pow(-1,i-1)/Fact(2*i-1);
printf("Sin%f=%f",x,sin);
}
int Fact(int n)
{
int i,result=1;
for(i=1;i<=n;i++)
result=result*i;
return result;
}