나는 C++ 클래스 용 프로그램을 디자인하고 있는데 교수는 "*"를 사용하여 다이아몬드 모양을 출력하는 프로그램을 만들고 싶어합니다. 내가 갇혀있는 것은 프로그램이 너무 많은 라인을 출력하고 있다는 것입니다. 대신 어떻게이 작동하도록하려면 코드를 수정하는 것루프가 너무 자주 실행되는 이유는 무엇입니까?
*
***
*****
***
*
를 출력한다
*
***
*
의
? 나는 운이없는 아침 내내 온라인으로 대답을 찾고있다.
#include <iostream>
using namespace std;
int main() {
//Define Varaible
int N;
cout << "Please enter a postitive integer: ";
cin >> N;
cout << "Here is your diamond." << endl << endl;
for (int i = 0; i <= 2 * N; i++) {
for (int j = 0; j <= 2 * N; j++) {
if (i <= N) {
if (j < N - i || j > N + i) {
cout << ' ';
}
else {
cout << '*';
}
}
else {
if (j < i - N || j > 3 * N - i) {
cout << ' ';
}
else {
cout << '*';
}
}
}
cout << endl;
}
return 0;
}
입력을 통해 "잘못된"이미지를 얻을 수 있습니까? 1 행이 너무 많아서 자신의 코드 (...?)를 이해하지 못하면 "N = N-1;"을 추가하십시오. 어딘가에. – usr2564301