課題で*を使って△を表示.....

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ネバー
記事: 3
登録日時: 7年前

課題で*を使って△を表示.....

#1

投稿記事 by ネバー » 7年前

課題で△を真ん中に表示するやり方がよくわからないので教えてください!! (プロトタイプ宣言で関数を作る)(ポインタとかは習ってません。)

double-clutch.
記事: 21
登録日時: 8年前
住所: 近畿

Re: 課題で*を使って△を表示.....

#2

投稿記事 by double-clutch. » 7年前

三角形の底辺が *(アスタリスク) 5つだったとして、

空白の代わりを - で表現すると...

コード:

--*
-*-*
*****
となります...
『アスタリスク』と『空白』を出力する回数に気をつけてcodeを書けばいいと思います。

box
記事: 2002
登録日時: 13年前

Re: 課題で*を使って△を表示.....

#3

投稿記事 by box » 7年前

ネバー さんが書きました:課題で△を真ん中に表示する
真ん中ってどこですか。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

ネバー
記事: 3
登録日時: 7年前

Re: 課題で*を使って△を表示.....

#4

投稿記事 by ネバー » 7年前

出力画面の真ん中って意味です......。

akasann

Re: 課題で*を使って△を表示.....

#5

投稿記事 by akasann » 7年前

面白そうだったので、色々試しながら作ってみました。参考になるか分りませんが・・・
私がやるとこんな感じに仕上がりました。行列を使っていくのもありだと思います。
何かの課題っぽいので載せないほうが良かったのかもしれませんが・・・

コード:

#include<stdio.h>
#define N 10

int main(void){
	int i,j,k,l;
	char s='*';

	for(i=0;i<N;i++){
		for(j=0;j<N-i;j++)
			printf(" ");
		for(j=0;j<i;j++){
			if(i>=3&&i<N-1)
				break;
			else
				printf("%2c",s);
		}
		if(i>=3&&i<N-1){
			for(j=0;j<2;j++){
				printf("%2c",s);
				for(k=0;k<(i*2)-4;k++)
						printf(" ");
			}
		}
		putchar('\n');
	}
	return 0;
}

YuO
記事: 947
登録日時: 13年前
住所: 東京都世田谷区

Re: 課題で*を使って△を表示.....

#6

投稿記事 by YuO » 7年前

ネバー さんが書きました:出力画面の真ん中って意味です......。
標準出力がディスプレイに繋がっていると仮定しても,表示可能な幅や高さを知る方法は標準規格には存在しません。
特定の環境用,という前提があれば,何らかの方法で幅や高さを知ることができるかもしれませんが。

まずは,課題で言う「真ん中」が本当に「出力画面の真ん中」という意味なのかは確認した方がよいと思います。
もしかしたら,幅や高さに何らかの仮定がなされているかもしれませんし。

ネバー
記事: 3
登録日時: 7年前

Re: 課題で*を使って△を表示.....

#7

投稿記事 by ネバー » 7年前

色々ご解答ありがとうございます。
とても参考になりました皆さんの意見などを元にやってみようと思います!!

閉鎖

“C言語何でも質問掲示板” へ戻る