ورود

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



Lord_theOne
26-12-2009, 15:11
سلام من کمک می خواهم
برنامه ای نویسید که n را از ورودی بگیرد و n جمله سری فیبوناچی را بصورت زیر تولید کند
اینو باید چکار کرد این فیبوناچی چی هست
سری فیبوناچی = 1 1 2 3 5 8 13 ...
ممنون

ghanari_ghermez
26-12-2009, 16:23
چون بچه بوشهری برنامه رو نوشتم واست:46:
#include <conio.h>
#include <stdio.h>
int main()
{
int n,i,a,b,fib;
clrscr();
a=1;
b=1;
printf("Enter n: ");
scanf("%d",&n);
printf("%d %d ",a,b);
for(i=1;i<=n-2;i++)
{
fib=a+b;
printf("%d ",fib);
a=b;
b=fib;
}
getch();
return 0;
}

هر عدد در این سری از جمع دو عدد قبلی بدست می آید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Lord_theOne
26-12-2009, 20:35
چون بچه بوشهری برنامه رو نوشتم واست:46:
#include <conio.h>
#include <stdio.h>
int main()
{
int n,i,a,b,fib;
clrscr();
a=1;
b=1;
printf("Enter n: ");
scanf("%d",&n);
printf("%d %d ",a,b);
for(i=1;i<=n-2;i++)
{
fib=a+b;
printf("%d ",fib);
a=b;
b=fib;
}
getch();
return 0;
}

هر عدد در این سری از جمع دو عدد قبلی بدست می آید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سلام ممنون عزیز لطف داری اما من بعضی از این چیزهارو نخوندم و داخله C# باید برنامه را تحویل بدم
اینهایی که با قرمز مشخص کردم را نخوندم
می شود اگر وقت کردی برای قسمتهایشو توضیح بدی
و اینهارو باید در کدام آبجکت بنویسم همه را در یکی بنویسم؟
این زیریه سالمه؟
البته اینو نگاه کن
f(x)=F(x-1)+f(n-2)
main()
{
int a=1, b=1;
cout<<a<<end;
cout<<b<<end;
for (int i = 3; i<=10; ++i)
}
{
c=a+b;
a=b;
b=c;
}
cout<<c<<end;

ghanari_ghermez
26-12-2009, 20:51
شما گفتی در زبان C ، من هم به همین زبان نوشتم
زیاد فرقی نمی کنه مهم الگوریتم هست

printf واسه چاپ هست.
clrscr : پاک کردن صفحه نمایش
fib : متغیری برای ذخیره مقدار فیبوناچی
getch : در زبان C اگز این نذاری خروجی نشان داده نمیشه
stdio.h : هدر فایل است

keb
07-01-2010, 16:06
من هم همین مشکل رو داشتم ولی با این تفاوت که می خوام جمه اعداد دنباله ی فیبوناچی رو بنویسه.
خواهشا کد این برنامه رو بنویسید. من از ویژوال C++ 2008.NET استفاده می کنم. لطفا یه جوری بنویسید که کار کنه.

