[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 09:30 / Filesize : 328 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題を片付けます 93代目



1 名前:デフォルトの名無しさん [2007/07/15(日) 22:31:51 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

【前スレ】
C/C++の宿題を片付けます 92代目
pc11.2ch.net/test/read.cgi/tech/1183511364/

301 名前:273 [2007/07/19(木) 00:47:41 ]
>>299
ありがとうございますmm
明日やってみます。
本当にありがとうございます。

302 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:51:41 ]
>>296
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4672.txt

303 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:58:09 ]
>>300
よく分からないのだが、
対話的に1文字ずつ文字入力を行い、1文字ずつ取り出したいのか?
それとも、
文字列を入力し、結果の反転文字列を一気に出力したいのか?

304 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:58:15 ]
>300
char x;
scanf("%s", &x);
ってなんだ?

305 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:02:05 ]
>>303
入力は1文字ずつで、出力は1文字ずつ出したり全部出したり出きる様にしたいんです。


306 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:11:28 ]
[1] 授業単元:Cぷろぐらみんぐ
[2] 問題文:複素数a+bi(iは複素数)のn乗を求めて出力するプログラムを作れ。
a,bはdouble型とし、nはint型で、キーボードから入力するものとする。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: はやめでおねがいします
[5] その他の制限:特にないです


307 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:16:07 ]
「はやめ」っていつまでだよ
明日の朝とかもうちょっと具体的に書け

308 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:19:00 ]
[1] 授業単元:プログラミング論
[2] 問題文(含コード&リンク):sakuratan.ddo.jp/uploader/source/date44998.txt
                  return ????部分が分かりません。
[3] 環境
 [3.1] OS: (Windows/Linux/等々)WinXP
 [3.2] コンパイラ名とバージョン:VC6
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: 今日
[5] その他の制限:なし

よろしくおねがいしますorz

309 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:24:12 ]
なんでいちいち外部に上げるかね



310 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:24:47 ]
>>308
問題文じゃねええええええええええええええええええええええええええええええええええええええええええ


311 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:27:19 ]
>>308
double 型の値を返すんだから、
FXかFX1じゃねえの?

問題文がないしわけがわからんよ


312 名前:308 mailto:sage [2007/07/19(木) 01:28:11 ]
>>310
問題文がついてないんです・・・
一次正弦関数の補完値を求めたいみたいなんですけど
グーグル先生に聞いてもよく分かりませんでした。

313 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:29:36 ]
は?
問題文がないなら宿題じゃねえじゃん

314 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:30:00 ]
>>306
int main(){
double a,b,t; int n;
scanf("%lf,%lf,%d",&a,&b,&n);
while(--n>0)
t=b,b=2*a*b,a=a*a-t*t;
printf("%g+%gi\n",a,b);
}


315 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:31:47 ]
[1] 授業単元: c言語
[2] 問題文(含コード&リンク):
 整数nを入力し、1〜nまでの整数を使い、n桁の組み合わせを出力する。
同じ整数は2回以上使ってはいけない。
例えば3を入力した場合
012 021 102 120 201 210
を出力したい。


[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 7/23
[5] その他の制限: 特に無し

もうさっぱりです。お願いします。

316 名前:308 mailto:sage [2007/07/19(木) 01:32:04 ]
>>313
「ここ埋めてきて」と…

317 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:33:24 ]
>>316
俺たちはその「ここ埋めてきて」とか一時正弦関数の補完とか言われてな・・・
もしかして文章で伝えられずに口頭だったから何も書かなかったのか・・・

もうだめぽ

318 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:46:04 ]
>>315
> 整数nを入力し、1〜nまでの整数を使い、n桁の組み合わせを出力する。
...
>例えば3を入力した場合
>012 021 102 120 201 210

この例だったら、1 〜 n じゃなくて 0 〜 n-1 じゃないのか?


319 名前:300 mailto:sage [2007/07/19(木) 01:46:55 ]
とりあえず1文字ずつ入力して1文字ずつ出力しようとしてみたけど
どうしても最後の文字(1番最初に入力した物)が出力されません。。
配列には入ってるみたいなんだが・・・




