PDA

View Full Version : مبتدی: کد تو در تو نوشته شده عمل نمی کند - خطا یابی



ProgramYL
یک شنبه 12 مرداد 1393, 21:22 عصر
این کد باید شکل زیر رو ایجاد کنه، اما دستور if بدون در نظر گرفتن شرط مرتب اجرا میشه.
آیا یک دستور if یا while یا دستورهای دیگه ای که بصورت تو در تو نوشته میشه میتونه به بیرون از حلقه یا شرط بیرونی هم دستیابی داشته باشه؟ مانند کد زیر، c1=0
نمیتونم از عملگرهای and,or,... و بیش از سه cout زیر استفاده کنم.

cout << "*";
cout << " ";
cout << endl;


*******
*******
*******
*******
*******
*******
*******

int main ()
{
int c1=0;
while (c1<=7)
{
cout << "*";

if (c1==7)
{
cout << endl << " ";
c1=0;
};

++c1;
};
}

2020s1371
دوشنبه 13 مرداد 1393, 04:25 صبح
لطفا دقت کن موقع نوشتن


اولا شرط پایان حلقه چیه؟؟
ثانیا ایف فقط اجرا نمیشه... با دیدن کدزیر که با تغییر کد خودت بدست اومده متوجه میشی :



#include <iostream>
using namespace std;


int main ()
{
int c1=0;
int c2=0;
int c3=0;
while (c1<=7 && c3<100)
{


cout << "*";

if (c1==7)
{
cout<<"\t\t"<<c1<<endl;
cout << endl << "\t ";
c1=0;
c2=0;
};
cout<<" "<<c2++<<" ";
++c1;
c3++;
};
}




کدی هم که اینو ایجاد کنه رو من اینجوری نوشتم:



#include <iostream>
using namespace std;


int main ()
{
int ch1=0;
while(ch1<=(10*7))
{
if (ch1%14==0)
cout<<"\n ";
else if(ch1%7==0)
cout<<"\n";
cout<<"*";
ch1++;
}




}








آیا یک دستور if یا while یا دستورهای دیگه ای که بصورت تو در تو نوشته میشه میتونه به بیرون از حلقه یا شرط بیرونی هم دستیابی داشته باشه؟ مانند کد زیر، c1=0
راستش این جمله بالا رو هم نفهمیدم ... اگه میشه بیشتر توضیح بده

ProgramYL
دوشنبه 13 مرداد 1393, 14:20 عصر
لطفا دقت کن موقع نوشتن
اولا شرط پایان حلقه چیه؟؟
ثانیا ایف فقط اجرا نمیشه... با دیدن کدزیر که با تغییر کد خودت بدست اومده متوجه میشی :


متشکرم.
متوجه شدم که اجرا شدن دستور if درسته و من اشتباه برداشت کردم.
اما فقط باید از سه دستوری که نام بردم به عنوان خروجی استفاده بشه و هر یک تکرار نشه.
این کد شرط پایان حلقه نداره.


راستش این جمله بالا رو هم نفهمیدم ... اگه میشه بیشتر توضیح بده
جواب رو گرفتم.

ProgramYL
دوشنبه 13 مرداد 1393, 19:03 عصر
پاسخ!

int main ()
{
int c=0,c2=0,l0=0,l1=1;

while (c2<8)
{
while (c<7)
{
if (c<6)
{
cout << "*";
++c;
}
else if (c==6)
{
cout << endl;
++c;
};
};

if (l0==0)
{
l0=1;
l1=0;
}
else
{
l0=0;
l1=1;
};

if (l0==1)
{
cout << " ";
};

++c2;
c=0;
};
}