2016-03-30 24 views
-2

まあ、このピラミッド作品を作るためにCプログラミングに関するすべての種類の資料を読んでいるような週があり、ついには助けを求めることに決めました。私のコードが正しく入力(0〜23)かかり、新しい行を印刷し、今私は、コードに#を追加しようとしていることを、コードは:(無限ループを作る。CS50 Marioそのピラミッドをやっているよ

#include <stdio.h> 
#include <cs50.h> 

/* PSET1 Mario */ 

int main (void) 

{ 
    int height; 

do 
{ 
    printf("Give me an int between 0 or 23 \n"); 
    height = GetInt(); 
}while((height < 0)||(height > 23)); 

//The Pyramid output 
int row, space; 

space = height - 1; 


    for (row = 0 ; row <= height; row++) 
    { 

      for (space = 0; space < row; space--) 
    { 
     printf("#"); 
    } 



return 0; 

}

主なポイントは、それは「#「」」とのピラミッドを行うことであると私は、それが無限ループをしていた、これは#と私の前のコードだった記事を編集した。

+0

を。 'space'を1で初期化していますが、デクリメントしています。 –

+2

CとC++は異なる言語です。私はこれがCだと思うので、C++タグを追加しないでください。 – Olaf

+0

"私に無限ループを与えていたので、ハッシュを行っていた行を削除しました"。その行を表示してください。それが単なるprintfならば、それがどうやってinfineteループを引き起こすかわからない。いずれにしても、問題の原因となるコードを表示して、問題の原因とその解決方法を理解できるようにする必要があります。 – kaylum

答えて

0

これはあなたが望むものですか?

#include <stdio.h> 
#include <cs50.h> 

/* PSET1 Mario */ 

int main (void) 

{ 
    int height; 

do 
{ 
    printf("Give me an int between 0 or 23 \n"); 
    height = GetInt(); 
}while((height < 0)||(height > 23)); 

//The Pyramid output 
int row, space; 

space = height - 1; 


for (row = 0 ; row <= height; row++) 
{ 
    int simbol=0; 
     for (space = height-row; space > 0; space--) 
    { 
     printf(" "); 
    } 
    for (simbol = 0; simbol < row; simbol++) 
    { 

     printf("##"); 
    } 


    printf("\n"); 
} 
return 0; 
} 

これはあなたにこのピラミッド与える:forループの内側をよく見てください

  ## 
      #### 
     ###### 
     ######## 
     ########## 
     ############ 
    ############## 
    ################ 
    ################## 
    #################### 
###################### 
######################## 
+0

はい、ありがとうございました! –

関連する問題