320 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:47:47 ]
>>315
n桁ってのは上限はないのか?

321 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:48:52 ]
1違いは良く見直せというのはプログラミングをやる人間にとっての常套句

322 名前: ◆Kt53Ir50Qk mailto:sage [2007/07/19(木) 01:50:39 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
線形リストを用いて過去に素数とわかった数を保存し、指定された数(N)以下の素数を求めるプログラムを作成する。
Nはプログラム実行中に外部から入力できるようにする。
・素数かどうかを判定する際には線形リストに保存されている素数のみ利用する。
・引数として与えた数が、引数として与えられた素数を保存する線形リスト中の素数で割り切れるかどうかを判定する関数を作る。
・順番に小さい数から線形リストに保存してある素数で割り切れるかどうかを判断し、割り切れない場合(素数)は線形リストに加えていく。 [3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C/C++の違いがわからない
[4] 期限: はやめ
[5] その他の制限: 特になし
わ か り ま せ ん

323 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:53:41 ]
>>318
うっかりしてました。
123 132 213 231 312 321
の間違いです。

>>320
基本的に上限はありませんが、あんまり数が大きいと
馬鹿になりませんので…。
大体5か6くらいまでを想定してます。

324 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:58:48 ]
>>300
変な所は色々あるんだが、とりあえず、
case 3:
while(sp>0){
 sp--;
 printf("%c", Stack[sp]);
}
printf("\n");
break;


325 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 02:01:00 ]
>>322
最初は線形リストになにも保存されていないと思われるが、どうする?

326 名前: ◆Kt53Ir50Qk mailto:sage [2007/07/19(木) 02:05:05 ]
たぶん、いくつかの素数を入れた素数テーブルを作っておくんだと思いますが、、、
よくわからないです。
↓授業で使った線形プログラム
sakuratan.ddo.jp/uploader/source/date45003.txt



327 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 02:07:59 ]
何?
さくらアップローダーが流行ってるの?

328 名前:300 mailto:sage [2007/07/19(木) 02:10:22 ]
きったないプログラムだけどなんとか動くようになりました。。。
あとは修正頑張ってみます。
ありがとうございました。

329 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 02:12:17 ]
>>323
#include <stdio.h>
#define N 6
int nextperm(int p[], int n){
int i, j, t;
i = n - 1;
p[0] = 0;
while (p[i] >= p[i + 1]) i--;
if (i == 0) return 0;
j = n;
while (p[i] >= p[j]) j--;
t = p[i]; p[i] = p[j]; p[j] = t;
i++; j = n;
while (i < j){ t = p[i]; p[i] = p[j]; p[j] = t; i++; j--; }
return 1;
}

int main(){
int i, n, p[N + 1];
do{ scanf("%d", &n); }while(n < 1 || N < n);
for (i = 1; i <= n; i++) p[i] = i;
do{ for (i = 1; i <= n; i++) printf("%d", p[i]); putchar(' '); }while(nextperm(p,n));
return 0;
}
ぐぐって出てきたのほぼそのまんまだから動作原理はシラネ



330 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 02:23:00 ]
>>300
がんばれ

331 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 03:01:10 ]
自分で書いたソースを晒して質問するのって、それなりに大変だよな。
宿題丸投げして、回答があっても放置される事が多いけど。

332 名前: ◆Kt53Ir50Qk mailto:sage [2007/07/19(木) 03:13:35 ]
>326 まちがってました。授業でやったのは
sakuratan.ddo.jp/uploader/source/date45007.txt
でした。さっきのは自分でぐちゃぐちゃにしたやつでした。

333 名前:306 mailto:sage [2007/07/19(木) 07:44:56 ]
今日、19日のうちにおねがいします

334 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 08:53:07 ]
>>329
まさにそのまんまがあったんですね…。
ありがとうがざいます。

335 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 08:57:12 ]
>>333
もうで照るだろ