asghar_30bil
06-08-2011, 16:06
با سلام
من تازه دارم C می خونم.پس کمک کنید :D
وقتی که کد زیر اجرا میشه چون من طول میدان x رو برای عدد صحیح 4 گذاشتم باید 4تا عدد صحیح توی خروجی بده ولی برای من 6تا میده [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
و حتی با اینکه طول میدان عدد صحیح برای y برابر 3 هست ولی در خروجی میده -3038 که نمی دونم از روی شکمش میده یا من از روی شکمم میگم
به هرحال ...
این کد.

#include <conio.h>
#include <stdio.h>
int main()
{
int y=123466789 ;
float x=987654.123456 ;
clrscr();
printf("\ny=%3d\n\nx=%4.2f",y,x);
getch();
return 0;
}

اینم عکس کامپایل شده با Turbu

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

MaxLag
11-08-2011, 01:56
با سلام
من تازه دارم C می خونم.پس کمک کنید :D
وقتی که کد زیر اجرا میشه چون من طول میدان x رو برای عدد صحیح 4 گذاشتم باید 4تا عدد صحیح توی خروجی بده ولی برای من 6تا میده

این کد.

#include <conio.h>
#include <stdio.h>
int main()
{
int y=123466789 ;
float x=987654.123456 ;
clrscr();
printf("\ny=%3d\n\nx=%4.2f",y,x);
getch();
return 0;
}

اینم عکس کامپایل شده با Turbu



اولا مقدار int و float که گزاشتی خارج از محدوده است به خاطر همین garbage value میشن

دوما طول میدان float اگه 4.2 باشه یعنی کلا 4 خانه اشغال میکنه 1 دونه واسه . 2 تا واسه اعشار و 1ی هم واسه قسمت صحیح

shahinnet
31-07-2012, 15:46
برنامه بنویسید که دو عذذ صحیح را از ورودی خوانده به روش جمع ذر یکدیگر ضرب کند(مثلا برای ضرب 4 در 3.4 را سه بار با خودش جمع کند 4*3-4+4+4
میشه لطفا کمک کنید

shahinnet
31-07-2012, 15:49
سئوال بعدیم در مورد
برنامه بنویسید که ماگزیمم و می نیمش تعداد نامغلومی عذذ صحیح مثبت و مخالف صفر را یافته و چاپ کنه. شرط پایان کار (اخرین ورودی) ورود ضفر باشه؟

Life24
31-07-2012, 18:03
برنامه بنویسید که دو عذذ صحیح را از ورودی خوانده به روش جمع ذر یکدیگر ضرب کند(مثلا برای ضرب 4 در 3.4 را سه بار با خودش جمع کند 4*3-4+4+4
میشه لطفا کمک کنید

#include <iostream>
using namespace std;
int main ()
{
int a;
int b;
cout<<"Enter a and b \n";
cin>>a>>b;
int sum=0;
for (int i=1 ; i<=b ; i++)
sum+=a;
cout<<sum;
system("pause");
return 0;
}

Life24
31-07-2012, 18:18
سئوال بعدیم در مورد
برنامه بنویسید که ماگزیمم و می نیمش تعداد نامغلومی عذذ صحیح مثبت و مخالف صفر را یافته و چاپ کنه. شرط پایان کار (اخرین ورودی) ورود ضفر باشه؟

#include <iostream>
using namespace std;
int main ()
{
int n;
cout<<"Enter n \n";
cin>>n;
int max=n;
int min=n;
while (n!=0)
{
if (n >max)
max=n;
if (n <min)
min=n;
cout<<"Plase Enter n \n";
cin>>n;
}

cout<<"Max is "<<max<<endl;
cout<<"Min is "<<min<<endl;
system("pause");
return 0;
}

shahinnet
31-07-2012, 19:00
ممنون خیلی متشکرم فردا 6 نمره می گریم سپاس گذارم
تو تا سئوال دارم ؟
استاد چند هفته پیش دو تا سئوال داد بچه ها هم جواب دادند من هم همیوطور ولی بعد که تو کتاب های مختلف گشتم به جواب اصلی نرسیدم میشه در این زمینه هم کمک کنید بی زحمت
1-برنامه ای بنویسید که اعداد اول کوچکتر از 100 را یافته انها را چاپ کند (برای یافتن عدد اول یکی از روشهای این است عدد مورد نظر از 2 جذرش بر چیزی بخشپذیر نباشد. اول است؟
2-برنامه بنویسد که بودن عددN را بررسی کنید پیغام دهد.(عددی کامل است که مجموع مفسوم علیه های عیر از خودش با خودش برابر است کثلا(3+2+1=6)

Life24
31-07-2012, 22:35
ممنون خیلی متشکرم فردا 6 نمره می گریم سپاس گذارم
تو تا سئوال دارم ؟
استاد چند هفته پیش دو تا سئوال داد بچه ها هم جواب دادند من هم همیوطور ولی بعد که تو کتاب های مختلف گشتم به جواب اصلی نرسیدم میشه در این زمینه هم کمک کنید بی زحمت
1-برنامه ای بنویسید که اعداد اول کوچکتر از 100 را یافته انها را چاپ کند (برای یافتن عدد اول یکی از روشهای این است عدد مورد نظر از 2 جذرش بر چیزی بخشپذیر نباشد. اول است؟
2-برنامه بنویسد که بودن عددN را بررسی کنید پیغام دهد.(عددی کامل است که مجموع مفسوم علیه های عیر از خودش با خودش برابر است کثلا(3+2+1=6)
#include <iostream>
using namespace std;
int main ()
{
for (int i=1 ; i<=100 ;i++)
{
int s=0;
for (int j=1 ; j<=i ;j++)
if (i%j==0)
s++;
if (s<=2)
cout<<i<<"\t";
}
cout<<endl;
system("pause");
return 0;
}

Life24
31-07-2012, 22:59
ممنون خیلی متشکرم فردا 6 نمره می گریم سپاس گذارم
تو تا سئوال دارم ؟
استاد چند هفته پیش دو تا سئوال داد بچه ها هم جواب دادند من هم همیوطور ولی بعد که تو کتاب های مختلف گشتم به جواب اصلی نرسیدم میشه در این زمینه هم کمک کنید بی زحمت
1-برنامه ای بنویسید که اعداد اول کوچکتر از 100 را یافته انها را چاپ کند (برای یافتن عدد اول یکی از روشهای این است عدد مورد نظر از 2 جذرش بر چیزی بخشپذیر نباشد. اول است؟
2-برنامه بنویسد که بودن عددN را بررسی کنید پیغام دهد.(عددی کامل است که مجموع مفسوم علیه های عیر از خودش با خودش برابر است کثلا(3+2+1=6)
#include <iostream>
using namespace std;
int main ()
{
int sum;
int n;
int a;
cout<<"Enter N! \n";
cin>>n;
for (int i=1 ; i<=n ;i++)
{
sum=0;
cout<<"Enter Integer Number! \n";
cin>>a;
for (int j=1; j<a ;j++)
{
if (a%j==0)
sum+=j;
}
if (sum==a)
cout<<"Number is Kamel \n";
else
cout<<"No \n";


}
cout<<endl;
system("pause");
return 0;
}