
一次元配列でパスカルの三角形を表示したいのですがうまくいきません。三角形の左上と右上をうまく足すことが出来ません。教えてください。作ってみたプログラムを載せます。
int comb[N+1];
int i,j,a;
int main (){
for(i=0;i<=N;i++){
comb[i]=0;
}
for(i=0;i<=N;i++){
for(j=0;j<=i;j++){
if(j==0||j==i){
comb[j]=1;
}else{
comb[j]=comb[j]+comb[j-1];
}
}
printf("\n");
}
No.2
- 回答日時:
>そもそも一次元配列(直線上)で実装しようとすることに
>無理がありませんか?
これは工夫次第でできそうですね。ところで、
>printf("%3d\n");
この文で何を出力しようとしていますか?
この回答への補足
本当にすみません。
printf("%3d",comb[j]);
の間違いです。
Nを5としてこのプログラムを実行すると
1
1 1
1 2 1
1 3 4 1
1 4 8 9 1
1 5 13 22 23 1
となります。
No.1
- 回答日時:
>一次元配列で
パスカルの三角形は平面上に展開していくので、
そもそも一次元配列(直線上)で実装しようとすることに
無理がありませんか?
ところで、お作りになったプログラムには
結果を出力する部分が見あたりません。
そういうコードを提示して「うまくいかない」と言われましても…。
この回答への補足
すみません写しもれでした。
正しくは
int comb[N+1];
int i,j,a;
int main (){
for(i=0;i<=N;i++){
comb[i]=0;
}
for(i=0;i<=N;i++){
for(j=0;j<=i;j++){
if(j==0||j==i){
comb[j]=1;
}else{
comb[j]=comb[j]+comb[j-1];
}
printf("%3d\n");
}
printf("\n");
}
でした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 配列の長さの上限
-
配列を使わずに、変数名を動的...
-
ExcelVBAで質問です。離れた二...
-
VBで構造体の配列を関数に渡す...
-
C言語で特定列だけを抽出して配...
-
【C言語】配列の中に配列を入れ...
-
配列内の文字間を排他的論理和...
-
C# Listを使わずに2次元配列の...
-
if文の判定条件に配列
-
配列で格納したものをmsgboxで...
-
配列を含む構造体の初期値について
-
【速いブラインドタッチ】手を...
-
テキストファイルから文字列を...
-
先頭アドレスとは何ですか?
-
2次元配列を戻り値とする関数?
-
構造体から平均点を求める方法
-
C言語でcharの足し算
-
パスカルの三角形
-
C++ CString の 配列
-
多次元配列の引渡しについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
先頭アドレスとは何ですか?
-
C# Listを使わずに2次元配列の...
-
配列を使わずに、変数名を動的...
-
複数の選択範囲の行番号を個別...
-
配列で格納したものをmsgboxで...
-
【速いブラインドタッチ】手を...
-
C言語で特定列だけを抽出して配...
-
配列をEraseしてもメモリが開放...
-
配列を含む構造体の初期値について
-
C# 配列の変数宣言について。
-
テキストファイルから文字列を...
-
メモリの初期値
-
C++ vectorに配列をプッシュしたい
-
Redimした動的配列はEraseする...
-
VBで構造体の配列を関数に渡す...
-
【C言語】配列の中に配列を入れ...
-
ExcelVBAで質問です。離れた二...
-
Functionの戻り値を2次元配列...
-
ガウスの消去法のプログラム
おすすめ情報