336 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 09:57:38 ]
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):
a,b,c,d,eに1〜5の整数を一つずつ入れて
a + b - c * d / e
の結果の最大になる値、最小となる値、そのときのa,b,c,d,eを求めよ。
(算数的に計算するのではなく全パターンをためすこと。)
また、結果は何通りあるかも求めよ。

[3] 環境
 [3.1] OS: (/Linux/)
 [3.2] コンパイラ名とバージョン: (gcc 2.95-2)
 [3.3] 言語: C
[4] 期限: 2007年07月20日17:40
[5] その他の制限: 無し

337 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 11:08:25 ]
[1] プログラミング
[2] 問題 配列 int a[12]を用意し、a[i] = I ( i=0,1,2,…,10),a[11] = a[0]+a[1]+a[2]+…[10]とせよ
[3.1] OS:windows
[3.2] コンパイラ名とバージョン:VS2005
[3.3] 言語: C ++
[4]本日まで

問題の意味がよく分からないかもしれませんがよろしくお願いします。

338 名前:デフォルトの名無しさん [2007/07/19(木) 11:56:02 ]
>>336
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4673.txt

339 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 12:12:46 ]
>>338
ありがとうございます。
ところで、count が120になったのですが、
a + b - c * d / e
のaとbまたはcとdを入れ替えると同じになると思うので
値は5*4*3*2*1通り未満になりませんか?
よくわからないので、もうすこしがんばってみます。



340 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 12:17:01 ]
>>339
同値になる入れ換えは考慮してない。
必要かな?

341 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 12:23:35 ]
>>340
どちらかといえばあったほうがいいです。

342 名前:デフォルトの名無しさん [2007/07/19(木) 12:25:21 ]
授業単元:プログラミング
問題文(含コード&リンク):
環境
OS:Windows xp
コンパイラ名とバージョン:ボーランド
言語:C
期限:
その他の制限:
テーマ:ポインタの利用
英文字の単語の出題をカウントしなさい
英文字に含まれる単語数は10以下とする
ポインタ配列を使用する
char english[] = "My name is Taro.Your name is Hanako.";

実行画面
My:1
name:2
is:2
Taro:1
Your:1
Hanako:1

343 名前:デフォルトの名無しさん [2007/07/19(木) 12:28:13 ]
授業単元:プログラミング
問題文(含コード&リンク):
環境
OS:Windows xp
コンパイラ名とバージョン:ボーランド
言語:C
期限:
その他の制限:
テーマ:ユーザ関数の作成
問題1:2値の最大を求めるユーザ関数を作成しなさい
プロトタイプ宣言:int Max(int dt1,int dt2);
実行画面
数値1を入力==>10
数値2を入力==>15

大きい値:15

344 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 12:50:24 ]
>>343
#include <stdio.h>

int Max(int dt1,int dt2);

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

printf("数値1を入力==>");
scanf("%d",&a);
printf("数値2を入力==>");
scanf("%d",&b);

printf("大きい値:%d",Max(a,b));

return 0;
}


int Max(int dt1,int dt2) {
return dt1>dt2 ? dt1 : dt2;
}


345 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 13:04:30 ]
>>341
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4674.txt
これでどうかな

346 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 13:25:20 ]
>>345
たとえば
1 +2 -3 *4/ 5
1と2の入れ換えで結果が重複して120の半分の60通りになり
3と4の入れ換えで結果が重複して60の半分の30通りになりそうなので
あっていると思います。
ありがとうございました。
ちなみにこれは算数オリンピックの第一問です。

347 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 13:31:01 ]
>>346
aとb、cとdの値に順序性を持たせた。
宿題ではないのか?

348 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 13:42:23 ]
>>347
それをC言語でとかせる宿題です。

349 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 13:42:49 ]
>>337です。
聞いてみたところどうもfor文を使うらしいのですがどこに使えばいいのか分かりません
よろしくお願いします。



350 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 13:47:18 ]
>>337>>349
int a[12];
int i;
for(i = 0; i < 11; i++) a[i] = i;
a[11] = 0;
for(i = 0; i < 11; i++) a[11] += a[i];

