나는 호출 루틴에서 매개 변수로 전달 된 양의 크기로 다이아몬드를 인쇄하려고합니다. 숫자가 0에서 시작하여 다음으로 높은 홀수로 변경되는 경우에도 마찬가지입니다. 금액이나 문자 유형이 전달되지 않으면 함수에 기본 매개 변수가 있습니다. 이상한 양의 줄에 기호를 출력하는 다이아몬드를 인쇄 할 수 있지만 전달 된 기호의 최대 줄 수까지 전달 된 기호의 홀수 줄을 인쇄하고 싶습니다. 내 문제는 전달 된 숫자와 동일한 양의 줄을 인쇄하여 전달 된 양만큼 홀수만큼의 줄이 아닌 각 줄에 기호의 홀수 양을 제공하는 것입니다. 즉 5를 전달하면 하나의 기호, 3 개의 기호, 5 개의 기호, 7 개의 기호, 9 개의 기호로 시작하는 5 개의 개별 줄이 인쇄됩니다. 내 뇌가 선 금액과 기호 금액을 구별하는 방법을 이해하도록 만들 수는없는 것 같습니다. 어떤 도움도 환영하며 숙제를위한 것입니다. 그래서 내가 잘못하고있는 것의 논리를 알아 내야합니다. 그래서 알아낼 수 있습니다. 고맙습니다. 여기에 내 코드가 있습니다. Eclipse를 컴파일러로 사용하는 것이 중요하다면.C++ for 루프 다이아몬드 전용 음수
#include <iostream>
#include <cstdlib>
#include <cctype>
#include <iomanip>
using namespace std;
// prototype for printDiamond
void printDiamond (int = 1, char = '*');
int main()
{
printDiamond();
cout << endl;
printDiamond(1);
cout << endl;
printDiamond(2);
cout << endl;
printDiamond(3);
cout << endl;
printDiamond(4);
cout << endl;
printDiamond(5);
cout << endl;
printDiamond(1, '$');
cout << endl;
printDiamond(2, '$');
cout << endl;
printDiamond(3, '$');
cout << endl;
printDiamond(4, '$');
cout << endl;
printDiamond(5, '$');
cout << endl;
int someSize = 10;
char someSymbol = ' ';
printDiamond(someSize, someSymbol);
cout << endl;
return EXIT_SUCCESS;
}
void printDiamond (int max, char symbol)
{
if (symbol == ' ')
symbol = '*';
if (max % 2 == 0)
++max;
int shape,line;
if (max >= 0)
{
if (max % 2)
{
for (shape=1;shape <= max ;shape++)
{
for (line = shape; line < max; line++)
{
cout << " " ;
}
for (line=1; line <= shape+shape-1; line++)
{
cout << symbol ;
}
cout << endl;
}
}
}
else
{
cout << "Input error. This function not defined for a negative integer.";
}
if (max % 2)
{
for (shape=max-1;shape >= 0 ;shape--)
{
for (line=shape;line<max;line++)
{
cout << " " ;
}
for (line=1;line <= shape+shape-1; line++)
{
cout << symbol ;
}
cout << endl;
}
}
}
루프가 아직 무엇인지 알면서도 주 기능에서 사용하지 않기로 한 것에 감명 받았습니다. – Rapptz
일식은 컴파일러가 아닌 ide입니다. – greatwolf
Stackoverflow는 일반적인 질문과 대답의 형태로 * knowledge *의 저장소로 사용됩니다. 일반적인 도움말 포럼이 아닙니다. [about stackoverflow] (http://stackoverflow.com/about)를 참조하십시오. 어쩌면 도움이 필요한이 작업을 프로그래밍하는 특정 측면이 있습니까? –