学校の課題がわからなくて困ってます。

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

学校の課題がわからなくて困ってます。

#1

投稿記事 by 地味な学生 » 15年前

はじめまして、タイトルのとおり学校の課題がわからなくて困ってます。
自分はC言語が苦手でほとんどわからない状態です。
課題の内容は下に書いたとおりです。

1. 入力された3つの整数を値の大きい順に並び変えよ。
2. 入力された数値まで1から順に表示せよ。(while文とfor文、両パターン作ること)
  例 入力値5→表示1 2 3 4 5
3. 入力された数値から1まで順に表示せよ。(while文とfor文、両パターン作ること)
  例 入力値5→表示5 4 3 2 1
4. 入力された数値まで1から順に足していき、その合計値も表示せよ
  例 入力値5→表示1+2+3+4+5=15
5. 関数y=-x^2+2x+5におけるxとyの対応表を表示せよ。(縦方向)
  ただし(-2<=x<=4)の範囲でxは整数のみとする。
6. 5の課題を今度は横方向で表示せよ。
7. 1+2+3+4…という風に足していき、合計値が10000になる最小の値を求めよ。
8. 1から、入力した数値までの値と、1から、入力した値までの累計した数値の対応表を表示せよ。
9. 入力した値を素因数分解したときの値を全て表示せよ。ただし、入力値は(2以上とする。)
  例 入力値42→表示2 3 7 例2 入力値340→表示2 2 5 17
10. 二つ値を入力し、その二つの最大公約数を求めよ。ただし、ユークリッド互除法で解くこと。

長々と書いてしまってすみません。上にも書いたとおりC言語が苦手なので
皆さんの知恵をお借りしたいと思います。どうか回答のほうよろしくお願いします。

シエル

Re:学校の課題がわからなくて困ってます。

#2

投稿記事 by シエル » 15年前

丸投げではなくて、自分はどの辺まで出来るのか、
出来るところまでのコードを提示したほうがいいですよ。

地味な学生

Re:学校の課題がわからなくて困ってます。

#3

投稿記事 by 地味な学生 » 15年前

自分ができるのはprintf関数を使って文字や数字を表示するとか
puts関数ぐらいしかまともにできません。
たとえばprintf(%d,123);やputs(こんにちは);←これぐらいしかできません。
ちなみに今学校ではwhile文やfor文をやっているのですがまったくついていけません。
ほとんど無知な私にこの課題が出たので本当にどうしようか悩んでます。
上に書いたとおり自分にはprintf関数やputs関数を書くぐらいがせいぜいです。
なので、この掲示板でわかっている方に教わりたと思います。

ookami

Re:学校の課題がわからなくて困ってます。

#4

投稿記事 by ookami » 15年前

まず、手元にプログラムを書いて動かす環境はありますか?学校のPCのみですとかだとキビシイので...

また、課題の期限はいつですか?

あと理解度ですが... 例えばこちらのサイトなどでは、何章あたりまで理解できるでしょうか?
http://www.kumei.ne.jp/c_lang/index_c.html

地味な学生

Re:学校の課題がわからなくて困ってます。

#5

投稿記事 by 地味な学生 » 15年前

手元にある、C言語を動かす環境はないです。
なので今家のパソコンで.cを作って学校のパソコンで
コンパイルしている状況です。

課題の提出期限は今月の16日までです。

さっきhttp://www.kumei.ne.jp/c_lang/index_c.htmlを見ましたが。
自分に理解できるのは6章ぐらいまでがせいぜいです。

課題は成績に影響するので、絶対に期限までに出したいです。

ookami

Re:学校の課題がわからなくて困ってます。

#6

投稿記事 by ookami » 15年前

手元にないのは痛いですね...^^;

先に、
http://www.microsoft.com/japan/msdn/vstudio/express/
などから、開発環境をダウンロードするのがいいと思います。Express Edition は無料です。
できれば学校のコンパイル環境と同じなのが望ましいです。

ともかく自分で動かしてみながら理解を深めていかないと、
掲示板のやり取りだけでは
「まずは自分で動かしてみましょう」とか言われかねません。

かといって、学校のみでは16日に間に合わない可能性が。

こちらの掲示板のほとんどの方は、
直接答えを示したり「これコンパイルしたら動くから」ということは
していませんので、かなりの部分を自助努力で埋めないといけないと思います。

というのもあって、手元にコンパイル環境は必須と思います。


> 自分に理解できるのは6章ぐらいまで
少々乱暴な言い方かもしれませんが...えぇと...「頭では」理解している、ということですよね。
実際、最初に示された
> printf(%d,123);やputs(こんにちは);
は動かないのです。"(ダブルクォーテーション)が無いので...。

