PDA

View Full Version : سوال: مشکل در نوشتن سری فیبونانچی



amirrezaq
پنج شنبه 29 آبان 1393, 23:59 عصر
با عرض سلام و خسته نباشید
ببخشید مشکل کد زیر چیه که خروجیش 2046 میشه؟؟؟!!!

//IN THE NAME OF GOD
#include<iostream>
#include<conio.h>
using namespace std;
int main(){

int a,b,c,i;
a=1;
b=1;
i=1;

while (i==3){
c=a+b;
a=b;
b=c;
i=i+1;
}

cout<<c;

getch();
return 0;

}

مسعود اقدسی فام
جمعه 30 آبان 1393, 00:53 صبح
ممکن بود هر عدد دیگه‌ای هم چاپ کنه! مقدار i‌ ابتدای کار یک هست و شرط ورود و ادامه‌ی حلقه i == 3 که از همون اول درست نیست و اصلا وارد حلقه نمی‌شه. پس عدد c رو بدون هیچ مقدار دهی چاپ می‌کنه. این مقدار 2046 که می‌گید صرفا محتوای محلی از حافظه رو نشون می‌ده که متغیر c از اون استفاده کرده و هنوز داخل برنامه عوض نشده. یه بار که کامپیوتر رو روشن و خاموش بکنید شاید برای c عدد دیگه‌ای چاپ کنه.
باید شرط رو اینطوری اصلاح کنید تا عبارت داخل حلقه سه بار اجرا بشه:
while( i <=3 )