プロが教えるわが家の防犯対策術!

専門知識のある方にはかなり低レベルな質問なんですが、分かる方教えてください。


★★★
★★★★★
★★★★★★★
★★★★★★★★★
★★★★★★★★★★★
★★★★★★★★★★★★★
★★★★★★★★★★★★★★★

と表示される様に繰り返し分を2回使ったプログラミングが分かる方いたら教えてください。お願いします。

A 回答 (5件)

まず星の数に注目しましょう。


奇数の場合だけ出力されていますね。
そこからアルゴリズムを考えます。
(下記は一例です。)

最初の数は1個、最後の数は15個ですので、
(1)1~15までのループを用意!

ループができたらループ内に処理を書いていきましょう。

奇数の場合だけ星を出したいので、
(2)遇数回目の場合はcontinueでスルー!

次に奇数の場合の処理を書きましょう。

奇数の場合はその数だけ星を出力しなければならないので、
(3)その数だけ星を出力するループを作成!
(ここで二重ループ構造になります。)

(3)のループから出たら・・・
(4)(3)のループから出たら改行コードを出力しましょう!

以上でできるはずです!
健闘を祈る。
    • good
    • 0

私はプログラミングもコツをつかむまでは参考書を読んでもサッパリでした(^_^;) まぁ、前の回答者さんもいわれているようにプログラミングの質問をするときは使用している言語(CとかPerlとか)を書いて、自分が作ったコードを未完成でも良いから提示することです。



基本的なやり方はどの言語でもある程度同じですが、方法はいくつかあります。例えばR(http://www.r-project.org/)というものでやってみると次のようになります。

myprog <- function(row){ #引数に行の数を指定
col <- 1 #*を表示する回数の初期値
for(i in 1:row){ #行の繰り返し
for(j in 1:col){ #列(*)の繰り返し
cat("*") #*を1つ表示する
}
cat("\n") #1行ごとに改行
col <- col + 2 #列の繰り返し数を2つたす
}
}

#使い方
> myprog(3) #3行表示する場合
*
***
*****

> myprog(5) #5行表示する場合
*
***
*****
*******
*********
    • good
    • 0

Excelなら


A1  "★"
A2  =A1 & "★★"
....
すぐ消える
    • good
    • 0

さすがにこれはカテ違いですし、どんなプログラムを


使うかも書くべきでしょうね。
(繰り返しのところは同じでもそれ以外は全く違います)

ExcelのVBAならこうなります。

Sub test()

Dim ct As Integer, ct1 As Integer
Dim stHoshi As String

For ct = 1 To 8
For ct1 = 1 To 2 * ct - 1
stHoshi = stHoshi & "★"
Next
Cells(ct, 1) = stHoshi
stHoshi = ""
Next

End Sub
    • good
    • 0

このサイトでは課題の丸投げは禁止されています。


言語は何ですか?
自分で作成した部分を提示して質問するようにしてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!