アプリ版:「スタンプのみでお礼する」機能のリリースについて

7と入力したら画像のような図形が出力されるプログラムをループで組みたいです。

どなたかプログラムにとても自信のある方
どうか回答よろしくお願いします

「7と入力したら画像のような図形が出力され」の質問画像

A 回答 (4件)

以下のようにしてください。


------------------------------------
#include <stdio.h>
main ()
{
int i,var;
char *data[]={
"□□○○○□□",
"□○○○○○□",
"○○○○○○○",
"○○○○○○○",
"○○○○○○○",
"□○○○○○□",
"□□○○○□□",};
printf("7を入力してください。=>");
scanf("%d",&var);
if (var != 7) return 0;
for (i = 0;i < 7; i++){
printf("%s\n",data[i]);
}
}
--------------------------------------------------
以下、実行結果です。
7を入力してください。=>7
□□○○○□□
□○○○○○□
○○○○○○○
○○○○○○○
○○○○○○○
□○○○○○□
□□○○○□□
-----------------------------------
□は判りやすくするために、表示しています。
□は全角の空白に置き換えてください。
又、No2のかたが指摘された、
__○○○○○
_○○○○○○○
_○○○○○○○
_○○○○○○○
_○○○○○○○
_○○○○○○○
__○○○○○
のケースを実現する場合は、data[]の中の文字列の定義部分を
そのように置き換えてください。
    • good
    • 0

個々の「○」のようなものの大きさを本当にこのようにしろって言われると果てしない難問だねぇ.



ということで画像を無視して問題を勝手に解釈し, かつ「○」を便宜上「o」と表すことにすると
#include <stdio.h>
int main()
{
int num, i;
char *figure[] = {
" " " ooo",
" ooooo",
"ooooooo",
"ooooooo",
"ooooooo",
" ooooo",
" " " ooo",
NULL
};

scanf("%d", &num);

for (i = 0; figure[i]; ++i) {
printf("%s\n", figure[i]);
}

return 0;
}
でできるな.
    • good
    • 0

ロジック次第ですが、なぜ7が



____○
___○○○
__○○○○○
_○○○○○○○
__○○○○○
___○○○
____○


__○○○○○
_○○○○○○○
_○○○○○○○
_○○○○○○○
_○○○○○○○
_○○○○○○○
__○○○○○

ではないのか仕様を提示してもらわないと書きようがありませんね
    • good
    • 1

> ループで組みたいです。




はい。ループで組めますので、がんばってください。


全体は次のような構造になります。

(0から入力した数値-1のループ) {
 現在の行数から、位置調整用の空白の個数を求める
 (位置調整用の空白の個数のループ){
  空白を1つ出力
 }
 現在の行数から、○の個数を求める
 (○の個数のループ){
  ○を1つ出力
 }
/* 見えてないけれど、必要なら */
 (位置調整用の空白の個数のループ){
  空白を1つ出力
 }

}

7なら次のようになります。
0行目: 空白2 ○3 (空白2)
1行目: 空白1 ○5 (空白1)
2行目: 空白0 ○7 (空白0)
3行目: 空白0 ○7 (空白0)
4行目: 空白0 ○7 (空白0)
5行目: 空白1 ○5 (空白1)
6行目: 空白2 ○3 (空白2)

これを、いろんなnについて調べて法則を見つけることです。
    • good
    • 0

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