*によるダイヤモンド作成の問題についてです

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
sic

*によるダイヤモンド作成の問題についてです

#1

投稿記事 by sic » 14年前

はじめまして!
質問する内容というのは、「*」によるダイヤモンド型の作成です。

【詳しい内容】
・for文、if文のみを使ったもの
・最初に「何段ですか:」と表示しその数字を縦の対角線としたダイヤモンド
 例 
   何段ですか:「3」
      *    (1段目)
     ***   (2段目)
   *****  (3段目)
     ***
      *
  
※()内は表示しなくても良い
 上の*はずれていますがしっかりと並んでいる方針でお願いします


ということです。
この問題は自分で本を読んでいた際に出されたもので
学校の課題というわけではないのでソースの方を書いてくれれば幸いです。
言語は visual C++ 2010です。
あと自分はまだ初めて一週間くらいの身ですので・・・
あまり詳しいことがわかりません。
最後に、文のはじめは・・・
 #include<stdio.h>

int main(void)
でお願いします。
それ以外でも変わりは無いような気がしますが・・・
自分にはそれしかわかりませんので(´・ω・`)
ご回答おねがいしますm(_ _)m

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: *によるダイヤモンド作成の問題についてです

#2

投稿記事 by softya(ソフト屋) » 14年前

学校の課題ということでないのなら、それこそ自分でやってみた方が良いと思います。
簡単なことからやってみませんか?

とりあえず、*を1つ表示するプログラムを組んでみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: *によるダイヤモンド作成の問題についてです

#3

投稿記事 by h2so5 » 14年前

学校の課題では無いにしても、
ソースを丸ごと提示するのはsicさんの理解に繋がるとは限りませんし
それほど複雑なプログラムでは無いのでまずは答えを見ずに作ってみることをお勧めします。

作る上での質問があればお答えしますので。

sic

Re: *によるダイヤモンド作成の問題についてです

#4

投稿記事 by sic » 14年前

わかりにくい質問でごめんなさい

今2日目なのです。迷い始めて・・・
何度か組んでみようと思い、いざ書き始めるのですが・・・
まず何をしたらいいかというところでつまずいてしまいます。

ソースでなくてもかまいません。
手順のようなものを教えてもらえれば結構です><
わがままいってすみません。
よろしくおねがいします(´・ω・`)

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: *によるダイヤモンド作成の問題についてです

#5

投稿記事 by h2so5 » 14年前

今の状態がちょっと分からないのですが、

何か入門書などを見て試している状況でしょうか?
開発環境の準備などは済んでいますか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: *によるダイヤモンド作成の問題についてです

#6

投稿記事 by softya(ソフト屋) » 14年前

C言語の書籍で、どのような事を今まで(2日?一週間?)学ばれましたか?
※ 今読んでいる書籍名を教えてください。

それと定番のhello wolrdは出力できますよね? → お読みに成られている書籍によるかも知れません。
printf,if,forはどの様なことが出来ると学ばれましたか?
今の自分の力でできるprintf,if,forをそれぞれ使ったものを書いてみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

sic

Re: *によるダイヤモンド作成の問題についてです

#7

投稿記事 by sic » 14年前

今読んでいる本・・・
http://ec3.images-amazon.com/images/I/5 ... _OU09_.jpg
です・・・URLですみません・・・
でも今は手元に無く学校におきっぱなしです><

今できるところまでというのは・・・
上向きピラミッドを作るくらいです。↓

コード:

int main(void)
{
	int no,mo,na,ma;

	printf("何段ですか:");
	scanf("%d",&no);

	for(mo=1;mo<=no;mo++){
		for(na=0;na<=no-mo;na++){
			putchar(' ');
		}
		for(na=0;na<mo;na++){
			if(na>=1){
				putchar('*');
			}
			putchar('*');
		}
		putchar('\n');
	}
	return 0;
}

見にくいソースですみません

ほんとに基礎中の基礎は理解しているつもりです
それに足してfor文if文を理解している状況です。
何度も申し訳ありません><

アバター
a5ua
記事: 199
登録日時: 14年前

Re: *によるダイヤモンド作成の問題についてです

#8

投稿記事 by a5ua » 14年前

では、逆向きのピラミッドは表示できますか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: *によるダイヤモンド作成の問題についてです

