2011-03-28 3 views
0

첫 번째 열은 숫자 1을 통해 5 이후 열이 좋아 내가 여기까지 가지고 있지만 작동하지 그리고 난 아무 단서 9C++ 프로그래밍 도움말! 일하지 않니?

까지의 숫자 0으로 첫 번째 열의 수를 곱한 결과를 포함 포함 왜! 당신이 올바른 방향으로 날 지점 수 있다면 그 매우 도움이 될 것입니다 :)

#include <iostream> 
using namespace std; 

int main() 
{ 
    for (int i=0 ; i < 5; i++) 
    { 
     cout << " "; 
     // end for 

     for (int j = 0; j>=i; j ++) 
      cout << endl; 
    } // end for 

    return 0; 
} //end of main function 
+2

이것은 다섯 줄의 ""(공백 문자)와 그 뒤에 개행 문자를 인쇄합니다. 그게 니가 원하는거야? –

+2

@Lily, 다음 번에 코드 서식을 지정하십시오. 표시 한 코드가 문제와 아무런 관련이없는 것 같습니다. 무엇을 묻고 있습니까? –

+0

@Carl이 저를 이길 것입니다. – mastofact

답변

3

첫 번째 열은 1 ~ 5 후속 열이 번호로 첫 번째 열의 수를 곱한 결과를 포함하는 숫자가 포함 0 9

HHH를 통해 ..

당신의 조각에서
  • , 외부 루프는 0에서 4로 실행하지만 문제는 5
  • ~이다
  • 내부 루프는 0-9 양식을 실행해야합니다. 즉, 외부 루프의 값인 i에 독립적입니다. 따라서 내부 루프 j>=i의 조건이 잘못되었습니다.
0

내가 무엇을하려고하는지 이해하면 코드가 작동하지 않습니다.

for(int i=1; i <=5; i++) 
{ 
    std::cout << i << " "; 
    for(int j=0; j <=9; j++) 
    std::cout << i*j << " "; 

    std::cout << std::endl; 
} 

형식화하는이 완벽하지만 당신은 보이는 것에는 가까이하지 않습니다에 찾고있을 :

당신이 뭔가를 할 수 있습니다.

+3

답변을 제공하는 대신 코드가 작동하지 않는 이유를 설명 했어야합니다. – Mahesh

1

중첩 루프에 대해 올바른 생각을 갖고 있지만 현재 코드는 몇 가지 공백과 개행 문자 만 출력합니다. 이제 당신의 코드 라인별로 살펴 보자 :

for (int i=0 ; i < 5; i++) 

이 루프에서 반복자는 0에서 시작하고 사에서 끝납니다. 0부터 시작하는 것은 많은 경우에 허용하지만, 그것은이 변경해야합니다, 너무 1. 시작하기 위해 여기에 훨씬 쉽게 : 이제

for (int = 1; i <= 5; i++) 

, 다음의 행.

cout << " "; 

모든 것은 공백을 인쇄합니다. 전화 번호가 있지만 그걸로 아무 것도하지 않습니다. 당신과 같이, 공간 전에 i를 인쇄해야합니다 :

cout << i << " "; 

우리는 두 번째 (내부) 루프에서 다시 문제로 실행합니다.

for (int j = 0; j>=i; j ++) 
    cout << endl; 

j을 0으로 초기화하는 것이 좋습니다. 그러나 조건부 j >= iji 이상인 경우 루프가 실행을 계속한다는 것을 의미합니다. 9보다 작거나 같으면 실행하십시오. 또한 루프 내부에서 수행하는 작업은 개행을 인쇄하는 것입니다.당신은 ij의 제품을 인쇄로 변경해야합니다

for (int j = 0; j <= 9; j++) 
    cout << (i * j) << " "; 

당신이 모두 함께 넣어하면 다음 코드와 같은 결과가 발생해야한다. 몇 가지 추가 서식을 추가하고 명확성을 위해 몇 가지 식별자를 변경했습니다.

#include <iostream> 
#include <iomanip> // Needed for std::setw, which makes sure everything lines up. 

int main() 
{ 
    for (int firstNumber = 1; firstNumber <= 5; firstNumber++) 
    { 
     std::cout << std::setw(3) << firstNumber << " | "; // Output the first number of the row. This makes up the first column. 

     for (int secondNumber = 0; secondNumber <= 9; secondNumber++) 
     { 
      std::cout << std::setw(3) << (firstNumber * secondNumber) << " "; // Output the rest of the numbers in the row. 
     } 

     std::cout << std::endl; // We're done with the row, so make a linebreak. 
    } 
} 

희망이 있습니다.