351 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 13:48:00 ]
>>337です。
たびたびすみません。
先ほどの問題でデバックの結果がa[11] = a[0]+a[1]+a[2]+…+a[10]と表示できればいいそうです。
よろしくお願いします

352 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 13:51:54 ]
printf("a[11] = %d\n", a[11]);

353 名前:デフォルトの名無しさん [2007/07/19(木) 13:54:06 ]
何方か342お願いします

354 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 13:55:43 ]
[1]単元:プログラミング
[2]問題:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4675.c
[3]環境
OS:リナックス
コンパイラ:cc
言語:C
[4]期限:来週の水曜日までに

よろしくお願いします.

355 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 14:06:47 ]
[1]単元:プログラミング
[2]問題:複数人の、名前と不定個の得点を入力し、平均点が50点を超える場合のみ、
名前と平均点を出力するプログラムをつくれ。得点の最大個数は10個である。
平均点は、小数点以下2桁までとせよ。入力は3人のデータとし、得点の入力終了は負数(-1)とする
一応ココまでやりました
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4676.c
[3]環境
OS:windows
コンパイラ:bcc32
言語:C
[4]期限:7/20

356 名前:デフォルトの名無しさん [2007/07/19(木) 14:06:55 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク)
 
 演算子のオーバーロードにより、複素数a,bの絶対値の大小を与える
 演算子 < を作成せよ。 

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: CC
 [3.3] 言語:C++
[4] 期限: 7月20日

どなたかよろしくお願いします。


357 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 14:21:04 ]
>>356
#include <complex>
template <typename T>
bool operator<(const std::complex<T>& left, const std::complex<T>& right) {
    return std::abs(left) < std::abs(right);
}


358 名前:デフォルトの名無しさん [2007/07/19(木) 14:32:44 ]
誰か >>306 お願いします。


359 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 14:53:49 ]
>>385
複素数をn乗するってことでおk?



360 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 14:58:11 ]
予言者か!

361 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 15:24:32 ]
>>360
書いた自分でワロタ

362 名前:デフォルトの名無しさん [2007/07/19(木) 15:39:45 ]
>>359 おkです。

363 名前:デフォルトの名無しさん [2007/07/19(木) 15:43:07 ]
授業単元:プログラミング
問題文(含コード&リンク):
環境
OS:Windows xp
コンパイラ名とバージョン:ボーランド
言語:C
期限:
その他の制限:
テーマ:標準関数の利用
問題1:文字列を入力、英文字とそれ以外を収納する配列に振り分けしなさい
使用する標準関数:isalpha()など
実行画面
文字列入力==>A12H&jfTy8uZ3#
英字:AHjfTyuZ
その他:12&83#

問題2:文字列と削除文字列を入力し、文字列中から削除文字列を排除しなさい
使用する標準関数:strncmp(),strcpy(),strlen()など
実行画面
文字列入力(m1)==>ABCDEFAADABC






364 名前:デフォルトの名無しさん [2007/07/19(木) 15:55:56 ]
syntax errorってなんですか?
cygwin上でemacsを使ってCのソースの入力してコンパイルしたのですが、
syntax errorとでまして、コンパイルできません^^;

syntax error before '{' token
とでます^^;

基本中の基本かもしれませんが^^;
誰かわかりますか?

365 名前:364 [2007/07/19(木) 15:59:12 ]
失礼・・・カテ違いでした^^;

366 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 16:01:42 ]
>>306

#include <stdio.h>

int main(void){
double a, b, prev_a, prev_b, const_a, const_b;
int i, n;

printf("a b n : "); scanf("%lf%lf%d", &a, &b, &n);

const_a = a, const_b = b;
for(i = 1, prev_a = a, prev_b = b; i < n; i++, prev_a = a, prev_b = b){
a = prev_a*const_a - prev_b*const_b;
b = prev_a*const_b + const_a*prev_b;
}

printf("%g + %gi\n", a, b);

return 0;
}

367 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 16:27:16 ]
>>363
>>205と同じやね。>>262>>264

368 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 17:12:56 ]
>>342
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4678.txt
バグっているかも試練

