C/C++の宿題を片付けます 86代目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/04/20(金) 00:35:41【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】 http://chomework.sakura.ne.jp/
【wiki】 http://www23.atwiki.jp/homework/
【前スレ】
C/C++の宿題を片付けます 85代目
http://pc11.2ch.net/test/read.cgi/tech/1175129517/
0232デフォルトの名無しさん
2007/04/26(木) 16:23:33#include <stdio.h>
#include <math.h>
int main()
{
double foo;
printf("実数入力==>");
scanf("%lf", & foo);
// int化版
printf("四捨五入:%d\n", (int) (foo + .5));
// c90版
printf("四捨五入:%g\n", floor(foo + .5));
// c90版
printf("四捨五入:%g\n", round(foo));
return 0;
}
0233228の者ですが
2007/04/26(木) 16:24:520234デフォルトの名無しさん
2007/04/26(木) 16:25:14#include <stdio.h>
int main()
{
int a = 10;
int b = 7;
double syo = static_cast<double>(a) / static_cast<double>(b);
printf("syo:%.3g\n", syo);
return 0;
}
0235デフォルトの名無しさん
2007/04/26(木) 16:25:48Cならborlandをお勧めするのだけど(手軽だから)、
C++とかをやるようになると、eclipseとかの新しいコンパイラの方が良い。
ただし、微妙に安定しない。
VisualStudioも良いのだけど、#include<stdafx.h>とかの特殊な部分が含まれるから、微妙に抵抗は感じる。
standard editionとかなら、VisualStudioを使うのもいい。重いけど。
ただし、VisualStudioは初学者向けではない。
0236デフォルトの名無しさん
2007/04/26(木) 16:25:56round()はc99だな。って、コメントの間違いか。
0237デフォルトの名無しさん
2007/04/26(木) 16:26:38Eclipseはいつからコンパイラになりましたか?
0238デフォルトの名無しさん
2007/04/26(木) 16:27:14ごめんなさい。
gccですね。
0239デフォルトの名無しさん
2007/04/26(木) 18:40:43ごめんなさい。言ってみたかっただけです。
0240デフォルトの名無しさん
2007/04/26(木) 19:38:24[2] 問題文(含コード&リンク):
番号(整数型)、氏名(20字以内)、年齢(整数型)、血液型(文字列)を
一組とした構造体配列(要素数2人分)を用意する。
キーボードからの2人分のデータを入力し構造体配列へ格納後表示しなさい。
氏名はfgetsを用いブランク(空白)を含む入力も可能とすること。
入力部分、表示部部は関数を用い関数の引数にはポインタを使用すること。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:2007年4月28日まで
[5] その他の制限: 特になし
よろしくお願いします。
0241デフォルトの名無しさん
2007/04/26(木) 20:40:38[2] http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3875.txt >>22の問題(>>30-31さんに書いていただいた)ものの機能拡張です。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:金曜17時まで
[5] 制限:なし。
よろしくお願いします。
0242デフォルトの名無しさん
2007/04/26(木) 21:51:42[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3877.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン
[3.3] 言語:C
[4] 期限:出来るだけ早めでお願いします。無理言ってすいません。
[5] その他の制限: 現在習っているのが制御文、配列、文字と文字列、関数です。初心者なのでよろしくお願いします。
0243デフォルトの名無しさん
2007/04/26(木) 22:15:20http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3878.txt
0244デフォルトの名無しさん
2007/04/26(木) 22:34:39[2] 問題文(含コード&リンク):
[3] 環境
[3.1] Linux
[3.2] gcc 3.36
[3.3] C
[4] 2007年4月27日
[5] 非再帰で且つ要素数が奇数でも2^n個でもソートできるようなマージソート関数をお願いします。
再帰かけるとスタックオーバーフローの恐れがあるので非再帰版も作ることにしました。
よろしくお願いします
0245243
2007/04/26(木) 22:37:190246243
2007/04/26(木) 22:42:09http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3880.txt
ごめん、他の作業をしていたので気を取られてた。
0247デフォルトの名無しさん
2007/04/26(木) 23:03:33[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
1000個までの、整数あるいは少数を打ち込んで、
その平均と標準偏差を表示することのできるプログラムを作成せよ。
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:
[3.3] 言語:C
[4] 期限: 2007年5月5日まで]
[5] その他の制限:特にないです。
Windows xp Visual Studioを使っております。
よろしくお願いします。
0248デフォルトの名無しさん
2007/04/26(木) 23:07:58一体どれだけあれば気が済むんだ?
0249デフォルトの名無しさん
2007/04/26(木) 23:11:02いや少数じゃなくて小数の間違いだと思うよ
0250デフォルトの名無しさん
2007/04/27(金) 00:31:11書いてみたけど何か遅いな。こんなものなのかな
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3881.txt
0251デフォルトの名無しさん
2007/04/27(金) 00:38:55すごく・・・早いです・・・
どうもありがとうございます
読んでみます
0252デフォルトの名無しさん
2007/04/27(金) 00:44:58はずなんだが、このプログラムは標準関数qsort()の1/10程度の
速度しか出てないような気がする。もっと改良できるはずなんだが
0253デフォルトの名無しさん
2007/04/27(金) 00:47:120254デフォルトの名無しさん
2007/04/27(金) 01:17:25http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3882.txt
0255デフォルトの名無しさん
2007/04/27(金) 01:24:02http://www.codereading.com/algo_and_ds/algo/merge_sort.html
たとえばこれ。再帰版なんだが、>>250より遥かに高速だ。
>>250は元々シーケンシャルアクセスしかできないデバイスに適用できる
アルゴリズムで、コピーの回数が相当多いため遅くなっているのだと思う。
0256デフォルトの名無しさん
2007/04/27(金) 23:10:560257デフォルトの名無しさん
2007/04/27(金) 23:24:18ちょwwww
お前コテとトリップつけてこのスレに居座ってくれ。
俺はGW中は答える暇がないと思うので。
0258デフォルトの名無しさん
2007/04/27(金) 23:27:42ならないと投げてこないと思う。
まさにゆとり。
0259デフォルトの名無しさん
2007/04/27(金) 23:28:350260デフォルトの名無しさん
2007/04/27(金) 23:36:26[1] 授業単元:cプログラミング
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3883.txt
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: G.W明け
[5] その他の制限:特になし。 お願いします。
0261デフォルトの名無しさん
2007/04/27(金) 23:37:10俺GW暇だからちょっと難しい問題でもがんばっちゃうYO
といっても休みはカレンダー通りだけどな・・・ orz もっと寝ていたい
0262デフォルトの名無しさん
2007/04/28(土) 00:08:29fflush(stdin);は環境依存かも
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3884.txt
お酒の見ながらやったから間違ってても気にしない
0263デフォルトの名無しさん
2007/04/28(土) 00:15:49まぁそこらへんは自分で工夫してちゃんと表示されるようにがんばれ
0264デフォルトの名無しさん
2007/04/28(土) 00:54:15http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3888.txt
0265デフォルトの名無しさん
2007/04/28(土) 00:57:29[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3885.txt
weather_3.datの中身↓
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3886.txt
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: なるべく早く、お願いします。できれば朝までにお願いします。
[5] for文でお願いします。なるべく簡単にお願いします。
すみません、問題が多いですがよろしくお願いします。
0266デフォルトの名無しさん
2007/04/28(土) 01:55:37「なるべく早く」やれって
0267デフォルトの名無しさん
2007/04/28(土) 02:06:16weather_3.datのEOFは最後のデータ(その場合117)の後ろかい?
出来れば最後のデータの後ろには改行コードを入れてくれれば良いのだが・・・
0268デフォルトの名無しさん
2007/04/28(土) 02:22:00とりあえず練習1、配列でって言ってるしweather_3.datの中身固定ってことで決め打ちしたからな
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3889.c
練習2の上記の操作ってどれよ?
0269268
2007/04/28(土) 02:25:050270265
2007/04/28(土) 02:43:31ごめんなさい。
>>267
たぶんそうだと思います。
>>268
ありがとうございます。
すみません、weather_3.datの中身は本当はわからない状態で出すんです。
あとweather_3.datは端末エミュレータから入力して
やっているんです。
emacs ~~.c > weather_3.dat 見たいな感じで…
あとARRAY_SIZEってなんでしょうか?
ごめんなさい。こんな時間に…
0271デフォルトの名無しさん
2007/04/28(土) 02:59:01練習3
練習2の処理を行ったあと,もう一度別のループで奇数番目のデータを配列bの残り部分に移動せよ.
結果が正しいことを確かめよ.
> 配列bの残り部分
とはなんぞや?何が残り?
0272268
2007/04/28(土) 03:05:15こういうことでいいのか?C89では配列の要素数は定数でしか指定できないから
C99では変数でもできるけどやったことないので他の人に頼んでください
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3891.txt
練習1と2の違いは何ぞや?
0273デフォルトの名無しさん
2007/04/28(土) 03:16:08http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3892.txt
自分でもなんだかよく分からず、きんもぉ〜〜〜☆なソースになったがw
0274デフォルトの名無しさん
2007/04/28(土) 03:19:440275268
2007/04/28(土) 03:29:590276デフォルトの名無しさん
2007/04/28(土) 03:33:240277デフォルトの名無しさん
2007/04/28(土) 03:34:080278デフォルトの名無しさん
2007/04/28(土) 03:36:38全体の実力に合わせて問題作っている感じがするんだけど。
専門学校かも?
0279デフォルトの名無しさん
2007/04/28(土) 03:42:48一年以上経ってるなら逆に心配になってくる
0280デフォルトの名無しさん
2007/04/28(土) 07:42:590281デフォルトの名無しさん
2007/04/28(土) 08:44:36お前がやってやればいいだろ。
0282265
2007/04/28(土) 09:30:55皆さんが使っている関数?が難しくて全然わからないです…
問題文はそのまま書いたので1、2の違いはなんとも…
>>279
去年の前期で一度単位を落としてしまいまして、少し遅いんです。
これまでに習ってプログラミングをやるときに使ったのは
#include <stdio.h>,#include <math.h>,#include <stdlib.h>,
main関数,int,double,printf,scanf,while,if,for
だけなんです。
前回の配列部分も休んでしまってわからないんです。
だからそれ以外はさっぱり…です…
0283デフォルトの名無しさん
2007/04/28(土) 09:57:59そんな態度だから単位落すんだよ。休んだから配列が分らないだ?
教科書を読めば分るだろ。黄金週間中に教科書を頭から読んで
練習問題やりまくれば何とかなるよ。あと、問題文が凄く分りにくいから
出題者に文句言って、分りやすく作り直してもらった方が良さげ
0284265
2007/04/28(土) 11:44:03授業でてないからってそれじゃあだれですよね.
そこでプログラミングC言語の専門書買って最初から勉強しようと思うのですが
おすすめの専門書ありませんか?
0285デフォルトの名無しさん
2007/04/28(土) 11:49:57専門書なんか買っても金の無駄だと思うけど
できれば単位取るのを諦めて、他の道へ進むのを考えるのがオススメ
0286265
2007/04/28(土) 12:05:37教科書はありますが,少しわかりにくくて...
最近,大学やめることを悩んだんですよね...
今の勉強がおもしろくないし,ついていけてない.
いろんな人に相談して,やりたいことないのにやめるのは
やっぱりよくないということで,通い続けているんです.
特にプログラミングがついていけてなくて...
関係ないレスになってしまってすみません.
0287デフォルトの名無しさん
2007/04/28(土) 12:08:08さっさとやりたいことを見つけてやめればいいだろ
プログラミングを勉強するより、そっちに努力しろ
0288デフォルトの名無しさん
2007/04/28(土) 13:08:47問題文は順を追ってプログラムを完成させるような感じみたいだが・・・
それほど難しいもんでもないと思うが・・・。関数だって難しいもんは使ってへんよ?
アルゴリズムが分からんだけじゃね?
0289デフォルトの名無しさん
2007/04/28(土) 14:25:06何を作れと指示されているのかの解釈が難しいんだよね
・「配列aに読み込み,別の配列bにデータが逆順となるよう入れ替えよ」とは
配列aから配列bにコピー、ってこと?
・「配列bに上記の操作をしてデータを移動せよ.」とは
むーぶ?
例えば配列aから配列bにコピー後、配列aの内容を0クリア、でいい?
・「もう一度別のループで奇数番目のデータを配列bの残り部分に移動せよ.」
上に倣って、元の要素が配列のサイズの半分以下という条件で、
配列bの奇数番目のみをコピーしつつ0クリア、でいい?
あまりに問題に抜けが多くて想像して作ってもいいけど難易度高すぎ
(...ひょっとして授業中に前提となるものが提示済みなのか?)
0290デフォルトの名無しさん
2007/04/28(土) 14:37:310291デフォルトの名無しさん
2007/04/28(土) 15:05:330292デフォルトの名無しさん
2007/04/28(土) 15:10:51ハリウッド板南極物語は、動物のお医者さん犬だったorz
0293デフォルトの名無しさん
2007/04/28(土) 15:25:15じゃ、君がビート版に
0294デフォルトの名無しさん
2007/04/28(土) 16:40:40>>>159 問2 番兵をINT_MAXにしたが、INT_MAXを入力されるとかなわんなあ
>a[10] = INT_MAX; /* 番兵 */
>for (i = 0; a[i] != INT_MAX; i++)
>if (a[i] == x) {
>printf("%d\n", i);
>return 0;
>}
番兵の使い方が間違っているZo
a[10] = x; /* 番兵 */
for (i = 0; a[i] != x; i++)
;
if(i<10) printf("%d\n", i); else printf("-1\n");
0295デフォルトの名無しさん
2007/04/28(土) 17:07:01・検索対象の値そのものを配列の末尾に加えておく。
・すると、ループの最後まで行けば必ず見つかるので、終了判定はいらない。
・見つかったのが目標物なのか番兵かは、添え字がどこまで進んだかで判定。
というものだな。
0296デフォルトの名無しさん
2007/04/28(土) 17:14:300297デフォルトの名無しさん
2007/04/28(土) 17:17:480298デフォルトの名無しさん
2007/04/28(土) 17:20:18英語のほうを見ると1.の用法(¥0で文字列終了とか)しか書いてないな。
0299デフォルトの名無しさん
2007/04/28(土) 17:53:36好きなことで分からないなら何故調べようとしない?
配列が分からないなら分からないなりに簡単なコード書いてみて
それいじくるところから始めてもう一度教科書読めよ
関数名くらいぐぐれ
0300デフォルトの名無しさん
2007/04/28(土) 17:58:24漏れはここを参照している
0301デフォルトの名無しさん
2007/04/28(土) 18:00:23よく読むだ、しむらぁ〜
「やりたいこと」ではなく「やりたいことない」だぁ
0302デフォルトの名無しさん
2007/04/28(土) 18:09:32消してしまったか。
0303デフォルトの名無しさん
2007/04/28(土) 18:16:34それで結局授業出てないならやめるべきだな…
0304デフォルトの名無しさん
2007/04/28(土) 18:21:18やりたいことないからとりあえず大学って
うらやましぃ〜
大学卒業したかったよorz
0305デフォルトの名無しさん
2007/04/28(土) 18:52:52http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3894.txt
0306デフォルトの名無しさん
2007/04/28(土) 18:57:360307デフォルトの名無しさん
2007/04/28(土) 19:12:14scanfの書式設定で%dとint型変数の指定はいただけない
0308デフォルトの名無しさん
2007/04/28(土) 19:13:32[1] 授業単元:C言語
[2] http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3895.txt
>>22の問題(>>30-31さんに書いていただいた)ものの機能拡張です。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:
[5] 制限:なし。
よろしくお願いします。
0309デフォルトの名無しさん
2007/04/28(土) 20:06:110310デフォルトの名無しさん
2007/04/28(土) 20:07:350311デフォルトの名無しさん
2007/04/28(土) 20:15:01まぁ、細かいことを言ってたらキリがなくなるんで、あとは個人で追求するだけ追及かね。
宿題は目的が果たせていりゃとりあえずおk。
0312デフォルトの名無しさん
2007/04/28(土) 20:39:29じゃあとりあえずはfgetsとstrtol使っとけばおk?
0313デフォルトの名無しさん
2007/04/28(土) 21:03:02適当です。線形リストのが楽だ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3897.zip
0314デフォルトの名無しさん
2007/04/28(土) 21:22:08文字から整数にしてみた。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3898.txt
0315265
2007/04/28(土) 22:37:59最初から勉強し直してみます。
0316デフォルトの名無しさん
2007/04/28(土) 22:48:01[2] 問題文(含コード&リンク):
英文字列の指定した範囲を逆順にするプログラムを次のように書け。
(1)文字列は下のものをmainに文字配列として用意する:
Google agreed to its largest acquisition yesterday, reaching a deal to purchase DoubleClick.
(2)逆順にする範囲はキーボードから入力する。この範囲を第m番目と第n番目(0≦m<n)として
mとnが、妥当な数値(つまり、文字配列の添字範囲内)であることもチェックする。
(3)関数pswapを利用する。つまり、与えられた文字配列の上で2つの文字[文字ペア]を入れ替
えることを繰り返すことで全体(指定範囲の文字列)を逆順にする。文字ペアとして何に着目す
ればよいか考える。
(4)出力は、入力した文字列と逆順にした文字列(を含む全体文字列)、および最後に逆順にした文
字ペアとする。
【実行結果】
Initial: Google agreed to its largest acquisition yesterday,reaching a deal to purchase DoubleClick.
0と91の間の整数を2つ入力せよ: 2 5
Swapped: Goolge agreed to its largest acquisition yesterday,reaching a deal to purchase DoubleClick.
Last pair: l & g
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc 3.4
[3.3] 言語:C
[4] 期限:なし
[5] その他の制限:なし
0317デフォルトの名無しさん
2007/04/28(土) 22:55:520318316
2007/04/28(土) 22:57:48void pswap(char *a,int,int);
main() {
char a[]="Google agreed to its largest acquisition yesterday,reaching a deal to purchase DoubleClick.";
int m,n,x,y;
printf("Initial: %s\n",a);
printf("0と91の間の整数を2つ入力せよ: ");
scanf("%d %d", &m,&n);
if((m>=0)&&(n>=0)&&(m<n)&&(n<strlen(a) - 1 ){
while(m<n){
m++;
n--;}
pswap(a,m,n);
printf("Swapped: %s\n",a);
printf("Last pair: %c & %c\n",x,y); }
else
printf("添字の値が範囲外です!\n"); }
void pswap(char *a,int m,int n) {
int temp;
temp=*(a+m);
*(a+m)=*(a+n);
*(a+n)=temp; }
途中までやってみたのですが、Last pairの意味がよく分からないので解説していただけると有難いです。
0319デフォルトの名無しさん
2007/04/28(土) 23:08:300320316
2007/04/28(土) 23:25:41Swapped: Goelgo agreed to its largest acquisition yesterday,reaching a deal to purchase DoubleClick.
0321デフォルトの名無しさん
2007/04/28(土) 23:27:260322316
2007/04/28(土) 23:32:24有難う御座います。助かりました。
できれば、どの様なコードになるか教えていただけませんか?
0323デフォルトの名無しさん
2007/04/28(土) 23:37:270324316
2007/04/28(土) 23:41:59>319さん
有難う御座いました。
あと、自己解決できました。
皆様、有難う御座いました。
0325デフォルトの名無しさん
2007/04/28(土) 23:43:28こんなんでどうよ?
#include <stdio.h>
#include <string.h>
void swap(char *a, int n)
{
char temp;
temp = *a;
*a = *(a + n);
*(a+n) = temp;
}
int main(void)
{
char str[] = "Google agreed to its largest acquisition yesterday, reaching a deal to purchase DoubleClick";
int m, n, i, len = strlen(str);
printf("Initial:%s\n", str);
printf("0から%dの間の数字を2つ入力せよ:", len);
scanf("%d %d", &m, &n);
if(m<0 || n<0 || m>len || n>len || m>n) return 1;
while(n-m>0) {
swap(str+m, n-m);
m++;
n--;
}
printf("Swapped:%s\n", str);
printf("Last pair:%c & %c", str[++n], str[--m]);
return 0;
}
0326デフォルトの名無しさん
2007/04/29(日) 00:22:05[2] 問題文(含コード&リンク):
モンテカルロ法による面積の近似手順により、
領域a = {(x,y)|x≧1,y≧2,(x-1)^2 + (y-2)^2 ≦1}の面積の近似値を計算するプログラムを作成し、これを利用してn=10000とした場合の上の領域の面積、および円周率πの近似値を求めよ。
[3] 環境
[3.1] OS: (Windows/Linux/等々) WinXP
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)Borland C++
[3.3] 言語: (C/C++/どちらでも可 のいずれか) C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)明後日
0327デフォルトの名無しさん
2007/04/29(日) 00:34:15[2] 問題文(含コード&リンク):
1.レポート課題内容: ./a.out 5 2 4 6 8
の形で使うと,その逆転した順に結果を打ち出すプログラムを作れ。
2../a.out n
の形で使うと,指定された個数 n だけ乱数を発生して整列し,その結果を出力するプログラムを仕上げよ。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc 3.4
[3.3] 言語: C
[4] 期限: 2007年4月30日
[5] その他の制限
リンクによるリスト処理の形で仕上げてください。
どなたかよろしくお願いします
0328デフォルトの名無しさん
2007/04/29(日) 00:36:080329デフォルトの名無しさん
2007/04/29(日) 00:42:17>327の問題1は
link reverse(link x){
link t, y= x, r= NULL;
while( y!=NULL ){
t= y->next; y->next= r;
r= y; y= t; }
return r;
}
問題2は
struct node heada, headb;
link t, u, x, a= &heada, b;
for(i= 0, t= a; i<N; i++){
t->next= malloc(sizeof *t);
t= t->next; t->next= NULL;
t-> item= rand()%1000;}
b= &headb; b->next= NULL;
for(t= a->next; t!=NULL; t= u){
u= t->next;
for(x= b; x->next!=NULL; x= x->next)
if( x->next->item > t->item ) break;
t->next= x->next; x->next= t; }
を元に作ってください。本当に失礼しました
0330デフォルトの名無しさん
2007/04/29(日) 00:48:41およそ3
0331デフォルトの名無しさん
2007/04/29(日) 00:53:11[2] 問題文(含コード&リンク):
(1)(0,6)×(0,1)の長方形領域Ωをne個の合同な三角形に分割し一連の番号1,2,...,neをつけ、その頂点の座標を出力するプログラムを作れ。
なおneはキーボードから入力するものとし、分割が不可能な場合はerrorを返せ。
[実行結果]
neを入力 12
1 (○,○) (○,○) (○,○)
.
.
.
12 (○,○) (○,○) (○,○)
(2)Ω内の任意の点Pがどの三角形に属しているか求めるプログラムを作れ。
[実行結果]
Pを入力 3.0 0.5
三角形○
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン: VC.NET
[3.3] 言語:C++
[4] 期限:無期限
[5] その他の制限:特に無し
■ このスレッドは過去ログ倉庫に格納されています