میشه این دو خط را که به زبان c++ است به c تبدیل کنیدو بگویید (setw(3 چه کاربردی دارد
cout<<setw(3)<<'.';
else
cout<<setw(3)<<'X';
}
cout<<endl<<endl;
}
cout<<endl<<endl<<"Total states founded for "<<n<<"*"<<n<<" boards and "<<v<<" Queens: "<<state<<endl;
}
()setw را پیش از نمایش یک خروجی بکار می برند تا طول عبارت خروجی روی مقدار مشخصی ثابت شود، مثلا سه کاراکتر.
اگر طول عبارت خروجی کمتر از این مقدار تعیین شده باشد، بصورت پیشفرض با کاراکتر فاصله در سمت چپ رشته، طول
عبارت خروجی افزایش می یابد. مثلا در کد زیر بجای نمایش تنها یک کاراکتر X، ابتدا دو کاراکتر فاصله و سپس یک کاراکتر X
درج می شود تا طول عبارت 3 کاراکتر باشد :
معمولا از ()setw برای تراز کردن عبارت های خروجی و نمایش ستونی آنها استفاده می شود.
در تابع printf از درج یک عدد پیش از نوع متغیر خروجی برای تعیین کردن طول عبارت خروجی استفاده می شود،
مثلا "3d%" برای نمایش یک عدد int به طول 3 کاراکتر بکار می رود.
و مثلا "7s%" برای نمایش یک رشته []char به طول 7 کاراکتر بکار می رود.
کد زیر
معادل است با
کد زیر
معادل است با
کد زیر
معادل است با
کد زیر
کد:
cout << endl << endl << "Total states founded for " << n <<"*" << n << " boards and " << v << " Queens: " << state << endl;
معادل است با
کد:
printf("\n\nTotal states founded for %d*%d boards and %d Queens: %d\n",n,n,v,state);