369 名前:368 mailto:sage [2007/07/19(木) 17:23:40 ]
後、ボーランドで確認してない。よろ



370 名前:デフォルトの名無しさん [2007/07/19(木) 17:58:40 ]
[1] 授業単元:プロA
[2] 問題文

  構造体
  struct coord{
float x;
float y;
}
を用い、また、coord.data(内容は以下のようなもの)を作成して、
 
  1.2 3.4
2.1 4.5
3.2 2.1
2.0 4.9
5.3 2.8
1.5 3.2

これらの値をメンバx,yに読み込み、(例えばa.x,a.y,b.x,b.y
又はa[0].x,a[0].yなど好きな変数名を作成すればよい。
構造体はa[0],a[1]のように配列でもよい。
この場合、メンバとはa[0].xなどとして結びつく)
 
  xとyの平均をoutput2.dataに出力するプログラムを作れ。


[3] 環境
 Windows ,CC ,C++
[4] 期限: 7/19 21:00

よろしくお願いします。

371 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 18:36:25 ]
>>355
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4679.c

372 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 18:46:15 ]
どなたか>>354お願いします

373 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 19:08:19 ]
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4680.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: BCC 5.5.1
 [3.3] 言語: C
[4] 期限: できればお早めに

お手数ですが宜しくお願いいたします

374 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 19:25:43 ]
>>354 (>>372)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4681.c

375 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 19:30:20 ]
>>354
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4682.c

376 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 19:32:59 ]
>>373
下の二つの関数を追加して
int gcd(int a, int b){ // 最大公約数を求める関数
int c;
while((c=a%b)!=0){a=b;b=c;}
return b;
}

int gcd3(int a, int b, int c){
return gcd(gcd(a, b), c);
}

if(gcd3(a, b, c)!=1) // これが成り立つ時はなにかの倍数

377 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 20:28:26 ]
>>373
問1は、ループをxyz共に1000回ずつ回すのは無駄だから
for(x=1; x<=MAX-2; x++) {
for (y=x+1; y<=MAX-1; y++) {
for (z=y+1; z<=MAX; z++) {
みたいにすれば速くなるよ
問2はできてるんじゃないの?

378 名前:デフォルトの名無しさん [2007/07/19(木) 20:48:32 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):実行結果と同じ内容を表示するプログラムの作成

実行結果

+
++
+++
++++
+++++

[3] 環境
 [3.1] OS:Windows Vista Business
 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2005
 [3.3] 言語:C言語
[4] 期限:2007年9月3日
[5] その他の制限:@文字の出力にはprintfを使用し、プログラム中に2回のみ使用できるものとする
Aアルゴリズムはwhile文の2重ループで行うこと

379 名前:デフォルトの名無しさん [2007/07/19(木) 20:49:04 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):月(1〜12)と日(1〜31)をキーボードから入力し、入力された日付を表示する
プログラムの作成

実行結果 (「」内の部分はキーボードからの入力)


月を入力:「15」
月の入力は1以上12以下にしてください
月を入力:「8」
日を入力:「46」
日の入力は1以上31以下にしてください
日を入力:「25」
入力された日付は8月25日です

[3] 環境
 [3.1] OS:Windows Vista Business
 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2005
 [3.3] 言語:C言語
[4] 期限:2007年9月3日
[5] その他の制限:@月の入力については1〜12で範囲チェックを行い、範囲外の入力だった
場合は、エラーメッセージを表示して再入力させること
A日の入力については1〜31で範囲チェックを行い、範囲外の入力だった
場合は、エラーメッセージを表示して再入力させること



380 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 20:54:54 ]
>>378
#include <stdio.h>

int main(void)
{
int i=0, j;

while(i < 5){
j = 0;
while(j <= i){
printf("+");
j++;
}
printf("\n");
i++;
}

return(0);
}

381 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 20:57:13 ]
>>379
終了の条件は?

382 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:04:44 ]
>>377
問2はいきなり7309から始まるんですよ…

