سلام این برنامه چرا فقط دوبار 3.5 رو چاپ میکنه؟چرا 2.5 رو چاپ نمی کنه؟کد:#include <iostream>
using namespace std;
main ()
{
float a[2],z=2.5,y=3.5;
int i=0,s=2;
while(s>0){
a[i]=z;
i++;
a[i]=y;
s--;
}
for(int x=0;x<i;x++)
cout<<a[i];
}
Printable View
سلام این برنامه چرا فقط دوبار 3.5 رو چاپ میکنه؟چرا 2.5 رو چاپ نمی کنه؟کد:#include <iostream>
using namespace std;
main ()
{
float a[2],z=2.5,y=3.5;
int i=0,s=2;
while(s>0){
a[i]=z;
i++;
a[i]=y;
s--;
}
for(int x=0;x<i;x++)
cout<<a[i];
}
سلام.1-شما اول نباید بزارید که حلقه while دوبار اجرا بشه چون در اون صورت در مقدار دهی خطا پیش میاد(چون i به 2 تغییر میکنه و خارج از محدوده آرایه میشه.)
2-توی حلقه for هم به جای i ایکس(x) رو بزارید تا هردو عدد چاپ بشن.
اگه مشکلی تو توضیحات من بود اساتید لطف کنن تصحیح کنن.
کد اصلاح شده:
کد:
#include <iostream>
using namespace std;
void main ()
{
float a[2],z=2.5,y=3.5;
int i=0,s=1;
while(s>0){
a[i]=z;
i++;
a[i]=y;
s--;
}
for(int x=0;x<=i;x++)
cout<<a[x];
}