#9

投稿記事 by softya(ソフト屋) » 14年前

そこまで分かるなら、ダイヤモンド型も難しく無いと思いますよ。
a5ua さんが書きました:では、逆向きのピラミッドは表示できますか?
もし、a5uaさんの言われたことが出来ない場合に貼ってもらったコードの動作を日本語で書いてみてもらえますか。
それで理解度が分かりますのでお願いします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

sic

Re: *によるダイヤモンド作成の問題についてです

#10

投稿記事 by sic » 14年前

もちろん逆も可能です・・・

ですが!頭が固いというかなんというか

そこからどのように構成していけばいいのかがわからないのです・・・

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: *によるダイヤモンド作成の問題についてです

#11

投稿記事 by softya(ソフト屋) » 14年前

sic さんが書きました:もちろん逆も可能です・・・

ですが!頭が固いというかなんというか

そこからどのように構成していけばいいのかがわからないのです・・・
とりあえず、逆版を書いてみてください。
出来ると思っていると、実際に出来るかは別ですので。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

sic

Re: *によるダイヤモンド作成の問題についてです

#12

投稿記事 by sic » 14年前

ごめんなさい。

自分の事情で貼り付けることはできません><
PCが重過ぎて・・・visual C++ 2010が開けません・・・
だからといって間違っているかもしれないのを張るわけにも行かないので
ですが自分のノートには一応書いておきました。
というより前作ったものを書き留めています

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: *によるダイヤモンド作成の問題についてです

#13

投稿記事 by softya(ソフト屋) » 14年前

もし、visual C++ 2010が重いぐらいのスペックのノートならばVisual C++ 2008 Express Editionをお勧めします。こちらの方が軽いです。
「太田研究室 > Visual C++ 2008 Express Edition プログラミング入門」
http://cvwww.ee.ous.ac.jp/vc08prog.html
インストールもVisual C++ 2010 Express と大差ありません。
「太田研究室 > Visual C++ 2008 Express Edition インストール メモ」
http://cvwww.ee.ous.ac.jp/vc08inst.html
C言語として見れば差はありません。
sic さんが書きました:だからといって間違っているかもしれないのを張るわけにも行かないので
とりあえず、貼りつけてもらっても良いですよ。
多少の間違いがあっても理解度は分かりますから。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

sic

Re: *によるダイヤモンド作成の問題についてです

#14

投稿記事 by sic » 14年前

なんかここまでしてもらって申し訳ないのですが

諸事情によりPCを親に渡さなければならなくなったので・・・

すみませんソースは明日になるかと・・・

現在もiPhoneから書き込んでいます

本当にごめんなさい!

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: *によるダイヤモンド作成の問題についてです

#15

投稿記事 by softya(ソフト屋) » 14年前

iPhoneでもソースは書けますよ。
このサイトでソースを打ち込むとコンパイル・実行できます。
http://ideone.com/
ただし、scanfは出来ないので即値で入力してください。

実行サンプル。
http://ideone.com/DoM8F
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

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

Re: *によるダイヤモンド作成の問題についてです

#16

投稿記事 by box » 14年前

sic さんが書きました: だからといって間違っているかもしれないのを張るわけにも行かないので
ちょっとわからないですね。
間違っているかもしれないコードを貼り付けることで、
質問者さんが抱えている問題点がここを見ている人たちに見えるようになるのではありませんか?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

sic

Re: *によるダイヤモンド作成の問題についてです

#17

投稿記事 by sic » 14年前

自分勝手ですみません!

今日先輩に手取り足取り教わりまして・・・

なんとか解くことが出来ました。。。

ありがとうございました。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: *によるダイヤモンド作成の問題についてです

#18

投稿記事 by softya(ソフト屋) » 14年前

sic さんが書きました:自分勝手ですみません!

今日先輩に手取り足取り教わりまして・・・

なんとか解くことが出来ました。。。

ありがとうございました。
今までの話の流れから推測すると、学校の課題ではないが部活の課題だったって事でしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

sic

Re: *によるダイヤモンド作成の問題についてです

#19

投稿記事 by sic » 14年前

いえいえ

独学ですよ?

部活でもたしかにやっていますが

これは自分で応用問題をしているだけです

閉鎖

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