ページ 1 / 1
do whileの問題
Posted: 2012年10月04日(木) 18:17
by ジョン
先日、do whileで好きな数字を入力したらそれの約数を求めてもらうプログラミングを作れと言われたのですが
ちんぷんかんぷんです
doの中身をどう書けばいいか教えて下さい…
Re: do whileの問題
Posted: 2012年10月04日(木) 18:38
by nil
丸投げは禁止です。
フォーラムルールを御覧ください。
Re: do whileの問題
Posted: 2012年10月04日(木) 18:41
by beatle
1. プログラムを書く前に、まず約数の求め方は分かりますか?例えば30の約数は何かは分かりますか?
2. 30の約数を、あなたはどうやって求めましたか?詳しいやり方を教えてください。
3. その詳しいやり方をプログラムに落としこんでいきます。
Re: do whileの問題
Posted: 2012年10月04日(木) 22:58
by ジョン
教科書を見ても出だししかわかんなかったので結果的に丸投げする形になってしまいました
すいませんでした
約数の求め方はアバウトでしかわからないです
公式は見てもちょっとわからないんで…
30の約数は
1,2,3,5,6,10,15,30
です
Re: do whileの問題
Posted: 2012年10月04日(木) 23:36
by nil
現状のジョンさんの理解度がどれほどのものかわからないのですが
プログラム全体の流れはこのようになるはずです。
1.数字を入力させ、それを受け取る。
2.do,whileを用いて約数を算出。
3.結果を表示
1.について、どの関数を用いればいいのか、またその使用方法はわかるか、
2.について、do,whileの使い方はわかるか、また約数を得るにはどうすればいいか、
3.結果の表示に用いる関数は何か、
これらがわかればプログラムを組めるはずです。
また、自然数aの正の約数はaを割って割り切れる数=割ってあまりの出ない数であり、約数はaより大きくなることはありません。
一部誤字修正
Re: do whileの問題
Posted: 2012年10月04日(木) 23:47
by ジョン
涼雅さん大ヒントありがとうございます!
今日はもう遅いんで明日具体的に考えてみます
Re: do whileの問題
Posted: 2012年10月06日(土) 21:25
by みけCAT
非表示エリア
この非表示エリアを表示するには、登録し、ログインする必要があります。
Re: do whileの問題
Posted: 2012年10月07日(日) 03:03
by 初級者
ヒマなので作ってみました。
ちゃんと動くかどうかはわかりません。
コード:
#include <stdio.h>
void getDivisor(int n)
{
int i;
printf("%dの約数=", n);
i = 1;
do {
if (n % i == 0) {
printf("%s%d", (i == 1) ? "" : ",", i);
}
} while (++i <= n);
putchar('\n');
}
int main(void)
{
int n;
do {
printf("正の整数n="), scanf("%d", &n);
} while (n <= 0);
getDivisor(n);
return 0;
}
Re: do whileの問題
Posted: 2012年10月08日(月) 13:02
by ジョン
初心者さんわざわざありがとうございます
一応俺も作ったんですけど保存先ミスってよくわからないとこに保存したんで結果報告できずにいました…
関係ない話ですけど掲示板の除去依頼はどこに出せばいいんですか?
それとOFFRHINEと表示されていますがONRHINEになることはありますか?
Re: do whileの問題
Posted: 2012年10月08日(月) 13:14
by nil
管理人さんの運営方針で掲示板のトピック削除は行いません。
詳しくはフォーラムルールをご覧いただければいいかと思います。
Re: do whileの問題
Posted: 2012年10月08日(月) 14:12
by softya(ソフト屋)
ジョン さんが書きました:初心者さんわざわざありがとうございます
一応俺も作ったんですけど保存先ミスってよくわからないとこに保存したんで結果報告できずにいました…
関係ない話ですけど掲示板の除去依頼はどこに出せばいいんですか?
それとOFFRHINEと表示されていますがONRHINEになることはありますか?
削除を依頼される場合正当な理由があれば可能です。
※ 個人情報を書いてしまったとか、著作権上マズかったとか。
ただし、削除できるのは問題となる部分だけとなります。
今回の場合は課題だと思いますので、削除する正当な理由にはなりませんのでご了解ください。
Re: do whileの問題
Posted: 2012年10月10日(水) 20:37
by ジョン
みなさんお返事ありがとうございます
簡単に消せるのかなーと軽い気持ちで掲示板をつくってしまいましたすいません…
それともう少しみなさんにお力をお貸ししてほしいです
ここ数カ月前までパソコンをあまり使ったことがなかったので本気でわからないのです…
数字を入れてその合計を最後に出すというプログラミングです
他にも微妙に条件があり、
1 マイナスの数値を入力されたらcontinueを使う
2 10以上の数値が入力されたら切り上げて計算(breakを使えと言われた)
/*EX1*/
#include<stdio.h>
int main(void){
int i;
double x,sum;
sum=0;
for(i=1;i<=7;i++) {
if (i<=10);
break ;
if (x>=0) continue;
printf("%d番目のデータ?",i);
scanf("lf",&x);
sum+=x;
}
printf("合計=%f\n,sum");
return 0;
}
です
コンパイルしても異常がでないのでどこがおかしいのかわからんとです…
みなさん教えてください
Re: do whileの問題
Posted: 2012年10月10日(水) 21:02
by nil
コードタグを使用してください
ジョン さんが書きました:
コンパイルしても異常がでないのでどこがおかしいのかわからんとです…
何がどうおかしいのかを説明していただけないとどうすればいいのかわかりません
Re: do whileの問題
Posted: 2012年10月10日(水) 21:22
by softya(ソフト屋)
ここは解決チェックしてもらって、別トピックとして質問をしていただけますか?
トピックと内容がずれるのは良くないので。
Re: do whileの問題
Posted: 2012年10月10日(水) 23:09
by Dixq (管理人)
当サイトで削除を基本的に行っていない理由は、ジョンさんが回答者の立場で考えて頂ければお分かりいただけるかと思います。
例えばジョンさんが、誰かのために時間を割いて何かを教えてあげる資料を作ってあげたとしましょう。
次の日それが破り捨てられていたら・・いい気持ちはしませんよね。
電子データでもそれは同じだからです。
また、softyaさんも仰っているように、一つの質問は一つのトピックで完結するようにして下さい。
それから、投稿前にフォーラムルールを一読下さい。
http://dixq.net/board/board.html
Re: do whileの問題
Posted: 2012年10月11日(木) 13:29
by ジョン
フォーラムルールっての読んでませんでした
すみません
それと皆さんのお気持ちを踏みにじるような失礼な発言をしたのも許して下さい
今後は気をつけますのでどうかまた手伝って下さい