383 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:06:37 ]
>>382
いや、それはそれ以前に処理されたものが画面に表示しきれていないだけでは・・・
実際には処理されているよ。

384 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:07:54 ]
>>382
っ a.exe > result.txt

プロンプトのバッファを超えただけと思う

385 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:21:19 ]
294です。おねがいします

386 名前:デフォルトの名無しさん [2007/07/19(木) 21:23:49 ]
>>381
何の終了条件ですか?

387 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:32:44 ]
ああ、1周でいいのか

388 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:38:22 ]
>>379

#include <stdio.h>
int main(void){
int m, d, tmp;
while(1){
printf("月を入力:");
scanf("%d", &m);
if(m<1 || m>12) fprintf(stderr, "月の入力は1以上12以下にしてください\n");
else break;
}
switch(m){
case 2:
tmp = 2;
break;
case 4:
case 6:
case 9:
case 11:
tmp = 1;
default:
tmp = 0;
}
while(1){
printf("日を入力:");
scanf("%d", &d);
if(d < 1 || d > 31-tmp) fprintf(stderr, "日の入力は1以上%d以下にしてください\n", 31-tmp);
else break;
}
printf("入力された日付は%d月%d日です\n\n", m, d);
return(0);
}

389 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:44:17 ]
うわあ、switch文でbreak;書き忘れた><



390 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 22:00:18 ]
>>375
サンクスです☆

391 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 22:09:26 ]
>>379

#include <stdio.h>
int main(void) {
int month = 0, day = 0;
while (month<1 || 12<month) {
printf("月を入力:");
scanf("%d", &month);
if (month<1 || 12<month) printf("月の入力は1以上12以下にしてください\n");
}
while (day<1 || 31<day) {
printf("日を入力:");
scanf("%d", &day);
if (day<1 || 31<day) printf("日の入力は1以上31以下にしてください\n");
}
printf("入力された日付は%d月%d日です", month, day);
return 0;
}

392 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 22:22:33 ]
>>294>>295
お願いします

393 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:01:43 ]
>>376 >>377 >>383
ありがとうございました〜!

394 名前:体験版ありw mailto:sage [2007/07/19(木) 23:15:53 ]
株式会社リアルクソエイト
www.realcreate.net/

WILLTY(ウィルティ)はネットワーク上や
外部媒体からウィルスやハッカーが侵入する際の
異常な電子の動きをキャッチし、コンピュータの入り口で
確実にブロックしてしまうという世界初の画期的な方法が
とられています。

たとえ、ウィルス感染したCD,FD,USBなどをインストールしても、
コンピューターがウィルス感染することはありません。
正常なデーターのみがコンピューター内に取り込まれます。

■ 電源コンセントからの情報漏洩をブロック
WILLTYは電源LANシステムを応用したデーター漏洩やハッキングをブロックします。
コンピュータ電源をコンセントに差し込んだ瞬間から機密情報は丸裸になっています。
LAN上のセキュリティーをどれだけ強固にしても、電源コンセントから
あなたの情報は筒抜けになっています

395 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:16:32 ]
>>393
if ( dvsr >= trg ){
このtrgって、sqrtを取得して比較すれば
素数判定が早くできないかな。

dvsr++;
これも奇数を見るだけで良いのじゃないかな。
チェック対象件数が半減すると覆うよ。


396 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:17:16 ]
↑のソフト使った人感想ちょうだいw




397 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:22:24 ]
ウィルスに感染した電子ってスピンか何かが違うのか?

398 名前:デフォルトの名無しさん [2007/07/19(木) 23:24:02 ]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4662.c

>>261を参考にしながらPPMファイルを出力したいのですが、できません。
環境はWindows xp + cygwinです。
0 10 10 100 30 10 50 50 100 255 0 0
0 100 20 100 100 20 50 0 20 0 255 0
0 200 30 100 200 30 80 20 15 0 0 255
をCygwin上で入力しています。
何がいけないのでしょうか・・

399 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:24:10 ]
>>397
違わないだろw

壮大な釣りソフトw



400 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:53:45 ]
こんなソフト通用すると思ってんのかw






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<328KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef