授業の課題です。よろしくお願いします。

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

授業の課題です。よろしくお願いします。

#1

投稿記事 by Keeenta » 7年前

C++ プログラミングについて質問です。
#include <stdio.h>
int main(void)

(例) 何段にしますか? 6

☆★☆★☆★
★☆★☆★
☆★☆★
★☆★
☆★


このようになるプログラミングを教えてください。授業で課題を出されたのですが、よく分かりません。
よろしくお願いします。

また、このようなパターンも教えていただけると助かります。

★☆★☆★☆
★☆★☆★
★☆★☆
★☆★
★☆




☆☆☆☆☆☆
★★★★★
☆☆☆☆
★★★
☆☆


です。

よろしくお願いします。

nai

Re: 授業の課題です。よろしくお願いします。

#2

投稿記事 by nai » 7年前

フォーラムルールより

課題の丸投げ(問題文だけ書く事)は禁止です。
ただし上のように記載してもらえればこれは当てはまりません。
自分でどこまでやったのか、今どこが解らないのかを明確にして下さい。
さっぱり解らず、手も足も出ない時は、その事を明記の上、
勉強方法からアドバイスを受けましょう。
どうしても提出期限の関係で答えが欲しい時はその事をしっかり明記の上、
回答者さん達の理解を求めるようにしましょう。
また、解決した時は、「解決しました」とだけ言って去らず、ソースコードや解決した方法を明記して下さい。
同じ事で困っている人の為に過去ログに有用な情報を残すようお願いします。

Keeenta

Re: 授業の課題です。よろしくお願いします。

#3

投稿記事 by Keeenta » 7年前

失礼しました。
申し訳ございませんが、根本的にわかりません。先週の授業を風邪で休んでしまい、まったく理解していません。
私は友達も少なく、近くの人に教えてもらうこともできません。
期限が次の火曜日まででとても焦っています。
自分が悪いということはじゅぶん承知しております。

だんごさん
記事: 273
登録日時: 8年前

Re: 授業の課題です。よろしくお願いします。

#4

投稿記事 by だんごさん » 7年前

星を何段にするか入力してもらって表示する感じですかね?
根本的に分からないとおっしゃっていましたが、どこがどう分からないのでしょうか?

まず、星を表示するのは後にして、何段にするか入力してもらうだけのプログラムは書けますか?
あなたがどこまで知識があるのか教えてください。
 Dango San

アバター
little
記事: 44
登録日時: 8年前
連絡を取る:

Re: 授業の課題です。よろしくお願いします。

#5

投稿記事 by little » 7年前

Keeenta さんが書きました:C++ プログラミングについて質問です。
#include <stdio.h>
int main(void)
おそらく、C++ではなくCだと思います。
とりあえず、C++の一例として

コード:


#include <iostream>

int main()
{
	using namespace std;
	int Xcnt, Ycnt;

	cout << "何段にしますか?";
	cin >> Ycnt;									// 縦ループ数入力受付

	for ( ; Ycnt > 0; Ycnt-- ){						// 縦ループ
		for ( Xcnt = Ycnt; Xcnt > 0; Xcnt-- ){		// 横出力数代入し、0までループ
			if ( Xcnt%2 ) cout << "★" ;			// 奇数が通る("★")出力
			else cout << "☆";						// 偶数が通る("☆")出力
		}
		cout << endl;								// 横ループ終了時改行
	}

	return 0;
}
こんなかんじになると思います。
流れが理解できれば、Cでも応用も簡単だと思います。


風邪は辛いですよね...orz
百聞は~

アバター
てんむすキツネ
記事: 88
登録日時: 9年前
住所: 岡山

Re: 授業の課題です。よろしくお願いします。

#6

投稿記事 by てんむすキツネ » 7年前

どちらにしろ、forやif、変数宣言くらいができないと
この先が大変になるのでは?

上の方はc++で書いてますがcでは
文字描画はprintf();でいいとおもいます。
キーボードの入力を受け取るのはscanf();関数です。

詳しくはググってください。

一度に全部の機能を創るのはなく

①とりあえずウインドウを表示してみる
②画面に、「何段にする?」という文字を表示させる。
③変数を宣言して[i = 5;] それの値をprintf("%d",i);で表示させる。(変数の値を表示する)
④キー入力を受け取る処理を書く。(iに受け取る)(↑で書いた値を表示させる部分できちんと受け取っているか確認する)
⑤とりあえず、指定された数値の数だけ☆を表示する(段にはしない)
⑥☆★を交互に表示する。(2で割ったあまりを使って偶数の時、奇数の時という条件を使ってみてください)
⑦段にする。(多重ループ。第一ループ終えるたびに、第二ループの回数を減らしていく)

という流れで作れば、少しずつでも確実にできるはずです。
★の並び順を変えるのは条件を変えればいいだけ。

奇数=★ 偶数=☆ だったのを 奇数=☆ 偶数=★
に変えたり。
奇数か偶数か判別していた元の値(iとか)
を変える、とか。

まぁ、頑張ってください。期限も期限ですが、
慣れてくれば1時間もなくとも作れるものなので。
MLP!MLP!

初級者
記事: 200
登録日時: 9年前

Re: 授業の課題です。よろしくお願いします。

#7

投稿記事 by 初級者 » 7年前

とりあえず、最初の課題だけCで作ってみました。

コード:

#include <stdio.h>

int main(void)
{
    int n, i, j;

    printf("何段にしますか? "), scanf("%d", &n);
    for (i = n - 1; i >= 0; i--) {
        for (j = 0; j <= i; j++) {
            if (i % 2 == 0) {
                printf((j % 2 == 0) ? "★" : "☆");
            }
            else {
                printf((j % 2 == 0) ? "☆" : "★");
            }
        }
        putchar('\n');
    }
    return 0;
}

初級者
記事: 200
登録日時: 9年前

Re: 授業の課題です。よろしくお願いします。

#8

投稿記事 by 初級者 » 7年前

どうせならということで、作ってみました。

コード:

#include <stdio.h>

void p(int n)
{
    int i, j;

    for (i = n - 1; i >= 0; i--) {
        for (j = 0; j <= i; j++)
            printf(i % 2 ? (j % 2 ? "★" : "☆") : (j % 2 ? "☆" : "★"));
        printf("\n");
    }
    printf("\n");
}

void q(int n)
{
    int i, j;

    for (i = n - 1; i >= 0; i--) {
        for (j = 0; j <= i; j++)
            printf(i % 2 ? (j % 2 ? "☆" : "★") : (j % 2 ? "☆" : "★"));
        printf("\n");
    }
    printf("\n");
}

void r(int n)
{
    int i, j;

    for (i = n - 1; i >= 0; i--) {
        for (j = 0; j <= i; j++)
            printf(i % 2 ? "★" : "☆");
        printf("\n");
    }
    printf("\n");
}

int main(void)
{
    int n;

    printf("何段にしますか? "), scanf("%d", &n);
    p(n), q(n), r(n);
    return 0;
}

閉鎖

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