こういったことも、実際にコンパイルしてみないと、実感としては分からなかったと思います。
というのもあって、手元にコンパイル環境は必須と思います。(繰り返しw ちょw


--

とはいえ、これでは「丸投げ返し」なので...どうしましょう。
まずは手始めに、
> 1. 入力された3つの整数を値の大きい順に並び変えよ。
から、おおまかな流れを示そうかと思ったのですが、

...「1」より「2」の方が簡単そうですね...

# 「1」はいきなり配列がいりますもんね... あえて使わずにやるのか...?
# 「2」は入力とforループだけで済むので...。

http://www.kumei.ne.jp/c_lang/intro/no_06.htm
を参考に数値を入力して、

http://www.kumei.ne.jp/c_lang/intro/no_13.htm
http://www.kumei.ne.jp/c_lang/intro/no_14.htm
を参考に while バージョン、forバージョンを作るのが、まずはいいと思います。

パコネコ

Re:学校の課題がわからなくて困ってます。

#7

投稿記事 by パコネコ » 15年前

質問いいですか?
1~9まではだいたいプログラム浮かぶんですが、ユークリッド互除法というものが何なのか?知りません。もしくは忘れました。
もしかしたら検定試験の勉強のときに学んだかもしれませんが思い出せません、どんなものだったでしょうか?
そんなに詳しく出なくてもいいので教えてくれませんか?

パコネコ

Re:学校の課題がわからなくて困ってます。

#8

投稿記事 by パコネコ » 15年前

1~3ってソートですよね。
特に何ソートを使えとは、なかったんですか?
基本ソートでいいのかな?
ちなみに基本ソートとは
比べるデータが4つのとき
1つ目と2つ目を比べる
1つ目と3つ目を比べる
1つ目と4つ目を比べる
    ↓
2つ目と3つ目を比べる
2つ目と4つ目を比べる
    ↓
3つ目と4つ目を比べる
という感じに比べていく方法です
ちなみに入れ替えはできますか?もしくはやったことありますか?
======================
ついで(暇)なのでバブルソートも書いときます
3と4を比べる
2と3を比べる
1と2を比べる
  ↓
3と4を比べる
2と3を比べる
  ↓
3と4を比べる
イメージは下から上へ持ち上げる感じです。
比べるというのは正確には、
比べた後に入れ替えるという意味です。


画像

dic

Re:学校の課題がわからなくて困ってます。

#9

投稿記事 by dic » 15年前

1問もできないとなると
そうとうやばいかと

パコネコ

Re:学校の課題がわからなくて困ってます。

#10

投稿記事 by パコネコ » 15年前

まずはforからですかね。
ついでにwhileもないと問題解けませんし…
ここの主さんがいつこれるのかということで、時間が足りるか変わってきますね。

シエル

Re:学校の課題がわからなくて困ってます。

#11

投稿記事 by シエル » 15年前

まず一つずつやっていきましょう。

三つの数字を入力できるようにするコードは書けますか?

パコネコ

Re:学校の課題がわからなくて困ってます。

#12

投稿記事 by パコネコ » 15年前

最初の投稿からみると、お昼に来そうですね。
明日ワイこれないのが、残念

ookami

Re:学校の課題がわからなくて困ってます。

#13

投稿記事 by ookami » 15年前

とりあえず、「ユークリッドの互除法」でググってみると、wikipedia先生が応答しました。
http://ja.wikipedia.org/wiki/%E3%83%A6% ... 4%E6%B3%95
とにかく剰余を求め続けるだけで最大公約数が出るという、初見はビックリなアルゴリズムですね。

シエル

Re:学校の課題がわからなくて困ってます。

#14

投稿記事 by シエル » 15年前

へぇ~ていうアルゴリズムですけど、使えない気がする…

パコネコ

Re:学校の課題がわからなくて困ってます。

#15

投稿記事 by パコネコ » 15年前

なるほど…これは知らなかったですね。
プログラムにするならサブルーチン?違いますねwhile文のほうが簡単そうですね。
宿題に出るくらいだから習ってるんでしょうが、知らなきゃ絶対無理でしょ…
主さん、プログラム的には簡単そうだからがんばってください

パコネコ

Re:学校の課題がわからなくて困ってます。

#16

投稿記事 by パコネコ » 15年前

暇なのでそれぞれのヒントを書いとこうと思います。

>1. 入力された3つの整数を値の大きい順に並び変えよ。
 scanf if (while || for)使わなくても可 構造体(使わなくても可)
>2. 入力された数値まで1から順に表示せよ。(while文とfor文、両パターン作ること)
  例 入力値5→表示1 2 3 4 5
 scanf if (for || while)どっちかというかどっちも可
>3. 入力された数値から1まで順に表示せよ。(while文とfor文、両パターン作ること)
  例 入力値5→表示5 4 3 2 1
 2と同じ
>4. 入力された数値まで1から順に足していき、その合計値も表示せよ
  例 入力値5→表示1+2+3+4+5=15
 2と同じ 変数が一つ増える
>5. 関数y=-x^2+2x+5におけるxとyの対応表を表示せよ。(縦方向)
  ただし(-2<=x<=4)の範囲でxは整数のみとする。
 for文(お勧め初期値を-2で終了条件は4にすればできる)
>6. 5の課題を今度は横方向で表示せよ。
 printfの使い方次第
 改行の場所とか
 いまいち理解できないけど…
>7. 1+2+3+4…という風に足していき、合計値が10000になる最小の値を求めよ。
 while文で合計用の変数を準備
>8. 1から、入力した数値までの値と、1から、入力した値までの累計した数値の対応表を表示せよ。
 合計を出しながらprintf文で描写する。
>9. 入力した値を素因数分解したときの値を全て表示せよ。ただし、入力値は(2以上とする。)
  例 入力値42→表示2 3 7 例2 入力値340→表示2 2 5 17
 while %で余りを出すのを条件に使います。
>10. 二つ値を入力し、その二つの最大公約数を求めよ。ただし、ユークリッド互除法で解くこと。
 whileかな? ユークリッド互換法みてきてください。
使うと思われるものを書いてみました。
途中で飽きたのは秘密です。
ではまた明日
===========
いまさらですが(7月5日)その場でバーっと書いてしまったので、不適切な場所があるかもしれません。(多分ある)
こっちのほうがいいという案(ヒント)があったら、書いておいてください。
書き方がかなり雑で見ずらいですし…お手数掛けます 画像

しろ

Re:学校の課題がわからなくて困ってます。

#17

投稿記事 by しろ » 15年前

ユークリッドの互除法は初等整数論においてきわめて重要なアルゴリズムだと思います。特に一次の不定方程式を議論する際にはかかせません。

パコネコ

Re:学校の課題がわからなくて困ってます。

#18

投稿記事 by パコネコ » 15年前

地味な学生さんいつ頃これるんだろ…お昼くらいだと思ってたのに…予想外れた
夜にはのぞいていくかな?

たかぎ

Re:学校の課題がわからなくて困ってます。

#19

投稿記事 by たかぎ » 15年前

> 地味な学生さんいつ頃これるんだろ…お昼くらいだと思ってたのに…予想外れた

もういいのでは?
あるいは、どこかでマルチポストしているとか...

パコネコ

Re:学校の課題がわからなくて困ってます。

#20

投稿記事 by パコネコ » 15年前

何気に2週間ぐらい期限がありますしね。
前から気になっていたのですが、マルチポストってなんですか?
他の場所でも聞いている、という意味ですか?
============
マルチポスト書いてましたね。

画像

地味な学生

Re:学校の課題がわからなくて困ってます。

#21

投稿記事 by 地味な学生 » 15年前

皆さん返信ありがとうございます。
土曜日と日曜日に企業研修に行ってたため返信することができなくてすみませんでした。

パコネコさんscanf ifってどういう関数ですか?学校でまだ習ってないので教えてくれませんか?
ちなみに今まで学校で習ったのは「printf puts putchar scanf while文 for文 do文 if文」のみです。
課題に関しては、ちゃんと動くプログラムができていれば
今まで習ってきた関数でないものを使っても、どんなプログラムを組んでもいいそうです。
そのscanf ifというのを使って簡単にプログラムが組めるようならチャレンジしてみようと思います。
今後の勉強にもなりますしね。

fatens

Re:学校の課題がわからなくて困ってます。

#22

投稿記事 by fatens » 15年前

>scanf ifってどういう関数ですか?

scanf 関数とif 文です。

地味な学生

Re:学校の課題がわからなくて困ってます。

#23

投稿記事 by 地味な学生 » 15年前

>scanf 関数とif 文です。
つまりscanfとif文、両方を使うという解釈でいいのですか?
それともscanf ifというものが存在するのでしょうか?

fatens

Re:学校の課題がわからなくて困ってます。

#24

投稿記事 by fatens » 15年前

>つまりscanfとif文、両方を使うという解釈でいいのですか?

こっちです。
課題1の場合、3つの数値の入力にscanf 関数を使い、大きい順という比較にif 文を使います。

だいちゃん

Re:学校の課題がわからなくて困ってます。

#25

投稿記事 by だいちゃん » 15年前

>地味な学生さん

とりあえず言葉のやりとりばっかで全然コードが出てこないので
アドバイスがしにくいです
どこまで分かっているのかがまだ見えてきません
課題の1番を出来るところまでコードにしてみませんか?

①3つの数字を入力させる(scanf)
②比較を行う(if)
③表示する(printf)

基本的にこれだけですが
どこでつまずきますか?
コンパイルが失敗しても構いません
実行結果がおかしくなっても構いません
とりあえず今の時点で出来るとこまでのコードを書いてみて載せてください

地味な学生

Re:学校の課題がわからなくて困ってます。

#26

投稿記事 by 地味な学生 » 15年前

なるほど、数字の入力はscanf関数を使って入力し、
比較にはif文を使ってプログラムするといいのですね。

if文はどのように組むといいですか?
比較対象が三つありますからifとelseだけじゃ足りませんよね。
どうすればいいんでしょうか。

へろりくしょん

Re:学校の課題がわからなくて困ってます。

#27

投稿記事 by へろりくしょん » 15年前

>if文はどのように組むといいですか?
>比較対象が三つありますからifとelseだけじゃ足りませんよね。


else は次に続く文を実行しますから、

if(...){
}else if(...){
}else if(...){
}

って続けて書いても大丈夫です。


1000個でも2000個でもどんと来いです。


分かりにくければ、
if(...){
}else{
    if(...){
    }else{
        if(...){
        }
    }
}
て、しちゃえばいいです。 お勧めはしませんが。
この場合は1000個は無理です。

パコネコ

Re:学校の課題がわからなくて困ってます。

#28

投稿記事 by パコネコ » 15年前

なんか説明不足ですいませんでした。
勝手にわかるかな~とか思ってしまいました。
ちゃんと「~文」と書かないとだめですね。
3個を比べるのも100個比べるのも同じです。
たとえば…例を書きますね。(小さいものを上に置くとします)

宣言より上は、はしょります。
for(a=0;a<n-1;a++){//n個の場合
for(b=a+1;b<n;b++){
if(x[a]>x){//x[a]よりxのほうが小さいとき
//入れ替え
c=x[a];
x[a]=x;
x=c;
}
}
}
/*
ちなみに基本ソートとは
比べるデータが4つのとき
1つ目と2つ目を比べる
1つ目と3つ目を比べる
1つ目と4つ目を比べる
    ↓
2つ目と3つ目を比べる
2つ目と4つ目を比べる
    ↓
3つ目と4つ目を比べる
*/
これで基本ソートができます。
100個でもとか言っちゃったからx[n]使ってます。
書きすぎたかな?
================
前ヒントのとこで構造体と書いたのはミスです。
配列と間違えました(名前間違えた)。すいません
配列はわかりますか? 画像

だいちゃん

Re:学校の課題がわからなくて困ってます。

#29

投稿記事 by だいちゃん » 15年前

まだ課題1ですよね今・・・

このペースだと全部解決するまでに
何回質疑応答を繰り返せばいいのか・・・

if文とか根本的にわかんないならとりあえず調べてからのほうがいいのでは?
googleで「C言語 if」とか調べればいくらでも出てきますから
1個1個ここで聞いてたら時間がいくらあっても足りませんよ

パコネコ

Re:学校の課題がわからなくて困ってます。

#30

投稿記事 by パコネコ » 15年前

終わらそうと思えば1日で終わる気もしますが…やっぱり一つ一つの関数が理解できてからやるほうが断然早いですね。
基本的に前の問題を改造して作れ的なものが何個かあるので、問題数も少し少なく見てもいいと思う。

地味な学生

Re:学校の課題がわからなくて困ってます。

#31

投稿記事 by 地味な学生 » 15年前

皆さんのアドバイスをもとに自分なりに作ってみました。

#include <stdio.h>

int main(void)
{
int a, b, c;

printf("Input,please:"); scanf("%d",&a);
printf("Input,please:"); scanf("%d",&b);
printf("Input,please:"); scanf("%d",&c);

if(a > b&&b > c)
printf("%d %d %d", a, b, c);
else if(a > c&&c > b)
printf("%d %d %d", a, c, b);
else if(b > a&&a > c)
printf("%d %d %d", b, a, c);
else if(b > c&&c > a)
printf("%d %d %d", b, c, a);
else if(c > a&&a > b)
printf("%d %d %d", c, a, b);
else
printf("%d %d %d", c, b, a);

return(0);
}

ookami

Re:学校の課題がわからなくて困ってます。

#32

投稿記事 by ookami » 15年前

取り急ぎ、気になった点のみ…
2 2 1などの場合、正しく動きますか?

パコネコ

Re:学校の課題がわからなくて困ってます。

#33

投稿記事 by パコネコ » 15年前

>1. 入力された3つの整数を値の大きい順に並び変えよ
大きい順に描写せよならそれでもいいかもしれませんが…並び変えたほうがいいですよ。
並び変え方は
AとBを並び替える場合
関係ないものCに一旦収納する感じですが…プログラム的には
C=A;//Aの値をCに避難
A=B;//AにBの値を入れる(Aの値は塗りつぶされる)
B=C;//BにC(もともとのA)を入れる
になります。
覚えておくと便利。
=====================
これは並び替え方ではなく入れ替え方です。
並び替えるならソート機能を作って入れ替えを何度も行うといいです。 画像

ookami

Re:学校の課題がわからなくて困ってます。

#34

投稿記事 by ookami » 15年前

そう、そこは私も気になってるんですよ。
ただ、パコネコさんのおっしゃるように「ソート」だと、
10問のうち1だけ妙に難易度高い気がするんですよね。

学生さん、問題に詳しく指定はありませんでしたか?
配列を使えだとか、
ソートするだとか。
逆に使わなくてよいだとか。

パコネコ

Re:学校の課題がわからなくて困ってます。

#35

投稿記事 by パコネコ » 15年前

じゃもっと簡単なソートもどきでも使います?
一個目入力
二個目入力
1個目と2個目を比較して大きいほうをmaxに小さいほうをminに
3個目入力maxより大きければmaxをnormaruに入れて3個目をmaxへ
違うならminと比較minより小さければminをnormaruに入れて3個目をminへ
それも違うならnormaruへ
配列使うならmaxとかをx[0~2]にすればいい
まだ簡単にはなった。
if文とscanf文しか使ってないし、後は描写だけ
他より難しいと言われても、2と3は確認問題みたいな感じですし…for文とwhile文の
=================
一応プログラムだと
scanf("%d",&a);
scanf("%d",&b);
//大きいほうをmaxへ、小さいほうをminへ
if(a<b){
max=b;
min=a;
}else{
max=a;
min=b;
}
scanf("%d",&c);
//cを入れる場所判定
if(max<c){
normaru=max;
max=c;
}
else if(c<min){
normaru=min;
min=c;
}
else normaru=c;
描写は書いてません 画像

地味な学生

Re:学校の課題がわからなくて困ってます。

#36

投稿記事 by 地味な学生 » 15年前

パコネコさん、ソートという大変便利な方法を教えてくださってありがとうございます。
確かにif文を使って作ろうとすると、入力する回数分の
ifやelse ifを作らなくてはいけないので大変ですよね。
問1は片付きました。

問2と問3はwhile文 for文を使って解くのらしいですが、この二つの文はどう違のですか。
解き方のヒントとして先生が言うにはインクルメント?とかいうことをするのらしいですが
これってどのようにすればいいんでしょうか。

初歩的な質問ですみません。

パコネコ

Re:学校の課題がわからなくて困ってます。

#37

投稿記事 by パコネコ » 15年前

[/color]インクルメントは知らないですが…
同じことをやってみます。
for(a=0;a<n;a++){
;
}
a=0;
while(a<n){
a++;
}

fatens

Re:学校の課題がわからなくて困ってます。

#38

投稿記事 by fatens » 15年前

>問2と問3はwhile文 for文を使って解くのらしいですが、この二つの文はどう違のですか。

for (式1; 式2; 式3) {
...
}



式1;
while (式2) {
...
式3;
}

という関係にあります。
一部動作の異なる点もあるのですが、今回は気にしなくて良いでしょう。


>解き方のヒントとして先生が言うにはインクルメント?とかいうことをするのらしいですが

インクリメントは1ずつ増やしていくことで、反対に1ずつ減らしていくことをデクリメントといいます。

地味な学生

Re:学校の課題がわからなくて困ってます。

#39

投稿記事 by 地味な学生 » 15年前

返信ありがとうございます。
インクルメントではなくてインクリメントでしたか。
問2、問3は数字を1ずつ増やしていき、(もうひとつの問題のほうは減らしていき)
それを全て表示するようなプログラムを組めばいいのですね。

解説を見てると、数式が入る位置以外は全て同じなんですよね?

このwhile文 for文は一体どのように動くのでしょうか。
数字を1ずつ足していくのはインクリメント、
数字を1ずつ減らしていくのはデクリメントですね。

これを使えばすぐにできそうな気がするのですが、このwhile文やfor文は
どのように扱えばいいのでしょうか。

組木紙織

Re:学校の課題がわからなくて困ってます。

#40

投稿記事 by 組木紙織 » 15年前

地味な学生さんへ。

入門書か入門サイト手元にありますか?

掲示板で聞くべきでない
(聞くよりも自分で調べたほうが早くかたづくand理解できるという意味で)
質問を良くしているような気がしています。

コンパイラはもう手元にありますよね?
聞くよりも先(or聞いてからすぐ)に試してみたらどうですか?
その方が短時間で完成させれるし、身に着くはずです。

パコネコ

Re:学校の課題がわからなくて困ってます。

#41

投稿記事 by パコネコ » 15年前

仕方ないので問2を考えてみましょう(3は自分で…)
for文の場合
for(a=0;a<n;a++){
printf("%d \n",a);
}
while文
a=0;
while(a<n){
printf("%d",a);
a++;
}
こんな感じですかね…理解できないところは聞いてください。
それで3をやってみてください

fatens

Re:学校の課題がわからなくて困ってます。

#42

投稿記事 by fatens » 15年前

>パコネコさん

1から入力された数値までなので、a = 1, a <= n です。

パコネコ

Re:学校の課題がわからなくて困ってます。

#43

投稿記事 by パコネコ » 15年前

あ、ほんとですね。
無駄ですが
printf("%d",a+1);
にしてあがいてみます。

fatens

Re:学校の課題がわからなくて困ってます。

#44

投稿記事 by fatens » 15年前

まあそれはともかく。

課題7ですが、10000ジャストにはならないと思いますが、問題文は正しいですか。
最小の値というのは10000を超えたときの最小の値ということなのでしょうか?

パコネコ

Re:学校の課題がわからなくて困ってます。

#45

投稿記事 by パコネコ » 15年前

/*
課題7ですが、10000ジャストにはならないと思いますが、問題文は正しいですか。
最小の値というのは10000を超えたときの最小の値ということなのでしょうか?
*/
多分下じゃないですか?似たようなの見たことあるし…まあ主さんに聞かないとわかりませんが…

地味な学生

Re:学校の課題がわからなくて困ってます。

#46

投稿記事 by 地味な学生 » 15年前

課題7は1+2+3+4+5+6…と足していき、累計が10000を超えるときの数字を求めるらしいです。
表現がわかりにくかったかもしれませんね。

課題2のfor文はこんな感じで作ってみたのですがどうでしょうか。

#include <stdio.h>

int main(void)
{
int a, b;

printf("Input,please:"); scanf("%d",&a);

for(b=1;a>b;b++)
    printf("%d\n",b);

return(0);
}

fatens

Re:学校の課題がわからなくて困ってます。

#47

投稿記事 by fatens » 15年前

>課題7は1+2+3+4+5+6…と足していき、累計が10000を超えるときの数字を求めるらしいです。

了解です。


>課題2のfor文はこんな感じで作ってみたのですがどうでしょうか。

実行してみましたか?
入力された数値、すなわちaの値も出力しなければなりません。

地味な学生

Re:学校の課題がわからなくて困ってます。

#48

投稿記事 by 地味な学生 » 15年前

すみません、自宅のパソコンではコンパイルできないので
学校でするしかないんです。
上の自分で作ったプログラムはちゃんとできてますかね?
入力された数字までbを1づつ増やしていき、
aになったら処理をやめる。というイメージで作ったのですが

ROM

Re:学校の課題がわからなくて困ってます。

#49

投稿記事 by ROM » 15年前

C言語の勉強は自分のPCにコンパイラを導入する所から始まります。
コンパイラ無しにプログラムを勉強しようなど、学校にノート無しで勉強に行くようなものです。

まずはインストールしましょう。
http://www.microsoft.com/japan/msdn/vstudio/express/

シエル

Re:学校の課題がわからなくて困ってます。

#50

投稿記事 by シエル » 15年前

無料のコンパイラをインストールして、
自分で作ったプログラムをまず実行して、エラーが出たところをここで聞く、
というような流れにしたほうが、効率が良くて、理解も深まると思われますが。
って、もう他の方が同じこと言ってましたね。。。

パコネコ

Re:学校の課題がわからなくて困ってます。

#51

投稿記事 by パコネコ » 15年前

一応起動してみた…(スタディC)
>   printf("%d\n",b);
ここのスペースが大文字だって怒られた…直して起動
Input,please:4
1
2
3
という実行結果になった。
自分でできたほうが早いんですが…今すぐでなくてもそのうち入れたほうがいいと思います。
================
お、123ポイント
本当なら1234と出力されないといけないんですよね。
あ、4と入力した場合ですよ…
どこが間違ってたか、わかりますか?
画像

地味な学生

Re:学校の課題がわからなくて困ってます。

#52

投稿記事 by 地味な学生 » 15年前

間違っているようなので訂正しました。

#include <stdio.h>

int main(void)
{
int a, b;

printf("Input,please:"); scanf("%d",&a);

for(b=1;(a+1)>b;b++)
    printf("%d\n",b);

return(0);
}

パコネコ

Re:学校の課題がわからなくて困ってます。

#53

投稿記事 by パコネコ » 15年前

確認しました。
Input,please:5
1
2
3
4
5
となりました。

地味な学生

Re:学校の課題がわからなくて困ってます。

#54

投稿記事 by 地味な学生 » 15年前

パコネコさん確認ありがとうございます。

課題3のfor文はさっきのを応用すれば出来そうなので作ってみました。

#include <stdio.h>

int main(void)
{
int a, b;

printf("Input,please:"); scanf("%d",&a);

for(b=0;a>b;a--)
    printf("%d\n",a);

return(0);
}

パコネコ

Re:学校の課題がわからなくて困ってます。

#55

投稿記事 by パコネコ » 15年前

Input,please:5
5
4
3
2
1

となりました。
多分できていると思います。

ookami

Re:学校の課題がわからなくて困ってます。

#56

投稿記事 by ookami » 15年前

私からの指摘は全て無視されているようですね。
No. 55757, 56024, 56026

コンパイラもまだないようですし。
問1 で結局ソートにしたのかどうか...
2 2 1 など 同じ数字が出てきた場合に対応できたのか...
まったく返事がありません。

学生さん、他の方もおっしゃっていますが、
まずは自分で調べたり、コンパイルして実行して試すのがスジです。
それもしないで

> 課題は成績に影響するので、絶対に期限までに出したいです。

というのは、おかしな話です。

組木紙織

Re:学校の課題がわからなくて困ってます。

#57

投稿記事 by 組木紙織 » 15年前

コンパイラを導入できないのなら理由を書いてください。
そうすれば(多分)対処法のアドバスができます。

現状できる状態なのにやってないとしか思われないです。






#個人的にはパコネコさんの対応は甘やかしすぎだと思っています。



//追記
問題に関係することを一切書いてないので、一つだけ答えを書いときます。
問いの7です。
理由を聞かれたら自分で担当の先生に説明をしてくださいね。

printf("141\n"); 画像

シエル

Re:学校の課題がわからなくて困ってます。

#58

投稿記事 by シエル » 15年前

今後のためにもコンパイラをインストールしておくべきです。
今回の課題が解決したとしても、次の課題が出たときにまた
このようなやりとりで対応するつもりですか?

自分で書いたコードを掲示板に貼り付けて、コンパイルまでお願いするなんて
普通じゃあまり考えられないでしょう。
そんなに親切なのはここの掲示板ぐらいです。

地味な学生

Re:学校の課題がわからなくて困ってます。

#59

投稿記事 by 地味な学生 » 15年前

ookamiさん コンパイラは入れたいのですが
パソコンのインターネット接続がダイヤルアップ回線で速度が
遅いのでダウンロードに非常に時間がかかる上、
少しでも通信が切れようものならそこでフリーズしてしまいます。

ですのでコンパイラをダウンロードするのはほぼ不可能です。すみません。

ookami

Re:学校の課題がわからなくて困ってます。

#60

投稿記事 by ookami » 15年前

そうなんですか。
とりあえず、他の方にも返事した方がよいと思いますよ。

地味な学生

Re:学校の課題がわからなくて困ってます。

#61

投稿記事 by 地味な学生 » 15年前

今までに回答してくださった皆さん。
自分の今の環境を詳しく伝えなかったため誤解している方がいるようですね。すみませんでした。

No:56215 に書いたとおり自分はコンパイルできないような状態なので、
ちゃんとプログラムが出来ているのか確認が出来ません。
ですのでみなさんに手伝わせたり確認させてしまうようなことが
あるかもしれませんがその点は寛容にみてください。

たかぎ

Re:学校の課題がわからなくて困ってます。

#62

投稿記事 by たかぎ » 15年前

> ですのでコンパイラをダウンロードするのはほぼ不可能です。すみません。

Visual C++のような大きな開発ツールをダウンロードしようとするからです。
もっと軽量のものを使うか、書籍に付属の物を使うなど、いろいろ工夫できるはずです。

地味な学生

Re:学校の課題がわからなくて困ってます。

#63

投稿記事 by 地味な学生 » 15年前

課題4をやってみました


#include <stdio.h>

int main(void)
{
int a, b, total;

printf("Input,please:"); scanf("%d",&a);

  total=0

for(b=1;(a+1)>b;b++)
  {
printf("%d +",b);
total+b;
  }

printf("%d", total);

return(0);
}

Poco

Re:学校の課題がわからなくて困ってます。

#64

投稿記事 by Poco » 15年前

> No:56215 に書いたとおり自分はコンパイルできないような状態なので、

学校でダウンロードして、USBメモリかCD-Rで家まで運んでみては?
このやりとりに限らず、今後自宅に開発環境が無いことは問題ですよ。

ISLe

Re:学校の課題がわからなくて困ってます。

#65

投稿記事 by ISLe » 15年前

インストールしなくても使えます。

http://ideone.com/hajtC

#入力がエコーバックされないけどブラウザ経由だから仕方ない。

シエル

Re:学校の課題がわからなくて困ってます。

#66

投稿記事 by シエル » 15年前

もっとサイズが軽いコンパイラなら探せばあるし、
他の場所で落としてきて、何かの媒体に移して運ぶことぐらいはできると思いますが…

パコネコ

Re:学校の課題がわからなくて困ってます。

#67

投稿記事 by パコネコ » 15年前

>#個人的にはパコネコさんの対応は甘やかしすぎだと思っています。
なんか、すいませんでした。
私も入れるまでは、学校でしかできなかったときにプログラム作れなくて
困ったことがあったので、そして課題の提出期限もありましたから。
>他の場所で落としてきて、何かの媒体に移して運ぶことぐらいはできると思いますが…
媒体で運べたんですか?
知らなかった…いいこと知りました。

課題で点数に関係するとあったので、真剣に考えていたつもりだったのですが、甘やかしすぎているようにとられてしまったようです。
===================

やっぱりコンパイラ入れるまで、待ってから質問に答えるべきでしたでしょうか?

文章が変なので
少し書き換えました。
まだ変な気がしますが…
画像

ookami

Re:学校の課題がわからなくて困ってます。

#68

投稿記事 by ookami » 15年前

# パコネコさん

私は、パコネコさんが甘やかしすぎかどうかではなく、

そんなやり方より自分でコンパイルして確認した方が
早いでしょと。その点だけですね。

パコネコさんが「コンパイラの導入はこの質問者さんには
難しいだろうから」と思っての事ならまぁ。
でも「学校ではコンパイルできる」との事ですからねぇ。
私はコンパイル代行までする気にはなれないです。

> 媒体で運べたんですか?

いわゆる「ウェブインストーラー」は、オフラインでは意味ないですけども^^;
容量的に媒体に入りさえすれば運べますね。最近は媒体も安くなりましたし。

パコネコ

Re:学校の課題がわからなくて困ってます。

#69

投稿記事 by パコネコ » 15年前

>私はコンパイル代行までする気にはなれないです。

人の問題をみてるのが楽しかったから…

>そんなやり方より自分でコンパイルして確認した方が
早いでしょと。その点だけですね。

確かにそのほうが早いかもしれませんし、理解も深まるかも知れません。
私のせいで主さんが、コンパイラ入れるのが遅くなってしまっていたのかもしれません。
主さん、皆さん、すいませんでした。
今回のことは、よく覚えておきます。

たすけてぇ><;

Re:学校の課題がわからなくて困ってます。

#70

投稿記事 by たすけてぇ><; » 15年前

どうもこんばんわです><;
学校の課題を教えて頂けるということで来たのですが、画像の問題をどうやって解くのか教えて貰えませんでしょうか?
よろしくお願いします<(_ _)>

パコネコ

Re:学校の課題がわからなくて困ってます。

#71

投稿記事 by パコネコ » 15年前

これはちょっと…自分でやったものとかがないと…
利用規約?とか言うの読んでくださいと多分書かれると思いますけど…
どこがわからないですか?
そして利用規約にあるように書き込んでもらってもいいですか?

Poco

Re:学校の課題がわからなくて困ってます。

#72

投稿記事 by Poco » 15年前

誰に聞いたかわかりませんが、ここは課題を教える場所ではありません。

パコネコ

Re:学校の課題がわからなくて困ってます。

#73

投稿記事 by パコネコ » 15年前

一度やってみてわからないところを書いてもらって
そこのヒントぐらいなら…

たすけてぇ><;

Re:学校の課題がわからなくて困ってます。

#74

投稿記事 by たすけてぇ><; » 15年前

すみません、焦っていたので規約も読まずに質問してしまいました。御無礼をお許しください<(_ _)>

自分でやったところや、自分の理解している範囲も後ほどしっかり書き込みしますので、改めてその際に教えて頂けたら嬉しいです><;

思いあがった書き方をして本当にすみませんでした

ではできるだけ急ぎます。

パコネコ

Re:学校の課題がわからなくて困ってます。

#75

投稿記事 by パコネコ » 15年前

できれば新規投稿でできますか?
地味な学生さんの質問ですし…
混ざったらややっこしいです。

たすけてぇ><;

学校の課題で悩んでます。

#76

投稿記事 by たすけてぇ><; » 15年前

改めて自力で試みて、やはり分からなかったので質問致しますです。

自分に出された課題で、三角形やダイヤ型といった実行画面例をfor文を使って解いたのですが、
画像の実行例題7・8は法則がまったくわからなくて困っています><;

関数の定義など、基礎の基礎は一応理解しているのですがこの2問はどうしても解けません。

ヒントだけでも全然構いません。解法の道筋だけでも教えて頂けたら幸いに思います;;

どうかよろしくお願いいたします<(_ _)>

たすけてぇ><;

Re:学校の課題で悩んでます。

#77

投稿記事 by たすけてぇ><; » 15年前

すみません、新規投稿をタイトルを新しくすれば良いのかとはき違えてしまいました><;
改めてあげます。荒らしてしまいまして申し訳ありませんでした。

重ねてお詫び申し上げます

地味な学生

Re:学校の課題がわからなくて困ってます。

#78

投稿記事 by 地味な学生 » 15年前

とりあえず今日で課題4まで終わりました。
明日ちょうどC言語の時間があり、コンパイルできるので
今までに作ったプログラムがちゃんと出来てるか試してみようと思います。
ヒントを教えてくださった皆さん、ありがとうございます。

組木紙織

Re:学校の課題がわからなくて困ってます。

#79

投稿記事 by 組木紙織 » 15年前

No:56234の返信です。(タイミングが遅いですが)
私は出来ないのなら単位は落とせばいいのにと思っている人です。
(知識or技術を習得できた結果が単位のはずなので)
なので
掲示板で聞いて知識を身につけるのはよいですが、答をもらうのは駄目だと思っています。
そういう視点で見てるので、代わりにコンパイルするのは、
知識を身につけるためのやり取りでなく、単なる作業なので駄目だと思っています。

上記のような理由もありますが、主な理由は無意味にスレッド長くして、後の必要としている人の
検索にかける時間を無意味に増やしてその人たちの時間を奪っていることが問題だと思ったからです。

#この辺は、個人の考え方なので私の考え方が無視してくれてもかまいません。

ムンバ

Re:学校の課題がわからなくて困ってます。

#80

投稿記事 by ムンバ » 15年前

こんばんは。

これ以上、荒らすつもりは無いですし
お茶を濁すつもりも無いので、冒頭でお断りしておきます。
勝手に飛び込んできて、申し訳御座いません。

なぜ、地味な学生さんが通われている学校の先生に頼んで
自宅でのプログラミングを作る環境を、ご指導頂けないのでしょうか?

教えてくれてるのが、先生と呼ばれる方なのではないのでしょうか?
担当の先生が、何を聞いても怖いし教えてくれない。
などでしたら、話は別ですが・・・

例えば、使い古しでも、フロッピーディスクやMOやCDやDVDなどに
入れて貰えるように先生に渡して、担当の先生に
「家のパソコンでコンパイルできる環境を作りたいのですが、回線速度が遅くて
 ダウンロードしたとしても、途中でフリーズしたりしてダウンロードできないので
 持ち込んだ、書き込みできるCDなどに、家でコンパイルできる環境を、このCDに入れて下さい。」
とか、言えない環境なのですか?

ちなみに同級生は、どうされているのですか?この課題。

>>自分の今の環境を詳しく伝えなかったため誤解している方がいるようですね。すみませんでした。

 おそらく、誤解してる方はいらっしゃらないと思います。

>>ヒントを教えてくださった皆さん、ありがとうございます。

 ヒントではなく、実際に教えて下さってるのだと、どうして感じられ無いのでしょうか?
 何とか、あなたの事を理解して、ご解説・ご指導頂いてるのだと私には感じます。

↓この皆さんへのお言葉が、私には我慢できなかったので書き込みさせて頂きました。

>>とりあえず今日で課題4まで終わりました。

 お疲れ様でした。
 おやすみなさい。失礼します。

poteto

Re:学校の課題がわからなくて困ってます。

#81

投稿記事 by poteto » 15年前

本当に"地味"な学生さんなんでしょうね。。。

だいちゃん

Re:学校の課題がわからなくて困ってます。

#82

投稿記事 by だいちゃん » 15年前

土日に1回も書き込みがないのはおかしいですね
少々きついことを言われてもうこなくなったのかな
どうせどこかでマルチポストしてるでしょうね

パコネコ

Re:学校の課題がわからなくて困ってます。

#83

投稿記事 by パコネコ » 15年前

あと4日しかないので心配ですね。
もう終わったのでしょうか?

閉鎖

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