PDA

View Full Version : ساده تر کردن حلقه for برای چاپ ستاره



fshb_ 1370
پنج شنبه 26 آذر 1388, 10:00 صبح
سلام
من میخوام یه برنامه بنویسم که عدد n از کاربر دریافت کنه و یه مربع توخالی به طول n با ستاره رسم کنه.
ولی میخوام شرط if(j==n-3 و for (;j<n-2 ساده تر بشن(میشه ساده ترش کرد؟)

اینم کد برنامه:


#include<iostream>
using namespace std;
void star()
{
int n;
cin>>n;


for (int i = 0; i < n; i++)
{
if(i==0)
{
for (int j=0;j<n;j++)
cout<<"* ";
}
if(i==n-1)
{
cout<<endl;
for (int j=0;j<n;j++)
cout<<"* ";
}

if (i!=0&&i!=n-1)
{
cout<<endl;
cout<<"*";
for (int j = 0; j < n-2; j++)
{
cout<<" ";
if (j==n-3)
cout<<" *";
}

}
}

}
void main()
{
star();
int q;
cin>>q;
}

fshb_ 1370
جمعه 27 آذر 1388, 09:26 صبح
یکی جواب بده.
من میخوام برنامم کدای راحتتر و قابل درک تری داشته باشه

clover
شنبه 28 آذر 1388, 16:34 عصر
من میخوام برنامم کدای راحتتر و قابل درک تری داشته باشه

// Print quadrangular
#include <iostream>
#include <conio.h>
using namespace std;

void printStar(int n)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (j == 0 || j == n-1 || i == 0 || i == n-1)
cout << "* ";
else
cout << " ";
}
cout << endl;
}
}

int main()
{
int n;
cout << "Enter width of quadrangular: ";
cin >> n;
if (n > 0 || n <= 40)
printStar(n);
else
cout << "Invalid Input! width must from amoung 1 to 40";
_getch();
return 0;
}
البته گاهی اوقات بین خوانایی و یا کارایی یک کد باید یکی را انتخاب کنید.

ava8395
پنج شنبه 04 دی 1393, 11:20 صبح
سلام دوستان خواهشا یکی کمکم کنه نمیتونم این برنامه رو بنویسم نیازش دارم برنامه ای میخوام که اعداد فرد رو بگیره و اشکال زیر رو چاچ کنه *** * * *** ***** ** ** * * ** ** ***** و.....