1 名前:デフォルトの名無しさん [2007/06/03(日) 16:44:55 ] (・3・)エェー ぼるじょあですYO! わからない宿題を片づけますYO! あなたが解けない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 【前スレ】 ぼるじょあがC/C++の宿題を片づけますYO! 67代目 pc11.2ch.net/test/read.cgi/tech/1165718021/
2 名前:(・3・) ◆3.JjF77I26 mailto:sage [2007/06/03(日) 22:31:03 ] 2get
3 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2007/06/05(火) 06:39:48 ] (・3・) エェー 誰も書いてないYO!
4 名前:デフォルトの名無しさん [2007/06/05(火) 19:15:15 ] @3行5列の二次元配列に15個の数字をランダムで選ぶ(ただし、必ず12を入れる) A配列に入れられた数字を B大きい順に配列に入れ直して示す。(バブルソートで) C小さい順(バブルソートで) Dprintfで12の行、列を出力 if,do,wihle習いました。ぼるじょあさん、お願いします(;_;)
5 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2007/06/05(火) 19:40:21 ] >>4 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4158.txt (・3・) エェー ポインタを使ったYO
6 名前:デフォルトの名無しさん [2007/06/05(火) 19:45:55 ] >>4 ポインタはまだ習ってないです(;_;)
7 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2007/06/05(火) 21:54:28 ] (・3・)アルェ〜そうなのかYO!ポインタの替わりに添え字から行と列を (・3・)作ればいいと思うYO!
8 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 22:04:49 ] >>4 俺も作ってみたんでどうぞ。 ポインタ、for文、自作関数、未使用。 後、配列に馬鹿でかい数字を入れる意味がないと思ったから 配列に入れる数値が50を越えないようにしてある。
9 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2007/06/05(火) 22:10:21 ] >>5 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4162.txt (・3・)エェーポインタを使わないようにしてみたYO! (・3・)その代わり12の位置は大抵同じだYO!(乱数で12より小さい数があれば 変わるYO)
10 名前:デフォルトの名無しさん [2007/06/05(火) 23:40:44 ] >>8 さん、>>9 さん、どこにソースコードがあるのですか(;_;)?
11 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2007/06/05(火) 23:50:45 ] >>10 (・3・) アルェ〜 >>9 だけどリンクを踏んでYO! (・3・) >>8 は僕じゃないからわからないYO!
12 名前:デフォルトの名無しさん [2007/06/06(水) 00:02:28 ] >>4 です。すいません、問題で15個ランダムみたいなこと書いたんですけど、自分で決めます。例えば、15,23,54,69,8,5,4,52,5,12,11,29,58,73,65です。この数字でお願いします(;_;)
13 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 03:46:10 ] >>12 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4166.txt >>9 のぼるじょあさんのを手直ししてみた。ついでにバグ取りしといた。
14 名前:8 mailto:sage [2007/06/06(水) 09:15:53 ] >>10 リンク貼り忘れてもうた。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4160.c
15 名前:デフォルトの名無しさん [2007/06/06(水) 14:55:57 ] リンクってパソコンからじゃないと無理ですか?
16 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 15:18:00 ] >>15 たぶん無理やね、っておまいPC持ってないのかYO! 親に言って安いノートで良いから買ってもらえYO! <チラシの裏> >>14 のコード、time.hとすべき所をmath.hと書いてしまったのに BCCでコンパイル出来たし、実行も出来た。一体どうなってんだ? </チラシの裏>
17 名前:デフォルトの名無しさん [2007/06/06(水) 18:59:21 ] いやパソコンあります。
18 名前:デフォルトの名無しさん [2007/06/06(水) 19:07:41 ] >>4 です。 みなさんありがとうございました。 ちなみに>>13 さん k=i/5 l=i%5 ってどういうことですか?
19 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 19:10:50 ] >>18 自分の持ってるテキスト読めば?
20 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 19:21:50 ] 普通のテキストには載ってないんじゃないか? まあ、バブルソートと多次元配列を考えればおのずと答えは出るよね。 >>17 持ってるならなら変な事聞くな。
21 名前: ◆lIN/ESgxWw [2007/06/06(水) 21:10:48 ] [1]プログラミング [2]1本の道に,食べ物が多数落ちている. ランダムに動く動物が,それらを全て食べ尽くすと終了するようなプログラムを作成せよ. <仕様> 「道」は要素数20程度の1次元配列で表現する. 「食べ物」は,上記配列の各要素に値1があればその場所に存在し,値0であればその場所には存在しないものとする. 「動物」は,1回の移動で配列中の1つ左または1つ右に移動できる. 「動物」の訪れた場所のエサは食べられたものとする. 「道のうち食べ物のない箇所」,「道のうち食べ物のある箇所」,「動物」は,それぞれ -, *, O で表現する.それらを横一列の文字で表示する. 繰り返し処理中は,毎回数十〜数百ミリ秒程度の時間,実行を一時停止させることで,状態の推移を見やすくする. [3]OS:Linux コンパイラ名:スイマセン、分かりません 言語:C言語 [4]できれば今日中にお願いします 他の掲示板で聞いたんですが、イマイチ回答が得られなかったのでこちらに 質問させていただきました。よろしくお願いします。
22 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 21:14:44 ] >>18 多次元配列はそのままでは一次元配列のようにリニアにはアクセスできないので 添え字を i から作り出す必要があるわけです。
23 名前:デフォルトの名無しさん [2007/06/06(水) 21:56:59 ] >>22 さん、ありがとうございます。
24 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 22:14:11 ] まあポインタを一次元配列に変換するとリニアにアクセスできるけどな。 この質問者はポインタを知らないらしいのでこれはなかった事に。
25 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:01:32 ] >>21 の問題だけど、誰か毎回数十〜数百ミリ秒程度の時間,実行を一時停止 させるコード書けないか?それ以外は出来上がってから誰か挿入してくれ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4171.c
26 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:10:31 ] >>25 void mysleep(long msec){ static long mcount = -1; long i, j; if(mcount < 0){ time_t check_time; check_time = time(NULL); while(check_time == time(NULL)); check_time = time(NULL); for(mcount = 0; check_time == time(NULL); mcount++); mcount /= 1000; } for(i = 0; i < msec; i++){ for(j = 0; j < mcount; j++){ time(NULL); } } }
27 名前:デフォルトの名無しさん [2007/06/06(水) 23:30:12 ] >>4 で多次元配列を一次元配列に入れ直して、また多次元配列に入れるにはどうしたらいいんですか?
28 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:56:04 ] >>27 ”入れ直す"んじゃなくて”ポインタを付け替える”だけ。 ポインタを勉強してない人に説明すると長くなるから、これ位で勘弁。
29 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 00:13:43 ] >>25 thx >>21 日付変わっちまったが、>>25 のスリープ関数を組み込んで、へんなコメント消した. kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4172.c
30 名前:29 mailto:sage [2007/06/07(木) 00:15:01 ] アンカーミス>>25 じゃなくて無くて>>26 ね。
31 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 00:17:01 ] >>26 最低なsleepだな。いや寧ろ、sleepなんて名乗るのは烏滸がましい。
32 名前:デフォルトの名無しさん [2007/06/07(木) 00:29:01 ] C言語が全然わらかないんですけど…皆さんは始めのころどうやって勉強しましたか?
33 名前: ◆lIN/ESgxWw [2007/06/07(木) 00:51:55 ] >>29 どうもありがとうございました☆
34 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:03:57 ] 標準関数に拘らなければ usleep(microsecond) @ unistd.h 使えばおk
35 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:41:37 ] >>31 同意。 むしろbusyだよなw
36 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:44:34 ] >>26 はシングルタスクOS時代の手法 linux だと >>34 使ったほうがいいと思う
37 名前:デフォルトの名無しさん [2007/06/07(木) 08:14:41 ] #include<stdio.h> void main(void) { int n,m,sum; printf("整数nの入力==>"); scanf("%d",&n); m = 0; sum = 0; while(m < n){ sum+=++m; } printf("合計:%d\n",sum); } 実行画面 整数nの入力==>5 合計:15 このプログラム文をdo〜while文に書き換えたやつにしたいのですがどうやればいいですか?
38 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 08:22:19 ] do{ if (m < n) break; sum += ++m; }while(1);
39 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 08:58:19 ] 1] 授業単元:C言語演習 [2] 問題文(含コード&リンク): 長さ157以下の英数字,空白の並びからなる文字列を二つ入力し, それぞれをa1, a2とする. a1が"abc",a2が"ab"の場合のように, a2の先頭部分がa1の先頭部分に含まれるときは1を,そうでないときは0を値として 返す関数 int match(char *a1, char *a2);を作成しなさい. 配列宣言を除きすべてポインタを用いて処理すること. 文字列は157文字以下が入力されるものとし,文字列の長さに関するエラー処理を する必要はない. 計算の手順としては,文字列の先頭から一文字ずつ一致するかどうかを比較する. a2にあたる文字列中の比較対象となった文字が'\0'であれば,a2はa1に包含された ものとして扱う.これ以外で比較時に,一文字でも一致しない場合があれば 包含されていないとして扱う. この関数をもちいて,2つの文字列を与えたとき,一つ目の文字列の中に二つ目の 文字列が含まれている場合(この場合先頭が必ずしも一致していなくてもよいものとする) には "一致"をさもなければ"不一致"を出力するプログラムを作成しなさい. [3] 環境 [3.1] OS:Windows [4] 期限: 6月7日午前10:30 [5] その他の制限: よろしくお願いいたします。
40 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 09:07:03 ] ↑実行結果はこのようになります。 [home@C*LPC* ~/test]% ./test ABC AB 一致 [home@C*LPC* ~/test]% ./test AB ABC 不一致 [home@C*LPC* ~/test]% ./test ABC ABD 不一致 [home@C*LPC* ~/test]% ./test ABC BC 一致 [home@C*LPC* ~/test]%
41 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:55:45 ] >>32 最初、Cの入門サイト(KID's World)でやってたけど、もっと知りたくなって Cの入門書(基礎C)を買った。それでも足りなくて独習Cで色々学んで 練習問題をこなした。最近はここで宿題の代行して腕を磨いてる。 簡単な練習問題をやって、徐々にステップアップしていけば、ここに投下される 宿題位はこなせるようになるよ。
42 名前:デフォルトの名無しさん [2007/06/07(木) 12:39:38 ] 授業単元:C言語 問題文(含コード&リンク): 今までやった内容:if・for文 OS:Windows コンパイラ名とバージョン:borland 言語:C テーマ:while文 問題:複数件の整数を入力し、合計、件数、平均を求め表示しなさい 0が入力されたらデータの終了とし、合計、件数には反映しない実行画面 整数入力(0で終了)==>5 整数入力(0で終了)==>4 整数入力(0で終了)==>10 整数入力(0で終了)==>8 整数入力(0で終了)==>0 合計:27 件数:4 平均:6.8 今授業でやってる内容なんですがどうしてもわからないので何方か教えてください
43 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:46:06 ] >>42 何をお教えすればよろしいのでしょうか?。 #include<stdio.h> int main(void) { int n;/*キーボードから入力された整数*/ int num;/*件数*/ int sum;/*合計*/ double ave;/*平均*/ num=0;sum=0;/*合計、件数を初期化*/ do{ printf("整数入力(0で終了)==>"); scanf("%d",&n);/*キーボードから整数nを受け取る*/ if(n != 0){/*0は合計、件数に含めないので、n≠0の時実行される*/ sum=sum+n; num=num+1; } }while(n != 0);/*入力された数nが0で無い時は繰り返す。nが0ならループ終了*/ ave=(double)sum/num;/*平均の計算、整数同士の割り算だと小数点以下が切り捨てられるので sumを(double)でdoubleにキャスト(一時的な型の変換)している。*/ printf("合計:%d 件数:%d 平均:%.1f",sum,num,ave); /*結果表示、%.1fで平均の値が 小数点以下1桁で表示されるようにしてある*/ return 0; }
44 名前:デフォルトの名無しさん [2007/06/07(木) 16:36:47 ] [1] 授業単元:プログラミングA [2] 問題文(含コード&リンク): 2つの4行4列の行列が与えられたとき、その積を計算するプログラムをwhileループを用いて作成せよ。インクリメント演算子を使用すること。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C++ [4] 期限: 2007年6月7日23:59まで [5] その他の制限: よろしくお願いします。
45 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 18:02:38 ] >>44 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4176.cpp
46 名前:デフォルトの名無しさん [2007/06/07(木) 23:39:36 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4181.txt 上記プログラムを使い、アルファベットを大文字、 小文字両方を含むバージョンに変更しなさい。 (例) YZa → bcd [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: VC2005 [3.3] 言語: C++ [4] 期限:6月8日10:30まで [5] その他の制限: なし どうかよろしくお願いします
47 名前:デフォルトの名無しさん [2007/06/08(金) 10:02:03 ] >>41 さん、ありがとうございます。
48 名前:デフォルトの名無しさん [2007/06/08(金) 10:03:45 ] >>45 ありがとうございました。
49 名前:デフォルトの名無しさん [2007/06/08(金) 22:56:31 ] [1] 授業単元:基本プログラミング [2] 問題文(含コード&リンク): 関数f(x)は次式で与えられる。 f(x)=x+x*x/4+x*x*x/9+……+xのn乗/n*n+…… 上式右辺の無限級数は、第n項(xのn乗/n*n)の絶対値が最初に0.000001より小さく なる項までの和で打ち切っても近似的には問題ないものとする。 x=0.1, 0.2, 0.3, 0.4, …, 0,9, 1におけるf(x)の値を計算して表示するプログ ラムをつくれ。 [実行例] f(0.1)=0.202618 f(0.2)=0.411004 f(0.3)=0.626129 f(0.4)=0.849283 : : f(0.9)=2.19971 f(1)=2.64393 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C++ [4] 期限:6月10日まで [5] その他の制限: do while文でお願いします。
50 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:00:32 ] >>49 マルチ(・A ・)イクナイ!
51 名前:デフォルトの名無しさん [2007/06/08(金) 23:14:24 ] [3]宿題ってか 3つの引数使いたいんですが visualC++で error C2660: 'initFld' : 関数に 3 個の引数を指定できません。 てエラーが… パソコン全くダメなんでやヴぁいです(’д`) 死ぬ
52 名前:デフォルトの名無しさん [2007/06/08(金) 23:19:11 ] (・3・)エェー 死ねYO
53 名前:デフォルトの名無しさん [2007/06/08(金) 23:33:58 ] 冷たい(◎д◎)! 教えて!
54 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 00:10:45 ] >>49 #include <cstdio> double f(double x) { double y=x,z=1,i=3,r=0,n; do { n=y/z; r+=n; z+=i; i+=2; y*=x; } while(n>=0.000001); return r; } int main(void) { int i=1; do { printf("f(%.1f)=%f\n", i/10.0, f(i/10.0)); } while(++i<=10); return 0; }
55 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 00:34:00 ] [1] 授業単元:C言語によるプログラミング入門 [2] 問題文(含コード&リンク): 演習課題1:次の関数がどのような値を返すか確かめるプログラム(main関数)を作成し実行せよ。考察も書くこと。 int myreturn(){ return 0; return 1; } 演習課題2:次の二つの関数が同じ働きであることを理解させるプログラム(main関数)を作成し実行せよ。 int myfactorial1(int i){ int j,a; if (i<0) return (0); if (i<2) return (1); a=1; for(j=1;j<i+1;j++) a=a*j; return a; } int myfactorial2(int i){ if (i<0) return 0; if (i<2) return 1; return (i*myfactorial2(i-1)); } [3] 環境 [3.1] OS: Windows [3.2] Cygwin 1.5.24-2 [3.3] 言語:C言語 [4] 期限:6月13日の水曜日まで [5] その他の制限:今日はじめてreturn文を習いました。そのレベルでよろしくお願いします
56 名前:54 mailto:sage [2007/06/09(土) 10:48:28 ] しもた using namaspace std; を書き忘れた。
57 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 13:31:42 ] >>56 別にいらんやん
58 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 15:18:27 ] >>57 規格上は必要
59 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 15:36:26 ] >>58 は?? <cstdio>内を読んでみることをお勧め
60 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 16:44:11 ] >>56-59 規格が読み難い文章だけど>>56 は誤りっぽいな 「JISX3014 附属書D(規定) 互換性」より抜粋 D.5 標準Cライブラリヘッダ 標準Cライブラリとの互換性のため、C++標準ライブラリは、表100に示す18個 の言語Cのヘッダを提供している。 表100 言語Cのヘッダ <assert.h> <iso646.h> <setjmp.h> <stdio.h> <wchar.h> <ctype.h> <limits.h> <signal.h> <stdlib.h> <wctype.h> <errno.h> <locale.h> <stdarg.h> <string.h> <float.h> <math.h> <stddef.h> <time.h> それぞれのCヘッダは、その名前をnameとしたとき"name.h"の形式をしている。 それぞれに対応して、標準C++ライブラリの名前空間内に置かれた"cname"とい うヘッダが、名前空間stdの名前空間有効範囲の中にも置かれ、その後に明示的 に《using指令》(7.3.3)が指定されているかのように振る舞う。 例 ヘッダ<cstdlib>は、名前空間stdの中に、その宣言及び定義を提供する。 ヘッダ<stdlib.h>は、C標準と同じく、これらを大域的名前空間でも利用 可能にする。
61 名前: ◆wSaCDPDEl2 mailto:sage [2007/06/09(土) 17:18:57 ] 別のところが険悪ムードで少しまずいと思ったのでお答えいただけませんか/ [1] 授業単元: コンピュータ・C言語 [2] 問題文: ファイルからデータを読み込み、pointが85以上、gpa<2,0のデータだけを表示しなさい。 続いて、(1)ファイルの内容を全て表示し、次に上記の条件に合致するデータだけを別ファイルに書き出し さらにこのファイルを読み込んで表示せよ。 最後に、point、gpaの平均を計算して同じファイルのデータ後に書き出し、そのファイル内容を読み込み表示せよ。 (つまり2.3,4を表示) x-file.tex↓ 1 alice 48 3.6 2 bob 88 3.2 3 charlie 69 1.8 4 dick 100 3.9 5 bomb 3 0.4 [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ: Visual Studio 2005またはgcc [3.3] 言語: C++ [4] 期限: 6/11 まで [5] その他の制限: 配列でdefineで文字を定義して使うか、for loopで製作する
62 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/06/09(土) 19:47:16 ] >>61 (・3・) エェー 「このファイル」っていうのは「ファイル」?「別ファイル」? 「同じファイル」ってどのファイル? 問題の意味がよく分からないYO! それぞれのファイルに名前をつけてくれYO! ファイルのフォーマットが分からないYO! point および gpa の取り得る値の範囲も分からないYO! 例) ファイルA を読み込み、上記の条件に合致するデータだけを ファイルB に書き出す ファイルB の内容を標準出力に出力する ファイルA 中の point, gpa それぞれの平均値を計算して、ファイルA の最後に追記する ファイルA の内容を標準出力に出力する
63 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/06/09(土) 20:02:30 ] >>46 (・3・) エェー 期限過ぎてるから解いても無駄かNA?
64 名前: ◆wSaCDPDEl2 mailto:sage [2007/06/09(土) 20:17:20 ] すいません分けて書いたほうがよかったかもしれません (問題1)X-fileを読み込んでpointが85以上、gpa<2,0のデータだけを表示しなさい。 (つまり2.3,4を表示するようにしなさい)というもので (問題2)続いて、1・x-fileの内容を全て表示する。2・問題1の条件に当てはまるものを別のファイル(Bファイル)に書き込む。3・Bファイルを読みこんで表示する。 (問題3)X-FILEを読みこんでpointとgpaの平均を計算して同じファイルの元のデータの後に書き出し、さらにそのファイル内容を表示。 (x-fileに平均を書き、平均が追加されたx-fileを表示せよ) x-file 1 alice 48 3.6 2 bob 88 3.2 3 charlie 69 1.8 4 dick 100 3.9 5 bomb 3 0.4 わかりにくくてすみませんでした。
65 名前: ◆wSaCDPDEl2 mailto:sage [2007/06/09(土) 20:19:27 ] 書き忘れました。x-fileはメモ帳で適当に(先生が)作ったテキストファイル(.tex)です。
66 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/06/09(土) 20:47:45 ] >>61 (・3・) エェー どれが point で どれが gpa なのか分からんYO! 合致するデータっていうのは 1 行丸ごとかYO! なんで 5 が表示されないんだYO!
67 名前: ◆wSaCDPDEl2 mailto:sage [2007/06/09(土) 20:59:53 ] 何度も言葉が足りずにすみません。 pointは(多分)名前の後のものでgpaは(多分)小数点ついてるやつです。 合致するデータは一行丸ごとだと思います。 5が表示されないのは・・・ミスでしょうか。2.3.4と書いてあるので適当に5を条件外の数値にしてみたのでそれでお願いします。 1 alice 48 3.6 2 bob 88 3.2 3 charlie 69 1.8 4 dick 100 3.9 5 bomb 3 2.4 つーか問題がわかりにくいですね。今度抗議してみます。すいませんでした。
68 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/06/09(土) 21:57:33 ] >>61 (・3・) エェー CしかできないからC++っぽくするなら自分で書き換えてくれYO! #include <cstdio> void file_display(char *filename){ FILE *fp; int moji; if((fp=fopen(filename, "r"))==NULL) return; while((moji=fgetc(fp))!=EOF) fputc(moji, stdout); fclose(fp); } int main(void){ char one_line[1024], *fname_in="x-file", *fname_out="Bファイル"; FILE *fp_in, *fp_out; double point, gpa, point_sum=0.0, gpa_sum=0.0; int num=0; file_display(fname_in); // q2 only if((fp_in=fopen(fname_in, "r+"))==NULL) return 1; if((fp_out=fopen(fname_out, "w"))==NULL) return 2; // q2 only while(fgets(one_line, sizeof(one_line), fp_in)){ if(sscanf(one_line, "%*d %*s %lf %lf", &point, &gpa)!=2) continue; num++; point_sum+=point; gpa_sum+=gpa; // q3 only if(point>=85 || gpa<2.0){ fputs(one_line, stdout); // q1 only fputs(one_line, fp_out); // q2 only } } if(num>0) fprintf(fp_in, "-1 average %f %f\n", point_sum/num, gpa_sum/num); // q3 only fclose(fp_in); fclose(fp_out); // q2 only file_display(fname_out); // q2 only file_display(fname_in); return 0; }
69 名前: ◆wSaCDPDEl2 mailto:sage [2007/06/10(日) 00:10:22 ] 問題1,2,33つともやっていただけたんですか。ありがとうございます! ファイルが見つからないというエラーが出たんですが、同じフォルダ内に入れないとダメとかいう制限でもあるのでしょうか?
70 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/10(日) 00:27:40 ] (・3・) エェー 新スレおつんつんん C++っぽくだとこんなんかNA? #include <iostream> #include <sstream> #include <fstream> #include <string> using namespace std; #define filename "x-file.txt" int main(){ fstream file; string str; int point = 0; double gpa = 0.0; file.open( filename, ios::in ); while( !file.eof() ){ char buf[256]; getline(file, str); istringstream is( str ); int p; double g; is >> buf >> buf >> p >> g; point += p; gpa += g; } file.close(); file.open( filename, ios::app ); file << point /5 << " " << gpa /5 << endl; file.close(); return 0; }
71 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 01:30:40 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): (問題1)点1が79以上、または点2が20以下のものを行ごと表示しなさい (問題2)点1、点2の平均を計算して表示しなさい 点1 点2 1、A君 30 49 2、B君 90 69 3、C君 60 12 4、D君100 88 5、E君 30 67 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:visual studio 2005 [3.3] 言語: C [4] 期限: 6/12 [5] その他の制限:配列を使って行ってください。
72 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 01:32:30 ] ちょっと問題2の分が悪かったです。 点1の平均と点2の平均を出し、表示しなさいでした。すみません。
73 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 01:35:13 ] 何度もすみません。私バカなんでなるべく簡単に書いてもらえないでしょうか? スレ汚し失礼しました。配列は勉強済みです。
74 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/10(日) 04:33:31 ] >>71 (・3・) エェー こんなんでいい? #include <stdio.h> int main( void ){ char name[5][4] = {"A君", "B君", "C君", "D君", "E君"}; int score[5][2] = {{30, 49}, {90, 69}, {60, 12}, {100, 88}, {30, 67}}; double ave1 = 0.0, ave2 = 0.0; int i; for(i=0; i<5; i++){ if( score[i][0] >= 79 || score[i][1] <= 20 ){ printf( "%d、%s %d点 %d点\n", i+1, name[i], score[i][0], score[i][1] ); } ave1 = score[i][0]; ave2 = score[i][1]; } printf( "点1の平均:%f 点2の平均:%f\n", ave1 /5, ave2 /5 ); return 0; }
75 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 04:46:35 ] >>74 char name[5][4]←これはよろしくないんでないかい?
76 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/10(日) 04:48:15 ] (・3・) アルェー ダメ・・・だっけ?
77 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 04:51:12 ] >>76 規格で+1まで保証されてたか忘れたけどいちお、char[5][5]がいいんじゃない?って思っただけ。
78 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 04:52:07 ] >>77 すまん、ABCDEが全角に見えたんだ・・・ スルーしてくれ・・・
79 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/10(日) 04:53:53 ] (;・3・) エェー 文字列って2バイト余計に必要な場合あるのかYO
80 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/10(日) 04:59:40 ] >>78 (・3・) エェー よかったびっくりしたYO
81 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/06/10(日) 12:10:49 ] >>74 (・3・) エェー 実行してみたら平均点が低すぎるYO!
82 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 14:26:02 ] [1] 授業単元: C言語プログラミング [2] 問題文(含コード&リンク): ファイルからデータを読み込み、1が80以上、または2が20以下のデータだけを行ごと表示しなさい Aファイル↓ 1 2 1、A 33 49 2、B 88 69 3、C 70 12 4、D 99 88 5、E 55 67 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:visual studio 2005 [3.3] 言語: C [4] 期限: 6/14 [5] その他の制限:上のほうに殆どそっくりな問題が出ているのですがわからないので・・
83 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/10(日) 14:34:22 ] >>81 (・3・) エェー ave1 += のところが ave1 = になてたYO
84 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 14:37:20 ] すいません。参考文献を乗せるのを忘れました。 次のプログラムは、hairetu-filesと呼ばれるファイルに格納した 3つのデータを読み込んで合計した値を求めて出力しています。 #include<stdio.h> #define N 3 int main(void){ FILE *fp; int i,date,sum=0; if((fp=fopen("hairetu-files","r"))==NULL){ puts("File Open Error"); return 0;} for(i=0;i<N;i++){ fscanf(fp,"%d",&date); sum+=data; } fprintf(stdout,"合計は%dです\n",sum); fclose(fp); return 0; } hairetu-files 121 232 341 この途中の部分を>>82 の条件になるように書き換えれば出来るらしいですが・・・ どうかこれを参考にお願いします
85 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/10(日) 20:07:50 ] (・3・) エェー まぁこんなんで #include <stdio.h> #define filename "A.txt" #define N 5 int main( void ){ FILE *fp; int i, sum1 = 0, sum2 = 0, data1, data2; char buf[256]; if( (fp = fopen( filename, "r")) == NULL){ printf( "File Open Error"); return 0; } while( fgets( buf, 256, fp) != NULL){ sscanf( buf, "%*s %d %d", &data1, &data2); sum1 = sum1 + data1; sum2 = sum2 + data2; if(data1 >= 80 || data2 <= 20){ printf( "%s", buf); } } printf( "点1の平均:%d\n点2の平均:%d\n", sum1 /N, sum2 /N); fclose( fp ); return 0; }
86 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 20:30:00 ] >>82 です。他の人のもこなしているのにわざわざありがとうございました。 データを読み込むことは出来たのですが実行した際全部出てきてしまい 条件の結果とは一致しませんでした・・・
87 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/10(日) 20:46:45 ] (・3・) アルェー 読み込みファイルの中身はどんなん?
88 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 20:49:24 ] 1 2 1、A 33 49 2、B 88 69 3、C 70 12 4、D 99 88 5、E 55 67 が読み込みファイルの中身です。これが全て表示されてしまうのです。
89 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/10(日) 20:54:57 ] (・3・) アルェー 全角スペースですかYO ファイルを・・ 1 2 1、A 33 49 2、B 88 69 3、C 70 12 4、D 99 88 5、E 55 67 にして見てくださいYO ソースもちょい直すYO
90 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/10(日) 20:55:51 ] #include <stdio.h> #define filename "A.txt" #define N 5 int main( void ){ FILE *fp; int i, sum1 = 0, sum2 = 0, data1, data2; char buf[256]; if( (fp = fopen( filename, "r")) == NULL){ printf( "File Open Error"); return 0; } if( (fgets( buf, 256, fp)) == NULL)return 0; while( fgets( buf, 256, fp) != NULL){ sscanf( buf, "%*s %d %d", &data1, &data2); sum1 = sum1 + data1; sum2 = sum2 + data2; if(data1 >= 80 || data2 <= 20){ printf( "%s", buf); } } printf( "点1の平均:%d\n点2の平均:%d\n", sum1 /N, sum2 /N); fclose( fp ); return 0; }
91 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:04:36 ] ありがとうございます。半角にしてやってみたところやはりなぜか5番が表示されてしまうのです。 1番は消えました
92 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:31:31 ] できましたよおおおおおおおおおおhomoじょあさんありがとうございます!!
93 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/10(日) 21:40:30 ] (・3・) エェー そりは良かったお 結局なんで5番はでてたのかお
94 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:44:34 ] 1、 2、 3、 4、 5、 を小文字のまま書いていたのが悪カッタっぽいです。データは自分で作ったものなんで大文字でかいたら おーけーでした。
95 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:45:22 ] 適当すぎw
96 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/10(日) 22:01:22 ] >>94 (・3・) エェー よくわからんけどそうゆうことかYO >>95 (・3・) アルェー がっこの宿題こんなもん〜
97 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 19:39:09 ] 【質問テンプレ】 [1] 授業単元:Cプログラミング実習 [2] 問題文(含コード&リンク): オリジナルプログラムの作成 下記要綱を満たしていればどんなプログラムでも問題ありません @文は最低50以上(;で終わる文のみカウント) A2次元配列、マクロを使用 Bif,while,for文の使用 C自作関数又は引数を使用。戻り値は問いません Dヘッダファイルを使用 E誰が見ても分かりやすいプログラムにすること(/*説明*/) [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:VB.NET2003 [3.3] 言語: C [4] 期限: 2007年6月15日 [5] その他の制限:ポインタ、リスト使用不可
98 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 19:48:55 ] >>97 マルチ乙
99 名前:デフォルトの名無しさん [2007/06/12(火) 21:00:06 ] 2次元配列[3][5]に0〜99の数のうちから15個の数字をランダムに選び(30は必ずどこかに入れる)次のプログラムを作れ 配列に格納された数値を a,大きい順に並べる(バブルソートで) b,小さい順に(バブルソートで) c,30の場所を配列の行番号と列番号をprintfで出力せよ お願いします。
100 名前:82 mailto:sage [2007/06/12(火) 21:58:35 ] [1] 授業単元: C言語プログラミング [2] 問題文(含コード&リンク): ファイルからデータを読み込み、まずファイルの内容を全て表示し、 1が80以上、または2が20以下のデータだけを別のファイルに書き出しなさい。(別ファイルは適当でよい) そしてこのファイルを読みこんで表示しろ Aファイル↓ 1 2 1、A 33 49 2、B 88 69 3、C 70 12 4、D 99 88 5、E 55 67 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:visual studio 2005 [3.3] 言語: C [4] 期限: 6/14 [5] その他の制限:上のほうに殆どそっくりな問題が出ているのですがわからないので・・ この前お世話になったものです。自分で解こうとしたけれどいくらやっても無理なので 知識豊富な皆様の力を分けてください。お願いします。
101 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 23:44:42 ] >>99 前に似たような問題が出てたから、それを改造すればいいんでない? >>4 >>12 >>13 を参照
102 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 20:57:16 ] [1] 授業単元:C++研究 [2] 問題文: 多次元配列を用いて自分の時間割を作成しコマンドプロンプトへ出力しなさい。 なお,履修データはプログラムに直接記述してよい。 また,時限名,曜日名のタイトルも出力すること。 配列などはいれてませんが出力すると、下記urlのcout文のような表示にするようです。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4223.txt 枠は手書きでも構わないみたいです。 枠や時間割りはすべては埋めてませんが、時間割の枠と全ての時間割り枠内に 科目名、担当の先生の名前、講義室の番号室の3つと それプラス曜日名と時限名を多次元配列で出力表示します [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:Visual studio.2005 [3.3] 言語: C++ [4] 期限: ([2007年6月15日11:00まで] [5] その他の制限:特になし よろしくお願いします
103 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 01:03:47 ] [1] 授業単元:C++研究 [2] 問題文: ボーリングのスコア計算をするプログラムを作成しなさい (入力:スコア, 配列データ:スコア表, 出力:入力毎にスコア表を表示させる) ttp://hmets.hp.infoseek.co.jp/boul.html ↑のように表を作成して表示するみたいです。10回戦目は3投、投げます 氏名の部分はいりません。 [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:Visual studio.2005 [3.3] 言語: C++ [4] 期限: ([2007年6月16日11:00まで] [5] その他の制限:特になし よろしくお願いします
104 名前:デフォルトの名無しさん [2007/06/14(木) 12:48:10 ] アップローダーのNo.4248に問題をアップしましたので、 よろしくお願いします。
105 名前:デフォルトの名無しさん mailto:06kc506@ed,cck.dendai.ac.jp [2007/06/14(木) 13:29:46 ] [1] 授業単元:C言語 [2] 問題文: 次の条件を満たす関数を作りなさい。 1. 配列の要素p[n]とp[n+1]を比較し小さいほうを前にずらす。 2. 番兵-1が出たら処理を終了させる。 3. 1、2を要素の数だけ繰り返す。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:microsoft Visual C++ .NET 2005 , borland C++ compiler5.5 ほか [3.3] 言語: CまたはC++ [4] 期限: 2007年06月28日13:00まで [5] その他の制限:メールでの提出も可。ただし、他人のコピーは不可。
106 名前:デフォルトの名無しさん [2007/06/14(木) 15:57:37 ] 授業単元:C言語 環境:if文・for文・while文・do〜while文・switch〜case文 OS:Windows コンパイラ名とバージョン:borland 言語:C テーマ:数値配列の操作 配列[8]に整数を入力し、以下のような表示をしなさい 実行画面 整数入力[0]==>4 整数入力[1]==>3 整数入力[2]==>8 整数入力[3]==>6 整数入力[4]==>1 整数入力[5]==>5 整数入力[6]==>2 整数入力[7]==>7
107 名前:wauwau mailto:limu38@hotmail.com [2007/06/14(木) 18:41:47 ] 演習課題1:次の関数がどのような値を返すか確かめるプログラム(main関数)を作成し実行せよ。考察も書くこと。 int myreturn(){ return 0; return 1; } 演習課題2:次の二つの関数が同じ働きであることを理解させるプログラム(main関数)を作成し実行せよ。 int myfactorial1(int i){ int j,a; if (i<0) return (0); if (i<2) return (1); a=1; for(j=1;j<i+1;j++) a=a*j; return a; } int myfactorial2(int i){ if (i<0) return 0; if (i<2) return 1; return (i*myfactorial2(i-1)); }
108 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 19:08:33 ] >>107 >>1 くらい読めカス kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4252.c
109 名前:wauwau mailto:limu38@hotmail.com [2007/06/14(木) 19:18:31 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 1:次の関数がどのような値を返すか確かめるプログラム(main関数)を作成し実行せよ。 [3] 環境 2:次の二つの関数が同じ働きであることを理解させるプログラム(main関数)を作成し実行せよ [3.1] OS: Windows [3.2] コンパイラ名とバージョン: (gcc 3.4 ) [3.3] 言語: (C) [4] 期限: ([2007年6月14日) [5] その他の制限: 特になし よろしくお願いします
110 名前:wauwau mailto:limu38@hotmail.com [2007/06/14(木) 19:23:21 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 演習課題1:次の関数がどのような値を返すか確かめるプログラム(main関数)を作成し実行せよ。考察も書くこと int myreturn(){ return 0; return 1; } 演習課題2:次の二つの関数が同じ働きであることを理解させるプログラム(main関数)を作成し実行せよ int myfactorial1(int i){ int j,a; if (i<0) return (0); if (i<2) return (1); a=1; for(j=1;j<i+1;j++) a=a*j; return a; } int myfactorial2(int i){ if (i<0) return 0; if (i<2) return 1; return (i*myfactorial2(i-1)); } [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: (gcc 3.4 ) [3.3] 言語: (C) [4] 期限: ([2007年6月14日) [5] その他の制限: 特になし ごめんなさい ここに書き込むのが初めてで様式を知りませんでした。。 よろしくお願いします
111 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 19:27:29 ] >>110 >>108
112 名前: ◆ba6YufWRwU mailto:sage [2007/06/14(木) 20:02:28 ] 【質問テンプレ】 [1] 授業単元: C言語 [2] 問題文(含コード&リンク): int型配列データaに100,200,300,400の値を初期設定し、それらの 値の和WAを求めて、aのそれぞれの値と和WAを求めて出力するための プログラムを作成せよ。 [3] 環境 [3.1] OS:XP [3.2] コンパイラ名とバージョン: microsoft Visual C++ .NET 2005 [3.3] 言語:C [4] 期限: ([07年6月14日24時まで] [5] その他の制限:特になし よろしくお願いします
113 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 20:11:01 ] #include <stdio.h> int main(void) { int i,WA; int a[4] = {100,200,300,400}; WA = 0; for(i=0;i<4;i++) WA += a[i]; for(i=0;i<4;i++) printf("a[%d] = %d\n",i,a[i]); printf("WA = %d\n",WA); return 0; }
114 名前:デフォルトの名無しさん [2007/06/14(木) 20:45:17 ] [1] 授業単元: C言語演習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4253.txt 上記プログラムの構造体Personに 性別(int,0(女),1(男))を追加しなさい。 例の性別は適当で良い。 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:VC++2005 [3.3] 言語:C++ [4] 期限: 07年6月15日10時まで [5] その他の制限:特になし お願いします。
115 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/14(木) 21:59:55 ] >>106 #include <stdio.h> int main(void){ int num[8] = {4, 3, 8, 6, 1, 5, 2, 7}; int i; for(i=0; i<8; i++){ printf("整数入力[%d]==>%d\n", i, num[i]); } return 0; }
116 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/14(木) 22:25:02 ] >>102 (・3・) 適当な上に汚い ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4254.txt
117 名前:デフォルトの名無しさん [2007/06/14(木) 22:47:00 ] >>105 #include<string.h> void sub(char *p) { int i,n; int LEN=strlen(p); char temp; for( i=0; p[i] != '0'; i++) { for ( n=0; n<LEN-2; n++) { if ( p[n] > p[n+1] ) { temp = p[n]; p[n] = p[n+1]; p[n+1] = temp; } } } }
118 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/14(木) 22:54:02 ] >>114 #include <stdio.h> #define N 256+1 struct Person{ char name[N]; int age; int sex; }; void main(void){ struct Person P[]={{"花咲爺",64, 1},{"桃太郎", 5, 1},{"金太郎",12, 1},{"浦島太郎",41, 1}}; struct Person tmp; int n=sizeof(P)/sizeof(P[0]); for(int i=0; i<n; i++){ for(int j=n-1; j>i; j--){ if(P[j].age>P[j-1].age){ tmp=P[j];P[j]=P[j-1];P[j-1]=tmp; } } } printf("登場人物\n"); for(int i=0; i<n; i++) printf("名前=%s\t年齢=%3d\t性別=%s\n",P[i].name,P[i].age,P[i].sex == 0 ? "女" : "男"); }
119 名前:デフォルトの名無しさん [2007/06/15(金) 02:01:25 ] >>99 お願いします。>>4 >>12 >>13 みてもわかんないんで…
120 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 02:10:21 ] 誰が何をかいてもお前にはわかんないよ。
121 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 12:25:30 ] >>116 ありがとうございます、凄く助かりました。
122 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 12:54:32 ] park1.wakwak.com/~shiraki/bowling/score.html ボーリングのスコア計算の解説を見つけたので、一応貼り付けておきますね よろしくお願いします。 >>103
123 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 13:01:47 ] next1.cc.it-hiroshima.ac.jp/C++/intro.htm C++言語の解説を見つけたので、一応貼り付けておきますね よろしくお願いします。 >>122
124 名前:依頼者 [2007/06/16(土) 19:10:03 ] [1] 授業単元: C言語演習 [2] 問題文(含コード&リンク): (1)登録番号"int no"と名前"char *name"と"int age"を含む構造体person型の配列を定義し 初期化せよ。なお、最後のデーダの名前にはNULLを入れておく。登録番号は入力順に1,2,3,4,5 とする。配列の先頭アドレスを目指す構造体person型のポインタは引数として与え、データを年齢順に 並び替える関数を作成せよ (2)登録番号"int no"と名前"char *name"と"int age"を含む構造体person型の配列を定義し 初期化せよ。なお、最後のデーダの名前にはNULLを入れておく。登録番号は入力順に1,2,3,4,5 とする。そして配列の先頭アドレスを目指す構造体person型のポインタと参照したい人の登録番号を引数として その名前年齢を表示する関数を作成せよ [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:visual studio.net [3.3] 言語:C++ [4] 期限: 07年6月19日まで [5] その他の制限:特になし よろしくお願いします。
125 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 00:20:50 ] [1] 授業単元:C++ [2] 問題文: 新しい型(設計図)として,「人間」型と「動物」型を設計(新しい型(設計図)は,structでmain関数の外で記述すること, 要素は適時考えること)し,main関数で上記の型(設計図)の変数を配列で2つづつ宣言(生成)した後, その変数の要素に適当な初期値を格納しなさい(関数を用いること)。最後に, main関数で上記で生成した変数の要素をすべてコマンドプロンプトに出力しなさい(関数を用いること)。 [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:VISUALSTUDIO2003 [3.3] 言語: C++ [4] 期限: ([2007年6月18日00:00まで] [5] その他の制限:ないです どうぞよろしくおねがいします
126 名前: ◆qbNb6Ma0MY mailto:sage [2007/06/17(日) 00:21:14 ] [1] 授業単元:C言語解析 [2] 問題文: 「直列共振回路の周波数特性」 抵抗R、自己インダクタンスL、静電容量Cの直列回路に 起電力Eを加える時、電流I(正確にはIドット)が流れる。Eの周波数fを変化させて、 Iの大きさと位相の変化を調べよ (注) 共進周波数をはさんで適当な範囲で周波数を変化させる。また、周波数の刻み幅も適切に選ぶこと。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=4251 の7レス目(ミスってしまった・・)は複素数の演算を行うプログラムである ここの下のほうのint main(void)からを変化させてとくようにするといい。 [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:Visual studio.2005 [3.3] 言語: C [4] 期限: 6月20日 [5] その他の制限: 特になし 初カキコだけどよろしくお願いします
127 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 00:56:20 ] >>125 とりあえず名前だけ作った。 適当に関数追加するだけなんだし自分で作って。 #include <iostream> struct Creature { private: const char *name; public: void setName(const char *name) { this->name = name; } const char *getName() const { return name; } }; struct Animal : public Creature {}; struct Human : public Creature {}; int main() { Animal animal; animal.setName("動物"); std::cout << animal.getName() << std::endl; Human human; human.setName("人間"); std::cout << human.getName() << std::endl; return 0; }
128 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 01:27:18 ] [1] 授業単元:C++ [2] 問題文: 野球のスコア計算をするプログラムを作成しなさい。 スコアを入力して、配列データにイニング表を、入力毎にスコア表を表示 最後に勝者を出力。 なお延長の場合も考えること(延長は15回までとする) [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:Visual studio.2005 [3.3] 言語: C++ [4] 期限: ([2007年6月19日00:00まで] [5] その他の制限:特になし どうかよろしくお願いします
129 名前:匿名希望 mailto:06kc506@ed,cck.dendai.ac.jp [2007/06/19(火) 11:38:25 ] [1] 授業単元:C言語 [2] 問題文: 俳優のデータベースについて次の各問いに答えよ。 1.名前、出身地、年齢、性別、登場作品を定義する構造体を宣言せよ。 2.年齢順に並び替える関数を作成せよ。 3.名前、出身地、年齢、性別、登場作品を表示せよ。 4.(発展)外部ファイルでの読み書きをできるようにせよ。 5.(発展)データを標準入力で追加できるようにせよ。 6.(自由)それを応用してオリジナルのプログラムを作成せよ。 [3] 環境 [3.1] OS:制限なし [3.2] コンパイラ名とバージョン:制限なし [3.3] 言語:C言語 [4] 期限: ([2007年7月3日13:00まで]) [5] その他の制限: 動きましたといっただけでは正解になりませんので、説明すること。 発展および自由に関しては余力のある人のみでよい。 自由は評価の対象にならない。
130 名前:鎌ゆう [2007/06/19(火) 12:17:36 ] [1] 授業単元:C言語 [2] 問題文: Randを使ってゲームを作る。一回遊んで終了でかまわない [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:Visual studio.2005 [3.3] 言語: C [4] 期限: ([2007年6月20日00:00まで] [5] その他の制限:特になし どうかよろしくお願いします
131 名前:デフォルトの名無しさん [2007/06/19(火) 14:53:29 ] 1]C言語 [2] double型実数Xのn乗x(xをn回掛けた値、nは正の整数)を返す関数powerを作成して、この関数powerを利用して、キーボードから実数aと整数mを読み込み、aのm乗aを求めるプログラムを作成しなさい [3] [3.1] OS: XP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語: C 実行結果例 実数a;1,2 実数m;10 -------------- 1,20の10乗=6,19
132 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 15:26:54 ] >>130 #include<stdio.h> #include<stdlib.h> #include<time.h> int main(void) { int a,b,n; srand(time(NULL)); a=rand()%51; printf("数当てゲーム、秘密の値を当ててください。秘密の値は0〜50の整数です。\n"); printf("チャンスは10回,0〜50以外の整数を入れると終了します。\n"); for(n=1;n<=10;n++){ if(n==10) printf("最後のチャンス:"); else printf("%d回目:",n); scanf("%d",&b); if(b>50 || b<0){ printf("ゲームを中止します"); return 0; }else if(b==a){ printf("あたり"); break; }else if(b>a) printf("秘密の値より大きいよ"); else printf("秘密の値より小さいよ"); } printf("\n"); if(n==11)printf("残念"); else if(n<3) printf("%d回で当てましたね。エスパーさんですか?",n); else printf("%d回で当てました",n); return 0; }
133 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 15:51:55 ] >>131 #include<stdio.h> double power(double x, int n) { double a=1; for(;n>0;n--) a*=x; return a; } int main(void) { double a;int m; printf("実数a;");scanf("%lf",&a); printf("整数m;");scanf("%d",&m); printf("--------------\n"); printf("%fの%d乗=%f\n",a,m,power(a,m)); return 0; }
134 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 16:30:40 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 1.二次元配列、ランダム関数をつかったポーカー 2.配られたカードがダブらないようにする 3.カードは二回変えることができる。 4.役は必要ありません。 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: bcc55 [3.3] 言語:C [4] 期限: ([2006年06月20日12:00まで] [5] その他の制限:
135 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 00:45:51 ] >>134 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4298.txt
136 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 01:58:16 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): テキスト形式のファイルを読み込み, 読み込んだアルファベットで書かれた文章のうちa,i,u,e,o(母音)を'*'に置き換えて出力するプログラムを作成しなさい. 出力はファイル名test.outにすること. [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: 21日正午まで [5] その他の制限: 特になし 実行結果 [home@*** ~/h1]% cat test.in Mr.X is a gentleman. [home@*** ~/h1]% ./test filename: test.in [home@*** ~/h1]% cat test.out Mr.X *s * g*ntl*m*n. [home@*** ~/h1]% よろしくお願いします。
137 名前:デフォルトの名無しさん [2007/06/21(木) 02:36:20 ] >>136 こんなんでいい? kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4310.txt
138 名前:デフォルトの名無しさん [2007/06/21(木) 15:31:48 ] 授業単元:C言語 環境:if文・for文・while文・do〜while文・switch〜case文・ OS:Windows コンパイラ名とバージョン:borland 言語:C テーマ:文字配列の操作 問題1 文字型の配列変数mojiに設定されている文字数を答えなさい char moji[] = "ABCDEFG"; 実行画面 文字数:7 問題2:文字列を入力して偶数番目の要素数と奇数番目の要素を別の配列に格納し、文字列として表示しなさい 実行画面 文字列入力==>ABC123def 偶数要素:AC2df 奇数要素:B13e
139 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 16:04:55 ] >>138 問題1 printf("文字数:%d\n",strlen(moji)); 問題2 #include <stdio.h> int main(){ char tmp[128],str1[64],str2[64]; int i; printf("文字列入力==>"); fgets(tmp,sizeof(tmp),stdin); for(i=0;tmp[i]!='\0';i++){ i%2 ? (str2[i/2]=tmp[i]) : (str1[i/2]=tmp[i]); } str1[i/2] = str2[i/2] = '\0'; printf("偶数要素:%s\n",str1); printf("奇数要素:%s",str2); return 0; }
140 名前:デフォルトの名無しさん [2007/06/21(木) 16:25:14 ] i番目のフィボナッチ数を返す関数 long fibonacci(long n){/* */}を再帰を用いて定義せよ という問題なんですが 実行例 整数を入力してください:0 Fibonacci(0)=1 整数を入力してください:1 Fibonacci(1)=1 整数を入力してください:2 Fibonacci(2)=2 整数を入力してください:6 Fibonacci(6)=13 となるようにしたいんですがお手上げ状態ですorz よろしくお願いします
141 名前:デフォルトの名無しさん [2007/06/21(木) 16:34:52 ] i番目のフィボナッチ数を返す関数 long fibonacci(long n){/* */}を再帰を用いて定義せよ という問題なんですが 実行例 整数を入力してください:0 Fibonacci(0)=1 整数を入力してください:1 Fibonacci(1)=1 整数を入力してください:2 Fibonacci(2)=2 整数を入力してください:6 Fibonacci(6)=13 となるようにしたいんですがお手上げ状態ですorz よろしくお願いします
142 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/21(木) 22:14:27 ] >>129 #include <stdio.h> typedef struct{ char name[128]; char home[128]; int age; int sex; char film[128]; }actor; void sortage(actor*, int); void show(actor); int main(void){ return 0; } void sortage(actor *act, int cnt){ int i, k; actor swap; for(i=0; i< cnt -1; i++){ for(k=i+1; k<cnt; k++){ if(act[i].age > act[k].age){ swap = act[i]; act[i] = act[k]; act[k] = swap; } } } }
143 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/21(木) 22:15:47 ] >>129 void show(actor act){ printf( "名前:%s\n" "出身地:%s\n" "年齢:%d\n" "性別:%s\n" "登場作品:%s\n", act.name, act.home, act.age, act.sex == 0 ? "男" : "女", act.film ); } (・3・) エェー mainの中身は知らないYO
144 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/21(木) 22:16:56 ] >>141 #include <stdio.h> long fibonacci(long n){ if(n == 0 || n == 1) return 1; return fibonacci( n-1) + fibonacci( n-2); } int main(void){ long n; printf( "整数を入力して下さい:"); scanf( "%ld", &n); printf( "Fibonacci(%d) = %d\n", n, fibonacci(n)); return 0; }
145 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 22:32:22 ] てst
146 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 22:43:49 ] 再帰でフィボナッチで無駄が多すぎてダメな例だろ
147 名前: ◆UoNQqijD4I [2007/06/22(金) 15:47:15 ] [1] 授業単元:プログラミング実習 [2] 問題文(含コード&リンク):4行3列の行列Aと3行4列の行列Bの異なる行列式のファイルを読み込み、 読み込んだ行列と、Aの転置行列、及びAの転置行列とBの行列との和を出力するプログラムを作成し、 ソースコードを提出すること。 注意)読み込むファイルはこちら側で用意しておきますので、 行列Aのファイル名を[kadai1.dat]、行列Bのファイル名を[kadai2.dat]という名前で提出すること。 [3] 環境 [3.1] OS Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語:C言語 [4] 期限: 今日の5時まで! [5] その他の制限:バイナリファイル、ポインタまで習いました。もう1つのサイトにも書き込みましたが、 結構急ぎなので、できればこちらでもお願いします!!
148 名前: ◆sLIzEFbWfc [2007/06/23(土) 11:49:23 ] >>147 です! 期限過ぎましたが、とりあえずは提出したのでよろしくお願いします ちなみにC言語は今年の春から初めて初心者です(;;)
149 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 12:23:53 ] 提出したんならもういいじゃん
150 名前:依頼者 [2007/06/23(土) 16:40:46 ] 1] 授業単元: C言語演習 [2] 問題文(含コード&リンク): (1)変数xのyビット目を0にする関数int bit_clear(int x, int y)の作成。 (2)変数xのyビット目の値を返す関数int bit_test(int x,int y)の作成。 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:visual studio.net [3.3] 言語:C++ [4] 期限: 07年6月25日まで [5] その他の制限:特になし 演算子の問題です。よろしくお願いします。
151 名前:仕様がよく判らんから適当に書いた mailto:sage [2007/06/23(土) 16:50:35 ] int bit_clear(int x, int y) {return x & ~ (1 << y);} nt bit_test(int x,int y) {return (x >> y) & 1;}
152 名前: ◆DpMW3bRjps [2007/06/23(土) 18:55:52 ] 内容: >>148 です とりあえず提出し「た」いのでよろしくお願いします 脱字すみません↓↓ちなみに課題は>>147 です。。。 #include <stdio.h> #include <stdlib.h> #define ROW 4 #define COLUMN 3 int main(void) { FILE *fp; double a[ROW][COLUMN]; int i, j; if ( (fp = fopen( "kadai1.dat", "r")) == NULL ) { printf("ファイルが見つかりません : kadai.dat \n"); exit(1); } printf("行列は次の通りです\n"); for( i = 0 ; i < ROW ; i++) { for( j =0 ; j < COLUMN ; j++) { fscanf(fp, "%lf", &a[i][j]); printf("%5.2f\t", a[i][j]); } printf("\n"); } printf("転置行列は次の通りです\n"); for( j = 0 ; j < COLUMN ; j++) { for( i = 0 ; i < ROW ; i++) {fscanf(fp, "%lf", &a[i][j]); printf("%5.2f\t",a[i][j]); } printf("\n"); } fclose( fp ); return 0; }
153 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/23(土) 20:21:37 ] >>152 #include <stdio.h> #define file1 "kadai1.dat" #define file2 "kadai2.dat" int main(void){ FILE *fp; double A[3][4], B[4][3], TA[4][3]; int i, k; printf("A:\n"); fp = fopen(file1, "r"); for(i=0; i<3; i++){ for(k=0; k<4; k++){ fscanf(fp, "%lf", &A[i][k]); printf("%5.2f ", A[i][k]); } printf("\n"); } printf("\nB:\n"); fp = fopen(file2, "r"); for(i=0; i<4; i++){ for(k=0; k<3; k++){ fscanf(fp, "%lf", &B[i][k]); printf("%5.2f ", B[i][k]); } printf("\n"); } fclose(fp);
154 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/06/23(土) 20:23:01 ] printf("\nTA:\n"); for(i=0; i<4; i++){ for(k=0; k<3; k++){ TA[i][k] = A[k][i]; printf("%5.2f ", TA[i][k]); } printf("\n"); } printf("\nB+TA:\n"); for(i=0; i<4; i++){ for(k=0; k<3; k++){ printf("%5.2f ", B[i][k] + TA[i][k]); } printf("\n"); } return 0; }
155 名前: ◆DpMW3bRjps [2007/06/23(土) 20:35:24 ] >>152 です ありがとうございました!!
156 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 07:51:30 ] [1] 授業単元:アルゴリズム研究 [2] 問題文:10リットル、8リットル、3リットルの容器があり、10リットルの容器に水がいっぱい入っている。 この3つの容器を用い、3リットルの容器に1リットルの水を取り出す最小の手順を答えよ。ただし、水を移す時は、移す側が空になるか、移す側がいっぱいになってときとする。 幅優先探索と言うのを用いるそうです。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 5.5.1 [3.3] 言語: C [4] 期限: 6月25日の2400まで [5] その他の制限:バケツの水の入り方を、座標に見立て、その座標に番号をつけ、広がり優先探索を用いる。 どうしたら良いかわからず、焦っています。 急ですがよろしくお願いします
157 名前:デフォルトの名無しさん [2007/06/24(日) 21:56:40 ] 一次元配列に入った数字の最大値を自作関数maxofをつかって求めよって問題です。 配列の中身は25、35、8、4、23でお願いします。
158 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:07:06 ] >>157 >>1 のテンプレに沿って書いてくれ。あと配列の型も
159 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 23:27:06 ] >>157 仕様が曖昧すぎるので勝手に決めた。 配列の先頭アドレスと配列数を入力とし、配列内の最大値を出力とする。 配列内の数字は正の整数のみとする。 int maxof( int * array, int max ) { int i; int ans = 0; for ( i = 0; i < max; i++ ) { if ( *array > ans ) ans = *array; array++; } return ans; }
160 名前:デフォルトの名無しさん [2007/06/25(月) 15:27:00 ] [1] 授業単元:ユニット演習 [2] 問題文(含コード&リンク):正整数n を入力し,2 〜 n の範囲にある素数およびその個数を求めるプログラムを作成 しなさい. [3] 環境 [3.1] OS:windows [3.2] コンパイラ名とバージョン:cygwin [3.3] 言語:C [4] 期限:特になし [5] その他の制限:特になし よろしくお願いします。
161 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:57:04 ] #include <stdio.h> int prime[500000]; int main(void) { int i, j, n, cnt = 0; printf("正の整数を入力してください:"); scanf("%d", &n); prime[cnt++] = 2; for(i=3; i<=n; i+=2) { int flag = 0; for(j=0; prime[j]*prime[j]<=i; j++) { if(i%prime[j]==0) { flag = 1; break; } } if(flag==0) prime[cnt++] = i; } for(i=0; i<cnt; i++) printf("%d ", prime[i]); printf("\n%d個\n", cnt); return 0; }
162 名前:kino [2007/06/25(月) 20:14:23 ] 年頭(1月1日0時0分)からの経過「分」数を標準入力から入力し、 それが何月何日の何時何分に当たるかを標準出力に出力するプログラムを、 以下の手順に従って(必ず以下の仕様・条件を満たすこと)、C言語を用いて作成せよ。 なお、本課題では、その年が閏年かどうかを考慮する必要はないものとする (閏年ではないものとしてよい)。 なお、制限事項として、本課題では、構造体は用いてはならないものとする (構造体を用いた場合は未提出として扱う)。 1. 年頭(1月1日0時0分)からの経過「分」数から、それが何月何日の何時何分に当たるかを求める関数whattime()を作成し、必ず、この関数を用いてプログラムを完成せよ。ただし、この関数内では(エラーメッセージ出力以外の)入出力を一切行ってはならないものとする。 2. whattime()が返す情報を以下のように定める。 * 「月」の情報は、数値ではなく、英語の名称(例えば "April")とする。プログラム上では、文字列(文字列ポインタ)を返すものとする。 * 「日」の情報は数値で返すものとする。プログラム上では、int型のデータを返すものとする。 * 「時」および「分」の情報は、それぞれ数値として返すのではなく、「hh:mm」の形式の文字列(文字列ポインタ)を返すものとする。 3. whattime()が返す文字列の情報については、その記憶領域をすべて whattime()の内部で用意あるいは確保すること。つまり、whattime()を呼び出す側で文字配列を定義する必要がないようにせよ。 通常、関数内で定義した変数(自動変数)は、関数からリターンした後は利用できない。関数からリターンした後でもその領域を確保したまま利用するためには、以下のいずれかの方法をとらなければならない。 * static 宣言とともに変数を定義する。 * malloc()によって領域を確保する。 すいませんどうかこの問題おねがいします。
163 名前:kino [2007/06/25(月) 20:31:57 ] [1] 授業単元:c言語 [2] 問題文(含コード&リンク):上記 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: すぎてます [5] その他の制限:なし お願いします。
164 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:50:04 ] [1] 授業単元:情報数学 [2] 問題文(含コード&リンク): 2分法の関数を double bisection(unaryfunc f, double a, double b, double tol, int n); Newton法の関数を double newton(unaryfunc f, double p, double tol, int n); と定義した、方程式解法ライブラリ equation.h, equation.cを作り、 include”equation.h”とすると newton(myfunc, p, tol, n); のようにmain関数から呼び出して使える ようにしてみなさい。 [3] 環境 [3.1] OS:Windows XP [3.2] bcc32 [3.3] 言語:C [4] 期限:今週中 よろしくお願いします。
165 名前:デフォルトの名無しさん [2007/06/26(火) 00:41:44 ] C言語です。 2進数の四則演算ができるプログラムを作れって問題です。お願いします。
166 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 00:48:24 ] >>165 意味が分からん。入力を受け付ける際に2進数を入力するのか 2進数の各桁を筆算するやり方なのか。
167 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/06/26(火) 01:09:18 ] >>162 (・3・) エェー 構造体がダメだから共用体使ったYO! kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4396.c
168 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 06:24:42 ] [1] 授業単元:C++研究 [2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4262.txt (プログラム1) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4384.txt (プログラム2) 上記1〜2のプログラムを下記のように修正します。 クラス(設計図)部分を概要部分(ヘッダファイル)と実装部分(ソースファイルに分け) そしてメイン部分も分け、2つのプログラムを新しく作り直しなさい。 [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:Visual studio.2005 [3.3] 言語: C++ [4] 期限: ([2007年6月27日12:00まで] [5] その他の制限:特になし どうかよろしくお願いします
169 名前:デフォルトの名無しさん [2007/06/26(火) 15:09:55 ] 1] 授業単元:C [2] 問題文: 要素数が同じint型配列xaとxbの対応する要素(xa[i]とxb{i})の値が ・xa{i}<xb[i]ならば、xa[i]とxb[i]を入れ替え ・xa{i}≧xb[i]ならば、そのまま ・入れ替えた要素の個数を返す 関数swap_bを作成し、関数swap_bを用いて、下記の配列fa,fbでfaの要素が必ず大きい(または等しい)ように入れ替えて、結果を表示するプログラムを作成しなさい。(下表の配列faとfbの元のデータは配列の初期化で設定) (元の配列要素) 添字 0 1 2 3 4 fa 3 8 1 9 4 fb 9 1 7 5 6 (変換後の配列要素) 添字 0 1 2 3 4 fa 9 8 7 9 5 fb 3 1 1 6 4 [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:VISUALSTUDIO2005 [3.3] 言語: C [4]期限 6月28日 実行結果 元のデータ fa : 3 8 1 9 4 fb : 9 1 7 5 6 -------------- 変換後のデータ fa : 9 8 7 9 5 fb : 3 1 1 6 4 入れ替えた個数=3 どうかよろしくお願いします
170 名前:デフォルトの名無しさん [2007/06/26(火) 15:11:44 ] 1] 授業単元:C [2] 問題文: 要素型が同じint型配列xaとxbの対応する要素(xa[i]とxb[i])の値をすべて入れ替える関数swap_arrayを作成し、下記の配列fa,fbの要素を入れ替えて、その結果を表示するプログラムを作成しなさい。(下表の配列faとfbの元のデータは配列の初期化で設定) 添字 0 1 2 3 4 fa 3 8 1 9 4 fb 9 1 7 5 6 [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:VISUALSTUDIO2005 [3.3] 言語: C [4]期限 6月28日 実行結果 元のデータ fa : 3 8 1 9 4 fb : 9 1 7 5 6 -------------- 変換後のデータ fa : 9 1 7 6 5 fb : 3 8 1 9 4 どうかよろしくお願いします
171 名前:デフォルトの名無しさん [2007/06/26(火) 15:12:34 ] 1] 授業単元:C [2] 問題文: 要素型がnumであるint型配列vcの値が最大である要素の添字を返す関数max_indexを作成しなさい。関数max_indexを用いてキーボードから読み込まれた5つの値のうち最大値は何番目だったかを表示するプログラムを作成しなさい [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:VISUALSTUDIO2005 [3.3] 言語: C [4]期限 6月28日 実行結果 1番目のデータ=99 2番目のデータ=120 3番目のデータ=80 4番目のデータ=110 5番目のデータ=100 ------------- 最大値は2番目に入力 どうかよろしくお願いします
172 名前:デフォルトの名無しさん [2007/06/26(火) 15:14:28 ] 1] 授業単元:C [2] 問題文: 要素型がnumであるdouble型配列dataの値の平均値を返す関数meanvを作成しなさい。関数meanvを用いて、キーボードから読み込まれた4つの値の平均値を表示するプログラムを作成しなさい [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:VISUALSTUDIO2005 [3.3] 言語: C [4]期限 6月28日 実行結果例 1番目のデータ=1.55 2番目のデータ=2.66 3番目のデータ=3.77 4番目のデータ=4.88 ------------- 平均値 3.21 どうかよろしくお願いします
173 名前:デフォルトの名無しさん [2007/06/26(火) 15:15:14 ] 1] 授業単元:C [2] 問題文: 数型引数x、yに対していの値を返す関数power2を作成し、関数power2を用いて、キーボードから読み込まれた2つの実数a,bに対して の値を画面に出力するプログラムを作成しなさい [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:VISUALSTUDIO2005 [3.3] 言語: C [4]期限 6月28日 実行結果例 実数 a : 1.23 実数 b : 9.87 答え = 98.93 どうかよろしくお願いします
174 名前:デフォルトの名無しさん [2007/06/26(火) 15:17:32 ] 1] 授業単元:C [2] 問題文: 2つのint型変数x0、x1(x0<x1とする)に対してx0からx1までの整数の和を返す関数souwa2を作成しなさい。関数souwa2を用いて、キーボードから2つの整数値a,b(a<bとする)を読み込み、そのaからbまでの和を求めるプログラムを作成しなさい [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:VISUALSTUDIO2005 [3.3] 言語: C [4]期限 6月28日 実行結果例 整数a : 33 整数b : 98 33から98までの和=4323 どうかよろしくお願いします
175 名前:デフォルトの名無しさん [2007/06/26(火) 15:19:41 ] 1] 授業単元:C [2] 問題文: int型配列の変数numを引数として、1からnumまでの整数の和を返す関数souwaを作成しなさい。関数souwaを用いて、キーボードから整数値を読み込み、1からその整数値までの和を求めるプログラムを作成しなさい [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:VISUALSTUDIO2005 [3.3] 言語: C [4]期限 6月28日 実行結果例 整数を入力 : 98 1から98までの和=4851
176 名前:デフォルトの名無しさん [2007/06/26(火) 15:21:01 ] 1] 授業単元:C [2] 問題文: 要素型がnoであるint型の配列vcの並び(格納されているデータの順番)を逆順にする関数rev_arrayを作成しなさい。関数rev_arrayを用いて、下記のような値をもつ配列bufの各要素の値を逆順に入れ替えて、but[0]から順番に表示するプログラムを作成しなさい 添字 0 1 2 3 4 値 10 20 30 40 50 [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:VISUALSTUDIO2005 [3.3] 言語: C [4]期限 6月28日 実行結果 buf[0] : 50 buf[1] : 40 buf[2] : 30 buf[3] : 20 buf[4] : 10 どうかよろしくお願いします
177 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:27:08 ] >>170 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4406.c
178 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:39:08 ] >>171 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4407.c
179 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:01:46 ] >>174 #include<stdio.h> int souwa2(int x0, int x1); int main(void) { int a ,b ,sum; printf("a:");scanf("%d",&a); printf("b:");scanf("%d",&b); sum=souwa2(a,b); printf("%dから%dまでの整数の和は%d", a, b ,sum); return 0; } int souwa2(int x0, int x1) { int sum=0; if(x0>x1){/*x0がx1より大きい時は警告して-1を返す*/ printf("x0がx1より大きい\n"); return -1; } for(;x1>=x0;x1--) sum+=x1; return sum; }
180 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:06:47 ] >>175 #include<stdio.h> int souwa(int num); int main(void) { int a ,sum; printf("a:");scanf("%d",&a); sum=souwa(a); printf("1から%dまでの整数の和は%d", a,sum); return 0; } int souwa(int num) { int sum=0; for(;num>=1;num--) sum+=num; return sum; }
181 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:23:29 ] >>176 #include<stdio.h> void rev_array(int vc[],int no); int main(void) { int i, buf[5]; for(i=0;i<5;i++){ printf("buf[%d] : ", i); scanf("%d",&buf[i]); } rev_array(buf,5); printf("添字 "); for(i=0;i<5;i++) printf(" %d", i); printf("\n値 "); for(i=0;i<5;i++) printf(" %d", buf[i]); return 0; } void rev_array(int vc[],int no) { int i,temp; for(i=0;i<(no/2-1);i++){ temp=vc[i]; vc[i]=vc[no-1-i]; vc[no-1-i]=temp; } }
182 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:30:41 ] >>173 >数型引数x、yに対していの値を返す の部分が分りません。
183 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:36:51 ] 数値だけ見れば x^2+y^2だな
184 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:08:15 ] x^2+y^2で見切り発車します。 >>173 #include<stdio.h> double power2(double x,double y); int main(void) { double a,b; printf("実数 a:");scanf("%lf",&a); printf("実数 b:");scanf("%lf",&b); printf("答え = %.2f", power2(a, b)); return 0; } double power2(double x,double y) { return x*x+y*y; }
185 名前:デフォルトの名無しさん [2007/06/26(火) 18:21:16 ] >>165 の問題は、入力を受け付けるさいに2進数を入力します。
186 名前:デフォルトの名無しさん [2007/06/26(火) 18:22:45 ] >>165 の問題は、入力のさい、2進数で入力します。
187 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 22:39:31 ] [1] 授業単元: プログラミング実習 [2] 問題文(含コード&リンク): 構造体を使って学生の名前、大学名、学科、生年月日(年はintで月日がshort),趣味を定義する(全て実在しないものになるようにする) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4411.txt まずはfwriteを用いて先頭に学生の数もバイナリ形式で出力する。その後バイナリ形式で定義した学生の情報を出力する。 その後freadでまず生徒の数を読み込み、その人数分ループさせ画面上に読めるように一人ずつ出力する。 [3] 環境 [3.1] OS: WindowsXP [3.2] gcc 3.4 [3.3] 言語: (C [4] 期限: 6月27日22:00まで [5] その他の制限:特になし よろしくお願いします。
188 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:36:32 ] ぼるじょあもほもじょあも来ないな
189 名前:kino [2007/06/27(水) 02:47:28 ] >>167 ほんとありがとうございました!!!
190 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:26:51 ] >>187 誰もやらないんで、やってみた。 バイナリなんて普段使わないから、これでいいのやら・・・ 構造体のアライメントとかは一切考慮していない。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4417.c
191 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:41:39 ] 0224 < これは先頭に0があるせいで、8進数の値として扱われているね。 その辺、質問者はこれで良いんだろうか?
192 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 07:56:18 ] >>191 Oh!そんなとこまで気にしてナカタヨ。
193 名前:デフォルトの名無しさん [2007/06/27(水) 14:58:08 ] >>179 >>180 >>181 >>184 ありがとうございました >>169 >>170 >>171 >>172 お願いします
194 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 16:12:47 ] >>169 #include <stdio.h> int swap_b(int fa[], int fb[],int n); int main(void) { int i,n, fa[]={3, 8, 1, 9, 4}, fb[]={9, 1, 7, 5, 6}; printf("元のデータ \n"); printf("fa :");for(i=0;i<5;i++) printf(" %d",fa[i]);printf("\n"); printf("fb :");for(i=0;i<5;i++) printf(" %d",fb[i]);printf("\n"); n=swap_b(fa, fb, 5); printf("\n-------------- \n変換後のデータ\n"); printf("fa :");for(i=0;i<5;i++) printf(" %d",fa[i]);printf("\n"); printf("fb :");for(i=0;i<5;i++) printf(" %d",fb[i]);printf("\n"); printf("入れ替えた個数=%d",n); return 0; } int swap_b(int fa[], int fb[],int n) { int i, temp,c; c=0; for(i=0;i<n;i++){ if(fa[i]<fb[i]){ temp=fa[i]; fa[i]=fb[i]; fb[i]=temp; c++; } } return c; }
195 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 16:22:05 ] >>170 #include <stdio.h> void swap_array(int xa[], int xb[],int n); int main(void) { int i, fa[]={3, 8, 1, 9, 4}, fb[]={9, 1, 7, 5, 6}; printf("元のデータ \n"); printf("fa :");for(i=0;i<5;i++) printf(" %d",fa[i]);printf("\n"); printf("fb :");for(i=0;i<5;i++) printf(" %d",fb[i]);printf("\n"); swap_array(fa, fb, 5); printf("\n-------------- \n変換後のデータ\n"); printf("fa :");for(i=0;i<5;i++) printf(" %d",fa[i]);printf("\n"); printf("fb :");for(i=0;i<5;i++) printf(" %d",fb[i]);printf("\n"); return 0; } void swap_array(int xa[], int xb[],int n) { int i, temp; for(i=0;i<n;i++){ temp=xa[i]; xa[i]=xb[i]; xb[i]=temp; } }
196 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 16:34:34 ] >>171 >要素型がnumである、の要素型は要素数の打ち違いと判断した。 #include <stdio.h> int max_index(int vc[], int num); int main(void) { int i,vc[5],max; for(i=0;i<5;i++){ printf("%d番目のデータ=",i+1); scanf("%d", &vc[i]); } max=max_index(vc, 5); printf("最大値は%d番目に入力",max+1); return 0; } int max_index(int vc[], int num) { int i,max; max=0; for(i=0;i<num;i++){ if(vc[i]>vc[max]){ max=i; } } return max; }
197 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 17:04:40 ] >>172 #include <stdio.h> double meanv(double data[], int num); int main(void) { int i; double mean, data[4]; for(i=0;i<4;i++){ printf("%d番目のデータ=",i+1); scanf("%lf", &data[i]); } mean=meanv(data, 4); printf("平均値 %.2f",mean); return 0; } double meanv(double data[], int num) { int i; double sum=0; for(i=0;i<num;i++){ sum=sum+data[i]; } return sum/num; }
198 名前:デフォルトの名無しさん [2007/06/27(水) 17:46:46 ] >>194 >>195 >>196 >>197 ありがとうございました
199 名前:デフォルトの名無しさん [2007/06/27(水) 17:47:58 ] 1] 授業単元:C [2] 問題文: 要素数がnoであるint型の配列vcの最小値を返却値として返す関数min_ofを作成しなさい。この関数min_ofを利用して、キーボードから10名の得点データを入力すると、その最小値に表示するプログラムを作成しなさい [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:VISUALSTUDIO2005 [3.3] 言語: C [4]期限 6月28日 実行結果例 1 番目の得点= 70 2 番目の得点= 50 : (途中省略) 10 番目の得点 = 63 ------------------- 最小値 : 50点 よろしくお願いします
200 名前:デフォルトの名無しさん [2007/06/27(水) 17:51:46 ] 1] 授業単元:C [2] 問題文: 要素数がnoであるint型の配列vcの全要素に整数xの値を代入する関数fillを作成しなさい(関数fillは値を返さない)。この関数fillを用いて、要素数5のint型配列xcの全要素をキーボードから読み込んだ値に設定するプログラムを作成しなさい [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:VISUALSTUDIO2005 [3.3] 言語: C [4]期限 6月28日 実行結果例 設定する値を入力= 7 ----------------- xc[0]=7 xc[1]=7 xc[2]=7 xc[3]=7 xc[4]=7 よろしくお願いします
201 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 18:42:29 ] 怒涛の宿題丸投げには恐れ入るな
202 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 19:26:46 ] [1] 授業単元:C言語実習基礎 [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4427.txt 上記プログラムを線形リストから双方向リストへ作り直す。 [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:Visual studio.2005 [3.3] 言語: C [4] 期限: 明朝まで [5] その他の制限: 特になし よろしくお願いいたします。
203 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:05:07 ] このレベルの低さで、ここまで大量に丸投げするのはすごいな。
204 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 23:20:39 ] >>200 よし、3日前にHSPからC++に以降した俺に任せろ。期限に間に合うかどうかは知らん。
205 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:29:47 ] ----------------------------------------------------------- ///////////////////////////////////////////// //fill関数 ///////////////////////////////////////////// //要素数5の配列変数Uncoの全ての要素に、 //キーボードから入力された値を代入する関数。 //入力値の宣言 int P1=0; //以下関数本体 int fill(int P1) { //配列の作成 int Unco[5]; //全要素にP1の値を代入 int cnt=0; while(cnt<(P1-1)) { //代入 Unco[cnt]=P1; //カウンタ回し cnt++; } return 0; } --------------------------------------------------------------- C++の細かい仕様がまだ分からん。やっぱ諦めるわ。落書きレベルだけど一応載せとく。
206 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:38:15 ] >>205 1行目の宣言文は不要。この場合のループではforが一般的。 というよりも、この関数は仕様を一切満たしていない。 fillされるのはローカルのUnco配列のみで、呼び出し側の配列がfillされていないため。 実行確認していないけど、たぶんこんな感じ。 >>200 // pvc 配列の先頭アドレス no 配列個数 x 代入する値 void fill( int * pvc, int no, int x ) { int i; for ( i = 0; i < no; i++ ) { pvc[ i ] = x; } }
207 名前:デフォルトの名無しさん [2007/06/28(木) 14:56:49 ] 授業単元:C言語 環境:if文・for文・while文・do〜while文・switch〜case文・ OS:Windows コンパイラ名とバージョン:borland 言語:C テーマ:文字配列の操作 問題 文字列と検索文字、置換文字を入力し文字列中の検索文字を置換文字に置き換えなさい 実行画面 文字列(m1)入力==>ABCDEFAABCDABC 削除文字==>A 置換文字==>* 結果文字列(m1):BCDEF**BCD*BC
208 名前:デフォルトの名無しさん [2007/06/28(木) 15:04:11 ] 授業単元 関数 言語 C言語 引数の階乗(1*2*3*....*n)を関数を作れ お願いします
209 名前:202 mailto:sage [2007/06/28(木) 15:55:58 ] 解決しました。お騒がせしました。
210 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 16:33:29 ] >>208 できたぜ!まだヘボいけど、生まれて初めて自分でC++のプログラム作れたヤッホー。 // Info : 引数の階乗を返すfact関数をコンソールウィンドウで使う ///////////////////インクル #include "stdafx.h" #include <iostream> using namespace std; ///////////////////fact関数 int fact(int p1) { ////宣言 int cnt=p1; int brk=0; ////メイン処理 while (brk==0) { ////階乗 p1=(cnt-1)*p1; ////カウンタ回し cnt=cnt-1; ////終端チェック if (cnt==1) { brk=1; } } return p1; } //////////////////メイン関数 int main() { int p2=0; cin >> p2; int temp=fact(p2); cout << temp << endl; }
211 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:11:20 ] brk使わないでcntで判定すりゃいいじゃん
212 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 19:32:24 ] >>210 馬鹿野郎、C言語でと言われてるのに、C++で作る奴があるか Cで作り直して再提出、ついでに便所掃除1年間の刑に処す。 それともモーホーの肉便器1年間の方がいいか? と冗談を言ってみるテスト
213 名前:デフォルトの名無しさん [2007/06/29(金) 00:39:43 ] >>165 お願いします。関数電卓みたいな感じです。
214 名前:デフォルトの名無しさん [2007/06/29(金) 00:49:42 ] テキストファイルをよみこんでたとえばファイルに cccchaa というのがかいてあったら下のような感じで画面に表示したいんですけど どんなソースコードですかね?お願いします。 c→4 h→1 a→2
215 名前:214 [2007/06/29(金) 00:56:09 ] あ、テンプレ忘れましたすいません。 [1] 授業単元: C言語 [2] 問題文(含コード&リンク): テキストファイルをよみこんでたとえばファイルに cccchaa というのがかいてあったら下のような感じで画面に表示する c→4 h→1 a→2 [3] 環境 [3.1] Linux [3.2] gcc [3.3] 言語: C [4] 期限:明日
216 名前:デフォルトの名無しさん [2007/06/29(金) 02:11:39 ] >>215 cccchaacccchaaの時はどちらに? c→4 h→1 a→2 c→4 h→1 a→2 c→8 h→2 a→4
217 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 02:17:22 ] >>216 pc11.2ch.net/test/read.cgi/tech/1182607405/492-493
218 名前:かま [2007/06/29(金) 17:02:04 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 次に引数の順番を入れ替えて逆順に表示するプログラムに直せ。 ソースプログラムを書き込んで提出せよ。 #include "stdio.h" main(int argc, char * argv[]){ int i; printf("%d argument(s), \n", argc -1);//, for(i=0;i<argc; i++) { printf("argv[%d]:\"%s\"\n", i, argv[i]); } } [3] 環境 [3.1] Linux [3.2] gcc [3.3] 言語: C [4] 期限:今日
219 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 22:21:32 ] >>218 #include "stdio.h" #include <string> main(int argc, char * argv[]){ int i; char temp[100]; /*引数の順番を入れ替える*/ for(i=0;i<argc/2; i++){ strcpy(temp,argv[i]); strcpy(argv[i],argv[argc-i-1]); strcpy(argv[argc-i-1],temp); } printf("%d argument(s), \n", argc -1);//, for(i=0;i<argc; i++) { printf("argv[%d]:\"%s\"\n", i, argv[i]); } }
220 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 09:24:06 ] えー? >/*引数の順番を入れ替える*/ だからこうじゃないの? for(i=argc -1; i > 0; i--) { printf("argv[%d]:\"%s\"\n", i, argv[i]); }
221 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 10:51:12 ] >引数の順番を入れ替えとあるから、引数の配列を並べ替えるような希ガス ただ単に、逆順で表示するだけなら"引数の順番を入れ替え"を書かずに "次に引数を逆順に表示するプログラムに直せ"で良いような希ガス 下手をすると、在日より日本語力の低い俺がどうこう言える立場じゃないけどな。
222 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 12:22:17 ] >#include "stdio.h" むしろこれに突っ込んであげて
223 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 12:48:59 ] >>222 自作のヘッダファイルつくったんじゃない?
224 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 14:55:18 ] >>221 >在日より日本語力の低い俺がどうこう言える立場じゃないけどな。 手抜きの説明文しか書けない218よりは日本語力あるだろ。 よって、どうこう言える立場にある。
225 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 04:30:59 ] >>222 それの何が問題?コンパイルできなかった?
226 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 04:38:10 ] OKOK、俺が書き直してやんよ。 #include "stdio.h" main(int argc, char * argv[]){ int i; char *tmp; /*引数の順番を入れ替える*/ for(i=1;i<argc/2; i++){ tmp=argv[i]; argv[i]=argv[argc-i]; argv[argc-i]=tmp; } printf("%d argument(s) \n", argc -1); for(i=1;i<argc; i++) { printf("argv[%d]:\"%s\"\n", i, argv[i]); } }
227 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 05:55:21 ] だから、標準インクルードファイルを""で括ってインクルードするなって。
228 名前:デフォルトの名無しさん [2007/07/01(日) 05:57:41 ] な・ん・で?それがタブーとされる理由でもあるの?自分ルールや自分スタイルを 押し付けるだけじゃだめだぞ。本質的に不適切かどうかで説明してみろよ? お前わかってない分かってないって言う奴ほど、自分が本当は分かっていないなんて オチはどこでもある。
229 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 06:05:45 ] >>227 だめな理由が見つからないだろ?自分の主観でそうしないよだの それはおかしいだの言っている奴が他にもいるからそうなんだよ! っていうゴネ方はなしな。まるで、子供が欲しいおもちゃがあると 「みんな持っている」とか言ってしまい、持っていない人もいて親に 「みんな持ってはいないよ」とつき返されるのと似た状況だなw
230 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 06:24:08 ] 理由まだ〜?""でヘッダファイル名を囲ってもなんらコンパイルエラーなんて出ないよ?
231 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 06:27:51 ] カレントディレクトリもインクルードファイルのサーチパスに含まれてしまうから、 同名のファイルをカレントディレクトリに置いておくと誤動作の原因になる。 こんな基本的なことも知らずにプログラミングやってるの? 「コンパイルエラーでないよ」って、エラーが出なければ全て正しいなんて 阿呆なこと言ってないで人生やり直してきたら?
232 名前:デフォルトの名無しさん [2007/07/01(日) 06:37:46 ] 231 名前:デフォルトの名無しさん 投稿日:2007/07/01(日) 06:27:51 カレントディレクトリもインクルードファイルのサーチパスに含まれてしまうから、 同名のファイルをカレントディレクトリに置いておくと誤動作の原因になる。 こんな基本的なことも知らずにプログラミングやってるの? 「コンパイルエラーでないよ」って、エラーが出なければ全て正しいなんて 阿呆なこと言ってないで人生やり直してきたら? 阿呆なこと言ってないで人生やり直してきたら? 阿呆なこと言ってないで人生やり直してきたら? 阿呆なこと言ってないで人生やり直してきたら? 阿呆なこと言ってないで人生やり直してきたら? 阿呆なこと言ってないで人生やり直してきたら? 阿呆なこと言ってないで人生やり直してきたら? こんなことで他人をここまで罵倒できる基地外が良く言うぜw
233 名前:デフォルトの名無しさん [2007/07/01(日) 06:40:47 ] え〜〜〜、ちなみに、わざと知ってて理由を言わないあんたを試してみただけです。 なんで俺が知らないことになっているのか、さっぱりですね。揺さぶられると ファビョって当たるタイプかな?検索すりゃ出てくるから、知らない人にも参照しておきますかw ttp://www.02.246.ne.jp/~torutk/cxx/file/header.html > ""で囲む場合、コンパイラはまず#include文を記述したソースファイルと同じディレクトリに > ヘッダファイルがあるか探します。そこになければ、インクルードパスに指定されている > ディレクトリを探しにいきます。 ええ、当然知ってましたよ、俺は?w 理由もいわないくせに >>227 みたいなことを言う奴がうぜぇだけ。だからわざと "" のまま 書いてやったんだよw
234 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 06:41:12 ] 素朴な疑問だが、揶揄はしてても罵倒はしてないような。 つーか、正論吐かれて涙目?
235 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 06:44:37 ] >>232 こんな基本的なことも知らずにプログラミングやってるの? こんな基本的なことも知らずにプログラミングやってるの? こんな基本的なことも知らずにプログラミングやってるの? こんな基本的なことも知らずにプログラミングやってるの? こんな基本的なことも知らずにプログラミングやってるの? なぜか知らないことになっているしw 俺が言いたいのは お前は知っているのか? ってことだ。指摘する側が理由を言わずに指摘するのは、周りから見るとなんだこいつ? って思われていることに気づくんだな。それが分からないなら他人の質問に答えるような スレに来るな。その方がマシな人生が送れるぞw
236 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 06:45:56 ] >>234 あれ?言い逃れかな?なみだ目?そっちが勝手に「わからずや、無知」だと思った奴に対して 顔を真っ赤にしているくせして?w 別に俺は「知らなかった」わけじゃないから 知らないでと言われても別にぃ?知ってたけど?としか言いようがない。 理由を言わずしてこんなところでレスするのがこっけいに見えたから揺さぶったんだよw
237 名前:デフォルトの名無しさん [2007/07/01(日) 07:02:26 ] >>236 あまり突っ込まずにスルーするのが大人の対応。
238 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 07:13:55 ] >>237 スルー?逃げてちゃ大人になれないぜ?ベイベー
239 名前:デフォルトの名無しさん [2007/07/01(日) 07:37:22 ] >>238 戦争はその小さな争いから始まるのさベイベー
240 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 08:03:31 ] 相変わらず週末になると元気だな
241 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 08:05:30 ] 残念、日曜日は週始めだ。曜日の始めは日曜日からだろ?カレンダーを見てみな。 日 月 火 ・・・ と書かれているだろ?当然世間一般でも日曜日が週の始めだ。
242 名前:デフォルトの名無しさん [2007/07/01(日) 08:14:44 ] 親切に答えてくれる人に逆ギレするのは
243 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 08:22:58 ] 英語のWeekEndは土日で問題ないんだけどね。
244 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 08:23:19 ] 世間一般では日曜が週始めなのか・・・知らなかった・・・
245 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 08:23:33 ] あれで親切とは片腹痛いわ
246 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 08:24:18 ] っつうか、週の概念ねキリスト教とかじゃねぇの? 宗教詳しくないけど、いろいろモノ作って7日目に休んだことから 日曜日を休日としたんじゃなかったっけ?
247 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 08:26:26 ] ja.wikipedia.org/wiki/%E9%80%B1
248 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 08:31:22 ] >>243 ja.wikipedia.org/wiki/WEEK_END
249 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/07/01(日) 15:16:23 ] (・3・) アルェー みんな仲良くしろYO
250 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/07/01(日) 15:17:56 ] (・3・) エェー ""だろうが<>だろうがいいじゃんかYO 宿題レベルで気にしちゃだめPO
251 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 15:22:00 ] 終わった話題を蒸し返すとは、荒れて欲しいのかYO
252 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/07/01(日) 20:13:08 ] (・3・) エェー それもいいかもYO
253 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:22:17 ] そもそも stdio.h を自分で定義したヘッダのファイル名として使うのもどうかと。 まぁ、それについては人それぞれだけど、敢えてそのファイル名で独自のヘッダファイルを 用意するやつって・・・
254 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 23:31:40 ] >>218 は荒らす為の道具かもな。名前欄もそれっぽいし、 講師があんなコードを講義で出したら出来の良い学生から馬鹿にされるし。 教務課辺りに、あの講師は馬鹿だから辞めさせろと凸されかねん。 授業評価アンケートも凄い事になるぞ。 もう一つの可能性は、おかしな部分を指摘OR修正して提出するかどうかで 学生の理解度を計ろうとしているのかも試練
255 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 23:45:08 ] >>254 深読みし過ぎじゃね?w
256 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 03:18:52 ] 宿題レベルでも悪い習慣は付けない方がいい。 自分でstdio.hなんてファイルを作らなくても、プリプロセッサのファイル検索順が変わるから、プリプロセスの速度が僅かに遅くなる。大規模になれば影響はある。 ここで答え聞くような奴は単位取るために仕方なくやってるんだろうけど、頼むからソフトウェア・エンジニアにはならないでくれ。
257 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 03:44:19 ] >>256 頼むからSEでもないお前がソフトウェアエンジニアにはならないでくれとか言わないでくれ。
258 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:42:51 ] なんかおもしれーくらいに荒れてるんだけどさ >>218 >printf("%d argument(s), \n", argc -1);//, > >for(i=0;i<argc; i++) { argcが10だった場合「引数が9個あるぜ!」と言ってるにも 関わらず、for文で10回回ってるように見えるのは俺だけか?
259 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:34:11 ] んもうこれからは #include "stdio.h" を流行らせようぜ?これができれば SEになれるのは間違いなしw
260 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:40:12 ] 俺流ヘッダ(現在更新中) #include "myheader.h" 中身は↓ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <ctype.h> #include <time.h> 使うであろうヘッダをとりあえず全部取り込んでおkと。
261 名前:デフォルトの名無しさん [2007/07/02(月) 15:02:44 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 温度データを入力し,摂氏から華氏,華氏から摂氏に変換するプログラムを作成しなさい。 [3] 環境 [3.1] OS:windows xp [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:特になし [5] その他の制限:特になし お願いします。
262 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 16:34:09 ] >>261 //セ氏→華氏 ///////////////////////////////////////////// //インクルード ///////////////////////////////////////////// #include "stdafx.h" #include <iostream> using namespace std; ///////////////////////////////////////////// //fah関数 ///////////////////////////////////////////// int fah(int p1) { //セ氏→華氏 p1=((p1*9)/5)+32; //華氏→セ氏の場合は、p1=5(p1-32)/9 return p1; } ///////////////////////////////////////////// //メイン関数 ///////////////////////////////////////////// int main() { int p2=0; cin >> p2; int temp=fah(p2); cout << temp << endl; }
263 名前:デフォルトの名無しさん [2007/07/02(月) 19:04:44 ] あるファイルの中にデータとして多くの0と1が書き込まれており、最後の1文字だけがEであるとする。 このとき、0と1の並びに着目し、データを圧縮することを考える。 ここでは、0と1のそれぞれが何個連続して並んでいるかを記録することで圧縮を行う。 たとえば、digit1.datというファイルに 111110000000000000000000000001E というように0と1が並んでいるとき、 7 1 24 0 1 1 と圧縮できる。このとき圧縮結果に空白を挟むことに注意する。 上記の圧縮方法に従って、任意の0と1から成るデータを圧縮するプログラムを作成せよ。 ただしデータはリダイレクションを使用し、char型変数の1文字ずつ繰り返し世も困れるものとする。 最後には「圧縮完了」と表示のこと。 期限が迫っています・・・ C++です。 if文、for文、while文、リダイレクションまで習いました。 習ったところまでの文法でお願いします・・・
264 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 19:38:29 ] [1] 授業単元: プログラミング実習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4477.txt [3] 環境 [3.1] OS: WindowsXP [3.2] gcc [3.3] 言語: C [4] 期限: 7/3 [5] その他の制限:特になし よろしくお願いします。
265 名前:デフォルトの名無しさん [2007/07/02(月) 22:29:11 ] >>262 間違いです。単位はとれませんでした。
266 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 22:36:54 ] >>7 1 24 0 1 1 と圧縮できる。 >>世も困れるものとする。 5 1 24 0 1 1 じゃないのか(間違ってたらゴメン(藁))? そもそも処理系も何もかいてなくちゃ世も困れるよ。
267 名前:かま [2007/07/02(月) 23:34:34 ] [1] 授業単元: c言語 [2] 問題文(含コード&リンク): このプログラムを書き換え、ファイル名をコマンドラインの引数から指定できるようにしてください。 #include<stdio.h> #include<stdlib.h> int main(void){ char c; char filename[]="date.txt"; FILE *fp; if((fp=fopen(filename, "r"))==NULL){ printf("file does not exist, \n"); exit(1); } while((c=getc(fp))!=EOF){ printf("%c\n", c); } fclose(fp); } [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 3.4 VC 6.0 [3.3] 言語: C [4] 期限: 2007年7月4日 [5] その他の制限: では、宜しくお願いします。
268 名前:デフォルトの名無しさん [2007/07/03(火) 00:02:49 ] [1]授業単元:プログラミング [2]次のアルファベットのキーワードを入力して計算する関数電卓プログラムを作成しなさい。 sin 正弦 cos 余弦 tan 正接 arcsin 逆正弦 arccos 逆余弦 arctan 逆正接 ln 自然対数 log 常用対数 exp 指数関数 sqr 平方 rad 入力データをラジアン単位にする deg 入力データを度を単位にする end プログラムの終了 [3] 環境 [3.1] windows2000 [3.2] VC 6.0 [3.3] C++ [4] 期限 2007年7月4日 午前8時 [5] その他の制限 無し どうかよろしくお願いいたします。
269 名前:デフォルトの名無しさん [2007/07/03(火) 01:05:52 ] [1] 授業単元:progrming [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4480.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2007/07/04 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) UDP wo mochiiru onegaishimasu
270 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 02:25:06 ] >>264 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4481.c
271 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 02:42:34 ] >>267 #include<stdio.h> #include<stdlib.h> #include<string.h> int main(int argc, char *argv[]){ char c; char filename[128]; FILE *fp; if(argc != 2){ printf("コマンドラインの引数が違います。 \n"); exit(1); } strcpy(filename, argv[1]); if((fp=fopen(filename, "r"))==NULL){ printf("file does not exist, \n"); exit(1); } while((c=getc(fp))!=EOF){ printf("%c\n", c); } fclose(fp); return 0; }
272 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 03:10:54 ] >>261 #include<stdio.h> int main(void) { double temp; char ch; printf("温度:"); scanf("%lf",&temp); printf("摂氏から華氏[c], 華氏から摂氏[f] :"); scanf(" %c",&ch); switch(ch){ case 'C': case 'c': printf("摂氏%f度 = 華氏%f度",temp,1.8*temp+32); break; case 'F': case 'f': printf("華氏%f度 = 摂氏%f度",temp,(temp-32)/1.8); break; default: printf("不正な入力"); break; } return 0; }
273 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 03:25:14 ] [1] 授業単元:オペレーティングシステム [2] 問題文(含コード&リンク): 宿題11.プログラム step1: a = x + y; step2: b = z + 1; step3: c = a ? b; step4: w = c + 1; に関し、parallel.c(parallel.txt をダウンロード&参照)を完 成させて、step1とstep2を並列実行させるプログラムを作成せよ。 但し、x,y,zはプロンプトにしたがって入力するとする。 正しく動作したか?結果を考察せよ。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4482.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: できれば早くお願いします [5] その他の制限:丸投げですがよろしくお願いします 授業中に教授が 「これは正しく動作しないんだけど、その理由を考察してね」 とか言っていました できればその理由もお願いします
274 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 04:27:25 ] >>268 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4483.cpp
275 名前:268 mailto:sage [2007/07/03(火) 08:26:37 ] >>274 素早い解答、ありがとうございました。 有難く、活用させて頂きます。
276 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 08:35:27 ] >>265 丸写しはよくないよ。帳尻あわせぐらいは自分でしよう。
277 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 08:46:47 ] そうだ、丸出しは良くない。尻くらい隠して前は丸出しで良いぞ
278 名前:273 mailto:sage [2007/07/03(火) 08:58:34 ] 問題が少し間違っていました 【誤】step3: c = a ? b; 【正】step3: c = a - b; よろしくお願いします
279 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 11:20:01 ] >>273 それは本当に「並列実行」だと教授が言ったのか? いやはや…… やること自体はあまり難しくないだろ。 /* create 2nd child... */ のコメントの後にstep2に相当するコードを書いて、 /* on the parent... */ のコメントの後に(授業で教わっているであろう)子プロセスの終了待ちコードを書けばいい。 その後でstep3とstep4を書くことになるわけだが、子プロセスからはstep1, step2の結果を受け取ってないので 正しい計算結果は得られない。それはこの書き方なら当然なのだが、「正しく動作しない」と言いたいのだろう。
280 名前:デフォルトの名無しさん [2007/07/03(火) 15:13:52 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 5 名の体重をキーボードから読み込んで,5 名の平均値以上の 値を持つ人の番号と体重を表示するプログラムを作成しなさ い. [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 7月5日 実行結果 1 番目の体重= 60.5 2 番目の体重= 57.3 3 番目の体重= 68.1 4 番目の体重= 52.4 5 番目の体重= 65.2 ---------------- 平均値: 60.7kg 3 番目: 68.1kg 5 番目: 65.2kg よろしくお願いします
281 名前:デフォルトの名無しさん [2007/07/03(火) 15:15:31 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 5 名の体重をキーボードから読み込んで,それらの値を小さい 順に表示するプログラムを作成しなさい. [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 7月5日 (実行結果例) 1 番目の体重= 60.5 2 番目の体重= 57.3 3 番目の体重= 68.1 4 番目の体重= 52.4 5 番目の体重= 65.2 ---------------- (1): 52.4kg (2): 57.3kg (3): 60.5kg (4): 65.2kg (5): 68.1kg よろしくお願いします
282 名前:デフォルトの名無しさん [2007/07/03(火) 15:16:56 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 5 名の体重をキーボードから読み込んで,値の小さい順に,何 番目の人かと,その体重を表示するプログラムを作成しなさ い.なお,同じ値があれば,番号の小さい方を先に表示する. (ヒント:番号を保存する配列を別途用意して,体重データを入れ替え る時に番号も入れ替える) [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 7月5日 (実行結果例) 1 番目の体重= 60.5 2 番目の体重= 57.3 3 番目の体重= 68.1 4 番目の体重= 52.4 5 番目の体重= 65.2 ---------------- (1) 3 番目: 52.4kg (2) 1 番目: 57.3kg (3) 0 番目: 60.5kg (4) 4 番目: 65.2kg (5) 2 番目: 68.1kg よろしくお願いします
283 名前:デフォルトの名無しさん [2007/07/03(火) 15:17:46 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 三角形の「底辺の長さ」と「高さ」を仮引数として,三角形 の面積(底辺の長さ×高さ÷2)を返却値とする関数triangle を定義しなさい.この関数triangle を用いてキーボートから 読み込んだ底辺の長さ,高さの三角形の面積を表示するプロ グラムを作成しなさい. [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 7月5日 (実行結果例) 三角形の面積計算 底辺の長さ:10.8 高さ:8.6 ---------------- 面積: 46.44 よろしくお願いします
284 名前:デフォルトの名無しさん [2007/07/03(火) 15:18:30 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 3つの整数tanka,kosu,pay を仮引数として, pay − tanka×kosu の値を返す関数otsuri を定義しなさい.この関数otsuri を用 いて,キーボートから読み込んだ単価,購入個数,支払金額 に対して,おつり(=支払金額 − 単価×個数)を表示するプ ログラムを作成しなさい. [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 7月5日 (実行結果例) 単価:129 購入個数:17 支払金額:5000 ----------------- おつり:2807 円 よろしくお願いします
285 名前:デフォルトの名無しさん [2007/07/03(火) 15:24:29 ] [1] 授業単元: プログラミング言語 [2] 問題文(含コード&リンク): 2次方程式 ax*x+bx+c=0 の係数a,b,cを与え、方程式の解を求めて出力せよ(関数は使わなくてよい) 係数の値によって3つの場合分けをする zの平方根yの計算はy=sqrt(z)で計算する。 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:visual studio2005 [3.3] 言語: C++ [4] 期限: 無期限 [5] その他の制限:特になし。 ネットで2次方程式を探しましたが、よくわからないので上の問題の条件で回答いただけると幸いです。 お願いいたします。
286 名前:デフォルトの名無しさん [2007/07/03(火) 15:40:18 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 要素数がno であるint 型配列data の値の合計を返す関数 CalcSum を定義しなさい.この関数CalcSum を用いて,キ ーボードから読込まれた5つの得点の合計得点を表示するプ ログラムを作成しなさい. [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 7月5日 (実行結果例) 1 番目の得点= 59 2 番目の得点= 68 3 番目の得点= 75 4 番目の得点= 51 5 番目の得点= 64 ---------------- 合計は317 点 よろしくお願いします
287 名前:デフォルトの名無しさん [2007/07/03(火) 15:41:26 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 要素数がnum であるdouble 型の配列xv の全要素に,値c を代入する関数SetValue を定義しなさい(関数SetValue は 値を返さないvoid 型).この関数SetValue を用いて,要素数 10 のdouble 型配列buf_A とbuf_B の全要素を,それぞれキ ーボードから読込んだ値に設定するプログラムを作成しなさ い.(設定後のbufA とbufB の全要素を画面に表示する) [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 7月5日 (実行結果例) bufA に設定する値= 1.23 bufB に設定する値= 3.45 ------------------- bufA[0]=1.23 bufB[0]=3.45 bufA[1]=1.23 bufB[1]=3.45 : bufA[9]=1.23 bufB[9]=3.45 よろしくお願いします
288 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 17:30:40 ] [1] 授業単元: C言語入門 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4478.txt [3] 環境 [3.1] OS: Windows [3.3] 言語: C言語 [4] 期限:7月4日 [5] その他の制限: 多次元配列について習ってます よろしくお願いします
289 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 17:58:19 ] 何この質問ラッシュ。
290 名前:デフォルトの名無しさん [2007/07/03(火) 18:36:47 ] 教授「あー!俺の考えた課題をこいつらに解かれてたまるか! ダミーで釣って、隠してやる!!!お前らはこっちでも解いておけ! わっははは!」 に一票
291 名前: ◆QQoa7tAmuU [2007/07/03(火) 18:42:07 ] 整数nを入力し、2からnの範囲にある素数およびその個数を求めるプログラム なんですが #include <stdio.h> int main(void) { int i , j, n, cnt, flg; printf("2以上の整数を入力してください>"); scanf("%d",&n); if(n<2) return 1; printf("2"); for(i=3,cnt=1; i<=n; i+=2){ for(j=3,flg=1; j*j<=i; j+=2){ if(i%j==0) {flg=0; break;} } if(flg) { printf("%d",i); cnt++; if(cnt%10==9) printf("\n"); } } printf("\n2から%dまでには%d個の素数が含まれている\n",n,cnt); return 0; } これだと実行結果が 「2以上の整数を入力してください>5 235 2から5までには3個の素数が含まれている」 と235が余計にでてしまうのですが、どうしたらいいでしょうか? 教えてください!お願いしますm()m
292 名前: ◆DpMW3bRjps [2007/07/03(火) 20:13:30 ] >>291 です できました!!
293 名前:デフォルトの名無しさん [2007/07/04(水) 00:32:23 ] みんながC言語やろうとしたきっかけを話してほしいなぁ。
294 名前:デフォルトの名無しさん [2007/07/04(水) 05:04:06 ] 病気療養で求職中に、少しでも再就職に向けて何か技術を習得したいと思った。 今となっては、プログラマ以外の何か資格の勉強してれば良かった。
295 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 10:08:08 ] [1] 授業単元:C言語実習課題 [2] 問題文(含コード&リンク):横棒グラフ ・10人分の氏名と売上台数を入力して、順位をつけて、 順位の昇順(売上1番から)売上台数を横棒グラフにして表示する。 ・星印は、5台で1個とする。5に満たないものはなし。 (たとえば、23台なら星4つ) ・250台以上は、全て星50個とする。 ・売り上げが同じなら氏名の昇順とする。文字列関数(strcmp)を用いる。 ・氏名は、15文字以内とする。 [3] 環境 [3.1] OS: WindowsVista [3.2] コンパイラ名とバージョン: Visual Studio 2006 [3.3] 言語: C++ [4] 期限: 7月20日 [5] その他の制限:配列を使用
296 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 14:57:09 ] >>280 #include<stdio.h> #define N 5 int main(void) { int i; double weight[N]; double sum, average; sum=0; for(i=0;i<N;i++){ printf("%d 番目の体重= ",i+1); scanf("%lf",&weight[i]); sum+=weight[i]; } average = sum/N; printf("平均値: %.1fkg\n",average); for(i=0;i<N;i++){ if(weight[i]>average){ printf("%d 番目: %.1fkg\n",i+1,weight[i]); } } return 0; }
297 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 15:08:38 ] >>296 の訂正 ×if(weight[i]>average){ ○if(weight[i]>=average){ >>281 #include<stdio.h> #define N 5 int main(void) { int i,j,min; double weight[N]; for(i=0;i<N;i++){ printf("%d 番目の体重= ",i+1); scanf("%lf",&weight[i]); } printf("---------------- \n"); for(i=0;i<N;i++){ min = 0; for(j=0;j<N;j++){ if(weight[min] > weight[j]){ min =j; } } printf("(%d): %.1fkg \n",i+1,weight[min]); weight[min]=100e3; } return 0; }
298 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 15:24:56 ] >>282 #include<stdio.h> #define N 5 int main(void) { int i,j,min; double weight[N]; for(i=0;i<N;i++){ printf("%d 番目の体重= ",i+1); scanf("%lf",&weight[i]); } printf("---------------- \n"); for(i=0;i<N;i++){ min = 0; for(j=0;j<N;j++){ if(weight[min] > weight[j]){ min =j; } } printf("(%d) %d 番目: %.1fkg \n", i+1, min, weight[min]); weight[min]=100e3; } return 0; }
299 名前:かま [2007/07/04(水) 15:38:56 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク):このプログラムを書き換え、ファイル名をコマンドラインの引数から指定できるようにしてください。 #include<stdio.h> #include<string.h> main(){ char c[3]; char s1[]="abcdefghijklmnopqrstuvwxyz"; char s2[100]; s2[0]='\0'; printf("s1 initial value:\"%s\"\n",s1); printf("s2 initial value:\"%s\"\n",s2); if (strcmp(s1,s2)==0){printf("s1==s2\n");} else {printf("s1!=s2\n");} printf("Push ENTER to procceed."); fgets(c,2,stdin); strcpy(s2,s1); printf("s1 current value:\"%s\"\n",s1); printf("s2 current value:\"%s\"\n",s2); if (strcmp(s1,s2)==0){printf("s1==s2\n");} else {printf("s1!=s2\n");} } [3] 環境 [3.1] OS: Windows/ [3.2] コンパイラ名とバージョン: gcc 3.4 VC 6.0 [3.3] 言語: C [4] 期限: 7月5日まで [5] その他の制限: よろしくお願いします。
300 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 15:54:12 ] >>283 double triangle(double b, double h); int main(void) { double b, h, a; printf("三角形の面積計算 \n"); printf("底辺の長さ:"); scanf("%lf", &b); printf("高さ:"); scanf("%lf",&h); printf("---------------- \n"); a = triangle(b, h); printf("面積:%.2f\n",a); return 0; } double triangle(double b, double h) { return b*h/2; }
301 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 15:59:25 ] >>284 #include<stdio.h> int otsuri(int tanka, int kosu, int pay); int main(void) { int t, k, p, o; printf("単価:"); scanf("%d", &t); printf("購入個数:"); scanf("%d", &k); printf("支払金額:"); scanf("%d", &p); printf("----------------- \n"); o=otsuri(t, k, p); printf("おつり:%d\n",o); return 0; } int otsuri(int tanka, int kosu, int pay) { return pay - tanka*kosu; }
302 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 16:14:25 ] >>285 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4495.cpp
303 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 16:15:45 ] >>286 #include<stdio.h> #define N 5 int CalcSum(int data[], int no); int main(void) { int data[N],i; for(i=0;i<N;i++){ printf("%d 番目の得点= ",i+1); scanf("%d", &data[i]); } printf("---------------- \n"); printf("合計は%d 点", CalcSum(data, N)); return 0; } int CalcSum(int data[], int no) { int sum=0,i; for(i=0;i<no;i++) sum = sum + data[i]; return sum; }
304 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 16:28:46 ] >>287 #include<stdio.h> #define N 10 void SetValue(int num, double xv[], double c); int main(void) { int i; double v,bufA[N], bufB[N]; printf("bufA に設定する値= "); scanf("%lf",&v); SetValue(N, bufA, v); printf("bufB に設定する値= "); scanf("%lf",&v); SetValue(N, bufB, v); for(i=0;i<N;i++) printf("bufA[%d]=%.2f bufB[%d]=%.2f\n",i,bufA[i],i,bufB[i]); return 0; } void SetValue(int num, double xv[], double c) { int i; for(i<0;i<num;i++) xv[i] = c; }
305 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 17:35:34 ] >>288 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4497.c kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4498.c
306 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 19:10:40 ] >>293 きっかけなんて無かった。ただ何となくやり始めたらは面白くって 今では宿題スレに居着いてる。 >>288 もしかして教科書に柴田望洋著『新版明解C言語入門編』を使ってないか?
307 名前:305 mailto:sage [2007/07/04(水) 22:21:27 ] >>305 ありがとうございます >>306 その教科書使ってますよ 何でわかったんですか!?
308 名前:306 mailto:sage [2007/07/04(水) 22:48:16 ] >>307 return文の書き方が独特だから、return (0);と書いている教科書は俺が知る限り その教科書しかない。
309 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 22:50:54 ] return (0);って・・・随分ぶっ飛んだ教本だな
310 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 03:25:12 ] 問題の無い点を自分スタイルで批判する奴は痛い・・・何も問題ないぞ? んじゃ、今後は return (数式);スタイルもタブーにしてくれよw
311 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 09:00:12 ] >>299 = >>310
312 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 09:30:01 ] >>311 イコールじゃねーぞ?妄想する前にちゃんと return (0); の問題点を指摘しろよ。 本当にそれが問題という問題があるなり、不適切と言えるんであれば 当然それなりの説明は出来るだろ。自分スタイルがイカしているだの 自分スタイルを使ってない奴はとか独裁的な考えをすると 自民党のように干されて支持されなくなりますよ?
313 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 09:36:33 ] 自民党と同等程度に支持されていれば充分だと思うが。 (一部の例外を除いて)余計な括弧はつけないという方針では納得しないんだろうなぁ。
314 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 09:47:24 ] >>313 buttheads
315 名前: ◆DpMW3bRjps [2007/07/06(金) 16:01:37 ] 先週お世話になったものですが、ぼるじょあさんにやっていたただいた 課題の成績の評価が見事にSでした!! ほんとに感謝してます(^^)
316 名前:sarucyann [2007/07/06(金) 17:14:27 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 次を元にして、足し算などの式を入力すると計算結果を表示するプログラムを作ることを考える。たとえば式1+2ENTERを入力すると結果の3が表示されるようにプログラムを作り直してください、エラー処理は無視してよい。 他の演算ができるようになっているとさらに高く評価する。 #include<stdio.h> #include<ctype.h> main(){ char c[10]; char *p; int i=0; printf("Enter a number:"); fgets(c,6,stdin); p=&c; while(isdigit(*p)){ i=i*10+(*p++)-48; } printf("You have entered: %d\n",i); } [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 7月8日 よろしくお願いします
317 名前:デフォルトの名無しさん [2007/07/06(金) 18:45:56 ] 問題文[1] 授業単元:C言語 [2] 問題文: :入力した人の年齢の合計と平均を出力させるプログラムを作成して下さい。 ※入力時に累積の人数を表示 ※年齢入力時に数字属性と範囲のチェックを行う※nullは不許可とする ※0 〜 9 の文字のみで、かつ 1 〜 99 の範囲のみを許可する※年齢の平均は小数点第二位まで出力する ※名前に空が入力された場合に年齢の合計と平均を出力してプログラムを終了する −実行結果− 1人目の名前:human1 1人目の年齢: 入力エラー(年齢を入力してください) 1人目の年齢:30 2人目の名前:human2 2人目の年齢:abc 入力エラー(年齢は数字のみで入力してください) 2人目の年齢:20 3人目の名前:human3 3人目の年齢:0 入力エラー(年齢は1から99の範囲で入力してください) 3人目の年齢:25 4人目の名前: 年齢の合計は75歳、年齢の平均は25.00歳 [3] 環境 [3.1] OS:Windows [3.2] LCpad [3.3] 言語: C [4] 期限: 2007年7月9日hhまで [5] 初心者です。
318 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 18:46:59 ] >>312 スペルミスしたとき、例えばretrun 0;はコンパイル時エラーになるが、 retrun (0);ではretrunという名前の関数を呼び出す式としてコンパイルできてしまう。 もちろんリンカエラーにはなるはずだが、エラーが表示されるときは早いほうがよい。
319 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 18:51:29 ] >>318 なるほど、C++ならコンパイル時にエラーになるから構わないわけだな
320 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 19:06:41 ] 実際にvoid retrun(int)なる関数があったら……
321 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 19:55:14 ] retrun()という関数を自分で作っておいて retrun(1); とかreturnのつもりで書くってのは相当にアホだろ
322 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 19:57:11 ] switch()でのdefault:のスペルミスに比べれば害は少ないよな retrunというスペルミス云々って話は昔からよく聞くけど どうもこじつけ臭い 単にカッコは不要で冗長だから嫌われてるだけだろう 他人にスタイルを押し付けるほどの根拠は無いと思うがどうよ
323 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 20:03:07 ] 今時大抵の奴はキーワードに色がつくエディタか統合開発環境使ってるから どうせすぐ気づくわな
324 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 20:29:13 ] > 単にカッコは不要で冗長だから嫌われてるだけだろう そうだろうね。昔はreturnに括弧が要ったが、後から要らなくなったことの説明が付く。
325 名前:デフォルトの名無しさん [2007/07/07(土) 01:06:43 ] C言語 問題 2つの符号なし整数a,b(ただし、a>bとし、bは2のべき乗とする)をキーボードから読み込み、 @a,bを2進表示し、配列の中にビットを格納しなさい。 Aa,bの四則演算 c=a+b d=a-b e=a*b f=a/b(商のみ)を計算し、その結果を出力しなさい。 7月13日までです。お願いします。
326 名前:デフォルトの名無しさん [2007/07/07(土) 01:08:34 ] [1] 授業単元: プログラミング実習 [2] 問題文:時宜の微分方程式を数値計算を用いて解け。 ルンゲクッタ法または後退オイラー法を使いプログラミングすること。 ・3*d^2x/dt^2+dx/dt+2x=4 ・x(t=0)=0 ・dx/dt(t=0)=0 [3] 環境 [3.1] OS: Windows xp [3.2] コンパイラ名とバージョン: bcc32? [3.3] 言語:C++ [4]期限: 2007年07月08日23:00まで [5] その他の制限:制限なし よろしくおねがいします
327 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 01:17:33 ] >>325 int main( void ) { unsigned int a,b; schanf( "%d %d", &a, &b ); printf( "+:%d\n", a + b ); printf( "-:%d\n", a - b ); printf( "*:%d\n", a * b ); printf( "/:%d\n", a / b ); return 0; } >>326 どこかの宿題スレで同じ問題あったよ。 ルンゲクッタ法使ってた。
328 名前:デフォルトの名無しさん [2007/07/07(土) 01:23:21 ] C言語で 1〜Nの整数(Nは任意)を、ランダムな順番に並び替え, printf で出力するようなプログラムを作成したいのですが。 良いアルゴリズムなどはありますか? あ、動けばいいような気もしてきた・・・・orz
329 名前:328 mailto:sage [2007/07/07(土) 01:27:19 ] おらあもうだめだあ 123456 ↓ 245136 こうなってほしいのに 632312 これが現実 (謎
330 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 01:28:11 ] >>328 簡単なのでいいならこんなの? 1.int Num[100]に1〜100の値を入れる。 2.Num[rand()%100]とNum[rand()%100]を入れ替える。 3.「2」を適当な回数する。
331 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 01:44:17 ] おまいら、なんでそんなに rand() が好きなんだw
332 名前:328 mailto:sage [2007/07/07(土) 11:38:02 ] >>330 ありがとうございます 一応、それで作ってみます。 何回くらい入れ替えればいいんだろうか・・・
333 名前:デフォルトの名無しさん [2007/07/07(土) 13:43:44 ] >>327 さん、配列を使ってないきが…
334 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 14:04:16 ] >328 int a[N]; for(i=1; i<N; i++) { int j = rand()%(i+1); if(j!=i) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } }
335 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 14:17:25 ] ttp://ray.sakura.ne.jp/tips/shaffle.html でも嫁
336 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/07/07(土) 18:30:38 ] >>316 (・3・) エェー 足し算と引き算だけNE #include<stdio.h> #include<ctype.h> int calc(int ans, int i, int op){ switch( op ){ case 0: return ans + i; case 1: return ans - i; } return ans; } main(){ char c[256]; char *p; int i, op = 0, ans = 0; printf("Enter a number:"); fgets(c, sizeof(c), stdin); p = c; while(*p != '\0'){ i = 0; while(isdigit(*p)){ i = i*10+(*p)-48; p++; } ans = calc(ans, i, op); if(*p == '+')op = 0; else if(*p == '-')op = 1; else op = -1; p++; } printf("You have entered: %d\n", ans); return 0; }
337 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/07/07(土) 18:46:59 ] >>317 (・3・)あっちょんぶりけ ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4534.txt
338 名前:デフォルトの名無しさん [2007/07/08(日) 01:43:22 ] 問題文[1] 授業単元:C言語 [2] 問題文: :入力した人の年齢の合計と平均を出力させるプログラムを作成して下さい。 ※入力時に累積の人数を表示 ※年齢入力時に数字属性と範囲のチェックを行う※nullは不許可とする ※0 〜 9 の文字のみで、かつ 1 〜 99 の範囲のみを許可する※年齢の平均は小数点第二位まで出力する ※名前に空が入力された場合に年齢の合計と平均を出力してプログラムを終了する −実行結果− 1人目の名前:human1 1人目の年齢: 入力エラー(年齢を入力してください) 1人目の年齢:30 2人目の名前:human2 2人目の年齢:abc 入力エラー(年齢は数字のみで入力してください) 2人目の年齢:20 3人目の名前:human3 3人目の年齢:0 入力エラー(年齢は1から99の範囲で入力してください) 3人目の年齢:25 4人目の名前: 年齢の合計は75歳、年齢の平均は25.00歳 [3] 環境 [3.1] OS:Windows [3.2] LCpad [3.3] 言語: C [4] 期限: 2007年7月9日hhまで [5] 初心者です。お願いします。
339 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:30:35 ] 1つ上のレスぐらい見ろクズ
340 名前:デフォルトの名無しさん [2007/07/08(日) 18:18:48 ] >>325 お願いしますm(_ _)m
341 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 19:42:48 ] >>327 がやってるじゃんと言おうとしたら、仕様を満たしてないのね。 Aa,bの四則演算は、何も考えずにc=a+bとかやらずに 2進数で演算しないといけないのかな?
342 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/07/08(日) 21:50:28 ] >>325 (・3・) エェー bitに直すだけYO もう酔っ払ってダメぽ #include <stdio.h> void changeBit(unsigned long n, unsigned char bit[32]){ int i; for(i=0; i<32; i++, n = n >> 1){ bit[31 -i] = n & 0x1; } } int main(void){ unsigned long a, b; unsigned char bita[32], bitb[32]; int i; printf("a:"); scanf("%ld", &a); printf("b:"); scanf("%ld", &b); changeBit(a, bita); changeBit(b, bitb); for(i=0; i<32; i++){ printf("%u", bita[i]); } puts(""); for(i=0; i<32; i++){ printf("%u", bitb[i]); } return 0; }
343 名前:デフォルトの名無しさん [2007/07/09(月) 14:17:13 ] すいません。>>325 のaとbは8ビットで結果は16ビットです。すいませんでしたm(_ _)m
344 名前:デフォルトの名無しさん [2007/07/09(月) 14:44:00 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 年(西暦),月,日を入力したとき,入力した年月日の曜日を出力するプログラムを作成 しなさい. [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:無期限 [5] その他の制限:なし お願いします。
345 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 14:46:40 ] >>344 www9.plala.or.jp/sgwr-t/c/Q/ens16-3.html
346 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 14:51:54 ] >>344 グレゴリオ暦でおk?
347 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 15:16:57 ] // >>344 #include <time.h> #include <stdio.h> int main() { int year; int month; int day; printf("Input date(year month day:Ex. 2006 12 31).\n"); if (scanf("%d%d%d", & year, & month, & day) < 3) { fprintf(stderr, "Illegal format.\n"); return 1; } struct tm tmp = {0}; tmp.tm_year = year - 1900; tmp.tm_mon = month - 1; tmp.tm_mday = day; mktime(& tmp); static const char * const weekDayTable[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", }; printf("%d/%d/%d is %s.\n", 1900 + tmp.tm_year, 1 + tmp.tm_mon, tmp.tm_mday, weekDayTable[tmp.tm_wday]); return 0; }
348 名前:デフォルトの名無しさん [2007/07/09(月) 15:28:57 ] >>325 もう一度書かして下さい。 C言語です。 二つの符号なし整数a,b(ただしa>bとし、bは2のべき乗とする。またaとbは8ビットで、演算の結果は16ビットです。)をキーボードから読み込み、 @a,bを2進表示し、配列の中にビットを格納しなさい。 Aa,bの四則演算(上のを使って、相手に10進で入力させ、それを2進表示する) c=a+b d=a-b e=a*b f=a/b(商のみ) を計算し、その結果を出力しなさい。 習ったのはfor文、if文、do文、while文、シフト演算子{(>>)(<<)}、ビット単位のAND演算子(&)、OR演算子(|)、排他的OR演算子(^)、1の補数(~)です。結果は2進の16ビットです。 7月14日までです。お願いしますm(_ _)m
349 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 19:06:20 ] とりあえずテンプレに沿って質問しろよ
350 名前:デフォルトの名無しさん [2007/07/09(月) 19:46:08 ] [1] コンピュータ・サイエンス [2] C++でUDPのechoサーバを作れ [3] 環境 [3.1] Windows [3.2] VisualC++系 [3.3] C++ [4]無期限 [5]wsock32.lib UDPで おねがいします。
351 名前:177 mailto:sage [2007/07/09(月) 20:27:59 ] [1] 授業単元: プログラミング技術 [2] 問題文(含コード&リンク): (2)例えば式1+2[ENTER]を入力すると3を出力するように足し算の出来る プログラムに改造したいです。他にも掛け算や割り算、引き算も出来るように お願いします。 #include <stdio.h> #include <ctype.h> main(){ char c[10]; char *p ; int i=0; printf("Enter a number: "); fgets(c,6,stdin); p = &c; //ここでWarningが出るが問題にはならない While(isdigit (*p));{ i=i*10+(*p++)-48; } printf("You have entered: %d\n", i); } [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C++ [4] 期限: 明日中 [5] その他の制限:特になし
352 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 20:46:43 ] それは本当にC++か・・・
353 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 11:03:42 ] [1] 授業単元:プログラミング言語 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4565.txt [3] 環境 [3.1] OS: XP pro2 [3.2] VISUALU STUDIO 2005 [3.3] 言語: C++ [4] 期限:〜7/11 09:00 [5] その他の制限:無し どうかお願いします
354 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 14:06:54 ] // ヘッダファイルここから class Player { int point; public: Player(); Player(int p); int get_point(); void set_point(int p); int rand(); int judge(Player &opp); void show(); }; void show_winner(int result, const char *a, const char *b); void show_point(Player &man, Player &woman);
355 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 14:07:27 ] // ソースファイルここから #include <iostream> #include <iomanip> #include <string> #include <cstdlib> #include <ctime> #include "player.h" using namespace std; Player::Player() : point(100) {std::srand((unsigned)time(NULL));} Player::Player(int p) : point(p) { std::srand((unsigned)time(NULL)); } int Player::get_point() { return point; } void Player::set_point(int p) { point = (p < 0) ? 0 : p; } int Player::rand() { return std::rand() % 20; } int Player::judge(Player &opp) { int i = this->rand(); int you = (opp.rand() * 8) / 10; if (i > you) { opp.set_point(opp.get_point() - i); return 1; }
356 名前:デフォルトの名無しさん [2007/07/10(火) 14:21:09 ] 以下(ry
357 名前:デフォルトの名無しさん [2007/07/10(火) 15:06:01 ] [1] 授業単元:C言語 [2] 数字だけからなる文字列をchar型の配列へ読み込み、それをint型のデータに変換する関数myatoi() を作成せよ、ただし文字列中に数字以外の文字が含まれれる場合は戻り値としてー1を返すようにすること さらにmyatoi()を用い、標準入力から与える文字列を数値として(printfの%dを用いて)表示するプログラムを作成せよ [3] 環境 [3.1] Linax [3.2] gcc [3.3] 言語: C言語 [4] 期限: できるだけはやく [5] できるだけ特殊じゃないので [3] 環境 [3.1] OS: linax [3.2]gcc gnome emacs [3.3] 言語: C [4] はやめ お願いします
358 名前:デフォルトの名無しさん [2007/07/10(火) 15:08:57 ] 追加 %./ファイル名 入力:14314 入力された数値は14314です 入力:abc 数字以外の文字が入っています 入力: [c]+d % 実行結果です
359 名前:デフォルトの名無しさん [2007/07/10(火) 15:17:31 ] [1]授業単元:プログラミング演習 [2]問題文:二つの符号なし整数a,b(ただしa>bとし、bは2のべき乗とする。またaとbは8ビットで、演算の結果は16ビットとする。)をキーボードから読み込み、 @a,bを2進表示し、配列の中にビットを格納しなさい。 Aa,bの四則演算(上のを使って、相手に10進で入力させ、それを2進表示する) c=a+b d=a-b e=a*b f=a/b(商のみ) を計算し、その結果を出力しなさい。 [3]環境 [3.1]Windows XP [3.2]VisualC++,UNIX [3.3]C言語 [4]2007年7月14日まで。 [5]習ったのはfor文、if文、do文、while文、シフト演算子{(>>)(<<)}、ビット単位のAND演算子(&)、OR演算子(|)、排他的OR演算子(^)、1の補数(~)、符号なしありの表し方(unsignなど)です。お願いしますm(_ _)m
360 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 17:03:35 ] >>357 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4578.c
361 名前:みえ [2007/07/10(火) 17:14:21 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 次を元にして、足し算などの式を入力すると計算結果を表示するプログラムを作ることを考える。たとえば式1+2ENTERを入力すると結果の3が表示されるようにプログラムを作り直してください、エラー処理は無視してよい。 他の演算ができるようになっているとさらに高く評価する。 #include<stdio.h> #include<ctype.h> main(){ char c[10]; char *p; int i=0; printf("Enter a number:"); fgets(c,6,stdin); p=&c; while(isdigit(*p)){ i=i*10+(*p++)-48; } printf("You have entered: %d\n",i); } [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 7月11日 よろしくお願いします たとえば式1+2ENTERを入力すると結果の3が表示される
362 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 18:16:29 ] [1] 授業単元: プログラミング実習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4568.txt [3] 環境 [3.1] OS: WindowsXP [3.2]gcc [3.3] 言語: C [4] 期限: 7/11まで [5] その他の制限: 特になし よろしくお願いします。
363 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 18:18:40 ] [1] 授業単元: プログラミング実習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4569.txt 実行例 1:コーラ 2:ミルクティー 3:ビール 4:オレンジジュース 5:緑茶 110円 140円 210円 190円 120円 希望の飲み物の番号を入力(終了する場合はCTRL+D) 1 商品はコーラ(価格=110円) お金を入れてください。 1000円:1 500円:0 100円:0 50円:0 10円:0 商品価格=110 釣銭あり 投入貨幣 =1000円(1), 500円(0), 100円(0), 50円(0), 10円(0) 釣銭 =1000円(0), 500円(1), 100円(3), 50円(1), 10円(4) 釣銭用貨幣=1000円(1), 500円(9), 100円(7), 50円(9), 10円(6) 希望の飲み物の番号を入力(終了する場合はCTRL+D) [3] 環境 [3.1] OS: WindowsXP [3.2]gcc [3.3] 言語: C [4] 期限: 7/11まで [5] その他の制限: 特になし よろしくお願いします。
364 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 12:55:58 ] >>362 は出来たのですが >>363 ができません。 今日の22時までなんです。どなたかお願いします。
365 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 13:15:47 ] >>364 昨日やってできたけど、バカバカしくなって消した
366 名前:363 mailto:sage [2007/07/11(水) 13:24:42 ] バカバカしくなるぐらい簡単ってことなんでしょうか? だったら少し頑張って自分でやってみます
367 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 13:28:55 ] >>366 できたところまででいいから晒せばヒントあげるよ すべて人任せはイクナイ
368 名前:デフォルトの名無しさん [2007/07/11(水) 18:47:35 ] [1] 授業単元: プログラミング技術 [2] 問題文(含コード&リンク):ニュートン法 出力が 値入力⇒○ 解の値は ○ 収束するのに ○ 回かかりました [3] 環境 [3.1] OS:WindowsVISTA [3.2] コンパイラ名とバージョン:コンパイラが動かないですorz [3.3] 言語:C言語 [4] 期限:考える時間であっというまに・・・7/13(金)17:00です。 [5] その他の制限: #include<math.h>とdouble、fabsは必ず使うようです。
369 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/07/11(水) 23:00:46 ] (・3・) エェー ニュートン法って式いらんのかいNA
370 名前:デフォルトの名無しさん [2007/07/11(水) 23:57:17 ] >>359 お願いしますm(_ _)m
371 名前:デフォルトの名無しさん mailto:age [2007/07/11(水) 23:59:27 ] [1] 授業単元:情報処理 [2] 問題文(含コード&リンク): コンビニの売り上げ伝票ファイルを集計し、20歳代、30歳代それぞれの売り上げ総額を求める処理 のプログラムを作る。売り上げ伝票ファイルは以下のような形式で記録されるものとする。1行に1品目の売り上げ記録があり、第 1項目が商品コード、第2項目が単価、第3項目が数量、第4項目が客の性別、第5項目が客の年齢層。年齢層の値は19歳以下 なら1、20〜29歳なら2、30〜39歳なら3、40〜49歳なら4、50歳以上なら5である。性別は0が男、1が女を表す。商品コードが0の または負のとき、それ以後のデータがないことを表すものとする。また、データが不正のときも記録はないものとする。 [3] 環境 [3.1] OS:Windows Visual stdio 2003 [3.2] コンパイラ名とバージョン:bcc [3.3] 言語:C [4] 期限:7月12日朝6時まで [5] その他の制限:switch文を必ずいれて下さい。 他スレでスルーされてしまいました(´;ω;`) 助けて下さい。よろしくおねがいしますm(_ _)m
372 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 07:22:26 ] ぎりぎり杉
373 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 07:31:20 ] 全くだ やろうと思ったら6時過ぎてたよw
374 名前:デフォルトの名無しさん [2007/07/12(木) 14:42:26 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4599.txt [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:無期限 [5] その他の制限:なし よろしくお願いします。
375 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 14:56:32 ] #include <stdio.h> int main(void) { int i, n; int min, sec; int minsum = 0, secsum = 0; printf("曲数を入力して下さい. --> "); scanf("%d", &n); for(i = 0; i < n; i++) { printf("<%d 曲目>\n", i); printf("何分ですか. --> "); scanf("%d", &min); printf("何秒ですか. --> "); scanf("%d", &sec); minsum += min; secsum += sec; } printf("総時間%d 分%d 秒", minsum, secsum); return 0; }
376 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 15:01:24 ] >>375 いちいち突っ込むのもあれだけど、とりあえず(鼻からブーーのAA略) ブーーッ!
377 名前:デフォルトの名無しさん [2007/07/12(木) 16:43:15 ] >>359 お願いします。
378 名前: ◆lIN/ESgxWw [2007/07/12(木) 17:01:58 ] [1]単元:プログラミング技術 [2]問題文:アップローダーのno.4600にアップしておきました [3]環境 OS:リナックス コンパイラ:gcc 言語:C [4]期限:来週の水曜までに よろしくお願いします。
379 名前:368 [2007/07/12(木) 17:51:51 ] >>369 式いります。 do{ (式) }while(); みたいな感じなのですが、私には理解できませんorz
380 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 18:22:25 ] >>359 c言語ブランク暦13年の俺様のテクニックをしかと見届けよ #include<stdio.h> char b8[9],b16[17]; void d2b8(int n){ for(int i=0;i<8;i++)b8[7-i]=(n&1)+'0',n/=2;b8[8]='\0'; } void d2b16(int n){ for(int i=0;i<16;i++)b16[15-i]=(n&1)+'0',n/=2;b16[16]='\0'; } int main(void){ int a,b,i; while(1){ printf("a=");scanf("%ud",&a); if(a<0||a>255){printf("8bit\n");continue;} printf("b=");scanf("%ud",&b);if(b>=a){printf("b<a\n");continue;} if(b!=1&&b!=2&&b!=4&&b!=8&&b!=16&&b!=32&&b!=64&&b!=128){printf("b=2^n\n");continue;} d2b8(a);printf("a = %3d (%s)\n",a,b8); d2b8(b);printf("b = %3d (%s)\n",b,b8); d2b16(a+b);printf("c = %3d + %3d = %5d (%s)\n",a,b,a+b,b16); d2b16(a-b);printf("d = %3d - %3d = %5d (%s)\n",a,b,a-b,b16); d2b16(a*b);printf("e = %3d * %3d = %5d (%s)\n",a,b,a*b,b16); d2b16(a/b);printf("f = %3d / %3d = %5d (%s)\n",a,b,a/b,b16); } //return 0; }}
381 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 18:42:45 ] 計算も2進でやらせたいんじゃないん?
382 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 20:36:53 ] 引数にクラスを指定するのってどうやるの? 下のやり方だとだめだっだ。 TEST_CLASS Sizuoka; int *p; p = &Sizuoka; func(p);
383 名前:デフォルトの名無しさん [2007/07/12(木) 20:39:32 ] funcの型が書かれてないし 意味不明だよ^^
384 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 21:06:36 ] >>383 何で笑ってるのか教えてほしい。
385 名前:デフォルトの名無しさん [2007/07/12(木) 21:15:14 ] ^^はにこやかに意味がわからないよ〜って言ってるだけで 笑っているわけじゃない
386 名前:デフォルトの名無しさん [2007/07/13(金) 10:24:49 ] すいません。>>359 は2進で計算しますm(_ _)m
387 名前:デフォルトの名無しさん [2007/07/13(金) 13:55:42 ] 357お願いします
388 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 13:59:22 ] >>357
389 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 14:03:37 ] >>387 >>360 にあるのに、気に入らないのか?
390 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 14:03:44 ] >>357 #include <stdio.h> int myatoi(char *buf) { char *p = buf; int n = 0; while(*p != '\0') { if(isdigit(*p)) { n *= 10; n += *p - '0'; p++; } else return -1; return n; } int main(void) { int n; char buf[128]; scanf("%s", buf); n = myatoi(buf); printf("%d\n", n); return 0; }
391 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 14:08:06 ] >>390 #include <ctype.h> を忘れてた。
392 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 14:08:46 ] whileの閉じ括弧もわすれちょるよ
393 名前:デフォルトの名無しさん [2007/07/13(金) 14:44:14 ] >>359 お願いします。
394 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 15:35:31 ] すみません、>>378 よろしくお願いします
395 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 15:37:33 ] >>394 リンク先書いとけって 手間省くな
396 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 16:00:56 ] >>395 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4607.txt
397 名前:デフォルトの名無しさん [2007/07/13(金) 18:56:28 ] >>390 実行結果が358にならないです。 おねがいします
398 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 19:02:24 ] >>396 bccだとcursesがないからできなかった
399 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 21:04:06 ] >>383 >>385 お前痛いな。
400 名前: ◆lIN/ESgxWw mailto:sage [2007/07/14(土) 00:22:48 ] [1]単元:プログラミング [2]問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4613.txt [3]環境 コンパイラ:cc OS:リナックス 言語:C [4]期限:7月19日 よろしく頼みます。
401 名前:デフォルトの名無しさん [2007/07/14(土) 00:42:49 ] [1] 授業単元:情報科学U [2] 問題文(含コード&リンク):brain.is.kyushu-u.ac.jp/~shidoji/japanese/InformationScience/11.pdf の課題11 [3] 環境 [3.1] OS: Windows [3.2] 普段はcygwinつかっているのでgcc 3.4 だとおもいます。 [3.3] 言語: Cです。 [4] 期限: 2007・07・16まで よろしくおねがいします。
402 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 01:28:23 ] >400 ほとんど答えが書いてあるようなもんなのに、なんで自分でやらないかねぇ
403 名前:デフォルトの名無しさん [2007/07/14(土) 02:38:58 ] >>401 int push(int data, int *sp, int *STK) { if (*sp == 0) return 0; (*sp)--; *(STK + *sp) = data; return 1; } int pop(int *dataP, int *sp, int *STK) { if (*sp == N) return 0; *dataP = *(STK + *sp); (*sp)++; return 1; } void dsp_stack(int top, int *a) { int i;for (i = top; i < N; i++) { printf("%d:%3d\n",i, *(a + i));} }
404 名前:もり [2007/07/14(土) 10:34:36 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):次のプログラムは、式を入力すると計算結果を表示するプログラムであるが、 誤っている点があります。現在の内容を理解し、誤りを訂正してコメントをつけてください。 #include <stdio.h> #include <stdlib.h> #include <ctype.h> char *p; char c[100]; int expression(void); int term(void); int number(void); main(){ int ans; while(1){ printf("Enter expression : "); fgets(c,90,stdin); p=&c; if(*p == '\n') break; ans = expression(); printf("Answer:%d\n", ans); } } int expression(){ int ans; ans = term(); while(1){ if(*p == '+'){ ans = ans + term(); }else if(*p == '-'){ ans = ans - term(); }else break; } return(ans); } int term(){ int ans,x; ans = number(); while(1){ if(*p == '*'){ ans = ans * number(); }else if(*p == '/'){ x = number(); if(x == 0){ printf("Division by 0\n"); exit(1); } ans = ans / x; }else break; } return(ans); } int number(){ int i=0; while (isdigit(*p)){ i=i*10+(*p++)-48;} return(i); } [3] 環境 [3.1] OS: Windows [3.2] gcc 3.4 [3.3] 言語: C言語 [4] 期限: 2007/7/17 改行が多すぎて、乗せられなかったためこんな形になりますた。すみません。宜しくお願いします。
405 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 09:18:02 ] うpろだ使えよww
406 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 14:09:09 ] >>404 pc11.2ch.net/test/read.cgi/tech/1183511364/868
407 名前:デフォルトの名無しさん [2007/07/15(日) 15:44:54 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4626.txt [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:無期限 [5] その他の制限:なし よろしくお願いします。
408 名前:デフォルトの名無しさん [2007/07/15(日) 15:50:40 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): フィボナッチ数列の第n 番目(1 ≤ n ≤ 50)の数を出力するプログラムを作成しなさい. [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:無期限 [5] その他の制限:なし よろしくお願いします。
409 名前:デフォルトの名無しさん [2007/07/15(日) 16:02:05 ] >>408 #include <stdio.h> int main(void){ int i, max; int tanka, kosuu, total = 0; double tax_total = 0.0; printf("商品数を入力してください. --> "); scanf("%d", &max); for(i=0; i<max; i++){ printf("<商品%d>\n", i+1); printf("単価を入力してください. --> "); scanf("%d", &tanka); printf("個数を入力してください. --> "); scanf("%d", &kosuu); printf("** 単価×個数 ** ==> %d\n", tanka * kosuu); total += tanka * kosuu; printf("** 累積合計代金 ** ==> %d\n", total); tax_total += total * 1.05; printf("** 消費税込み累積合計代金** ==> %lf\n", tax_total); } return 0; } コンパイル通してないからどっかエラーでたら教えてね☆
410 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 16:04:09 ] #include <stdio.h> typedef struct { int nValue; int nNums; int nPrice; } DATA; int main(void) { int n, i; DATA *dt; int nSmPrc = 0; double dSmPrcTaxin = 0; printf("商品数を入力して下さい --> "); scanf("%d", &n); dt = (DATA *)malloc(sizeof(DATA) * n); for(i=0; i<n; i++) { printf("<商品%d>\n単価を入力して下さい. --> ", i); scanf("%d", &dt[i].nValue); printf("個数を入力して下さい. --> "); scanf("%d", &dt[i].nNums); dt[i].nPrice = dt[i].nValue * dt[i].nNums; nSmPrc += dt[i].nPrice; dSmPrcTaxin = (double)nSmPrc * 1.05; printf("** 単価×個数** ==> %d\n", dt[i].nPrice); printf("** 累積合計代金** ==> %d\n", nSmPrc); printf("** 消費税込み累積合計代金** ==> %g\n", dSmPrcTaxin); } return 0; }
411 名前:デフォルトの名無しさん [2007/07/15(日) 16:10:56 ] >>409 #include <stdio.h> int main(void){ int i, n; unsigned int fibonacci[50]; fibonacci[0] = fibonacci[1] = 1; for(i=2; i<50; i++){ fibonacci[i] = fibonacci[i-1] + fibonacci[i-2]; } printf("何番目を表示させたいか入力してください\n"); scanf("%d", &n); printf("フィボナッチ数列の %d 番目は %d です\n", n, fibonacci[n-1]); return 0; } こっちも通してないからエラーでたら教えてね☆
412 名前:舞子 [2007/07/15(日) 16:11:29 ] 自宅でマイコン開発をはじめようと考えているものです。 (現在マイコンの知識はほとんどないです。) そこで、マイコン開発に必要なハードウェア、アプリケーションを知りたいんですが、 お知恵をおかりできませんでしょうか? ハードウェアとしてはできればUSBで接続で マイコンにそのまま書き込めるようなものがあれば最適です。 USBとかって安くうってるのでしょうか? 自宅で行うのでできれば安く簡単にと考えてます。 (当然レベルの高い製品はできないと思いますが) よろしくお願いいたします。
413 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 16:11:33 ] じゃあ俺も #include <stdio.h> int main(void) { int shouhinsuu,tanka,kosuu,daikin,ruiseki=0; printf("商品数を入力して下さい --> ");scanf("%d",&shouhinsuu); for(int i=1;i=<shouhinsuu;i++){ printf("<商品%d>\n単価を入力して下さい. --> ",i);scanf("%d",&tanka); printf("個数を入力して下さい. --> ");scanf("%d",&kosuu); printf("** 単価×個数** ==> %d\n",daikin=tanka*kosuu); printf("** 累積合計代金** ==> %d\n",ruiseki+=daikin); printf("** 消費税込み累積合計代金** ==> %.1f\n",ruiseki*1.05); } }
414 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 16:13:02 ] intじゃあふれない?
415 名前:デフォルトの名無しさん [2007/07/15(日) 16:14:30 ] 今やってみたらあふれた 泣いた
416 名前:デフォルトの名無しさん [2007/07/15(日) 16:16:41 ] 首吊って死んでくるねっ☆
417 名前:デフォルトの名無しさん [2007/07/15(日) 16:21:09 ] わかるだろうが一応死ぬ前に fibonacci を int から double 型に変更して printf のところを %0.lf ってしといてくれ…とだけ言っておく 俺はもうだめだ
418 名前:デフォルトの名無しさん [2007/07/17(火) 12:15:18 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):任意の回数だけコンピュータを相手にじゃんけんをするプログラムを作成しなさい. ただし,コンピュータは時間によって変わる乱数により実現すること.また,あいこの場合は回数のカウントには含めないこととする [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:今日17時まで [5] その他の制限:なし できるだけ速くお願いします!!
419 名前:デフォルトの名無しさん [2007/07/17(火) 12:23:08 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):正整数n を入力し,n× n の正方行列において,以下のような○と●のパターンを出力す るプログラムを作成しなさい n=1 ○ n=2 ●○ ○○ n=3 ○●○ ●●○ ○○○ n=4 ●○●○ ○○●○ ●●●○ ○○○○ n=5 ○●○●○ ●●○●○ ○○○●○ ●●●●○ ○○○○○ [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:無期限 [5] その他の制限:なし お願いします。
420 名前:デフォルトの名無しさん mailto:unko [2007/07/17(火) 12:33:46 ] >>409 フィボナッチは配列イラナイwww int宣言でゴミ箱を作ればいいw 馬鹿ジャンw>>411 ワロタw
421 名前:デフォルトの名無しさん mailto:unko [2007/07/17(火) 12:36:12 ] 1→1→2→3→5といくのだから a=1;b=1;c==a+b; forでループさせてcを出力すればいいw 馬鹿ジャンw>>411 出来るだけ軽くしろw無能乙w
422 名前:デフォルトの名無しさん mailto:unko [2007/07/17(火) 12:40:08 ] >>418 その程度で質問ってなんなの?
423 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 12:46:32 ] 遅レスだが >>32 「やさしいC(高橋麻奈著)」を読みながら コマンドプロンプトで出来るテトリス作成(俺の時は無知から初めて2週間で形にはなった)
424 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 12:56:21 ] >418 (・3・) きっと、Windwsへのgccのインストール方だYO
425 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 13:29:10 ] >419 #include <stdio.h> int main(void) { int i, j, n; printf("n="); scanf("%d", &n); for(i=n; i > 0; i--) { if(i%2) for(j=0; j<=n-i; j++) printf("○"); else for(j=0; j<n-i; j++) printf("●"); for(j=0; j<i/2; j++) printf("●○"); putchar('\n'); } return 0; }
426 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 14:43:29 ] >>418 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4653.c
427 名前:426 mailto:sage [2007/07/17(火) 14:51:53 ] 初歩的な間違いをしていた。 >>418 修正版 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4654.c
428 名前:デフォルトの名無しさん mailto:age [2007/07/17(火) 16:20:07 ] Cのプログラミングでタイピングゲームを作るんだけど クリアするのにかかった時間ではなく、 「1分あたりに入力したキー数」を結果として表示させるにはどうしたらいいだろう? 試行のたびに1分以上タイピングゲームするのが嫌だから、 10秒毎に入力数を記憶して、その平均を6でかけてやろうと思ったんだけど 10秒毎っていうのにひっかかってる。 秒数カウントするのはsleep関数での方法しか知らないから、 タイピングゲームを滞らせることなく実行しながら秒数をカウントって どうすればいいのか全くわからん。 ネットのC言語講座とかでも調べてみたけどわからない… 友達に、教えてって言われたんだけど私もわからず、てんてこまい。誰か助けてー
429 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 17:45:32 ] clock使えばいいんでないの? timeで十分か
430 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 18:05:17 ] 具体的にどうすれば…… int main(void) { FILE *fp; int i,len,ch,j,mojisu=0,nyu=0,key,seida,speed; char buf[256]; char level; clock_t start,end; double jikan; fp = fopen("file.txt","r"); if(fp == NULL) { printf("File Open Error"); return 0; } printf("以下の文字列をタイプしてください。\n"); start=clock();
431 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 18:07:11 ] while(fgets(buf,256,fp)!=NULL) { len = strlen(buf); buf[len-1] = '\0'; len = strlen(buf); mojisu = mojisu + len; for(i=0;i<len;i++) { printf("%s \r",&buf[i]); fflush(stdout); while(1){ ch = getch(); nyu = nyu + 1; if(ch==buf[i]) { printf(" \b"); break; } } } } end = clock(); fclose(fp); jikan = (double)(end - start) / CLOCKS_PER_SEC; seida = mojisu * 100 / nyu; speed = key * 6;
432 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 18:09:04 ] if(seida >= 90) { if(speed <= 25) { level = 'A'; } else if(speed <= 40) { level = 'B'; } else { level = 'C'; } } else if(seida >= 60) { if(speed <= 25) { level = 'B'; } else { level = 'C'; } } else { level = 'C'; } printf("\n%3.1lf秒かかりました。\n",jikan); printf("正打率は%d%\n",seida); printf("タイプスピードは%d\n",speed); printf("あなたのレベルは%c\n",level); return 0; } いまこんなかんじ。speedの大体の値がどうなるかまだわからないので、テキトーに25と40に設定してあります
433 名前:デフォルトの名無しさん [2007/07/18(水) 00:28:51 ] [1] 授業単元:IT入門B1 [2] 問題文:繰り返し複素数(実部,虚部はそれぞれ整数型とする)を入力し,ユーザが最後に1 (1+i*0)を入れたら今まで入力した複素数の実部と虚部のペアをすべて出力し,さらに入力した複素数すべての積を出力するプログラムを作成せよ. なお,ユーザが入力する回数に制限はないものとする. stdio.hの他にstdlib.hをインクルードしておく必要がある. [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:c [4] 期限:2007年7月30日 [5] その他の制限: 特になし 参考プログラムです→www-it.sci.waseda.ac.jp/ITB1/class1/list.c よろしくお願いします。
434 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 02:03:13 ] >>433 マルチポスト(複数のスレに同じレスをつけること)は駄目だ あと君の場合は元のスレの過去レスを読め マルチポストじゃないのなら ttp://pc11.2ch.net/test/read.cgi/tech/1184506311/ の過去レス読め
435 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 09:50:34 ] [2] 問題文: ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4716.txt [3] 環境 [3.1] OS:Linux 3.4 [3.2] コンパイラ名とバージョン:gcc 3.4 [3.3] 言語:c [4] 期限:2007年7月30日 [5] その他の制限: 特になし よろしくお願いします
436 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 16:09:55 ] 訂正お願いします ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4723.txt
437 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 16:22:34 ] >>436 どんな変数を使ったかは把握しておこうぜ? とりあえず while(length--) *start++ = ch; ってやればコンパイルは通る
438 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 16:42:00 ] なんか変な文字がでてきて・・・ 下のような結果にならないんです 4 -89 0 1 5 43 ... 112 ← cmemset 使用前 0 0 0 0 0 0... 0 ← 0 で埋めたとき 88 88 88 88 88 88 ... 88 ← 88 で埋めたとき
439 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 17:00:02 ] >>438 どうみてもそうなるようには作られて無いからねww 表示は文字列じゃなくて数列なんでしょ?
440 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 17:26:30 ] 数列だと思います 問題は435なんですが全然分からないんです
441 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 17:59:58 ] 解けるようにできる問題ではないんですか?
442 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 18:08:48 ] #include <stdio.h> #include<stdlib.h> void cmemset(char *start, int value, int length); int main(void) { int i, size = 10; char *str; //埋める前 str = (char *)malloc(sizeof(char) * size); for(i=0; i<size; i++) printf("%3d ", (int)*(str+i)); putchar('\n'); //0で埋める cmemset(str, 0, size); for(i=0; i<size; i++) printf("%3d ", (int)*(str+i)); putchar('\n'); //88で埋める cmemset(str, 88, size); for(i=0; i<size; i++) printf("%3d ", (int)*(str+i)); putchar('\n'); return 0; } void cmemset(char *start, int value, int length) { while(length--) *start++ = (char)value; return; }
443 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 18:11:29 ] ありがとうございます!
444 名前: ◆DpMW3bRjps [2007/07/23(月) 19:11:48 ] 1] 授業単元: プログラミング実習 [2] 問題文(含コード&リンク): 任意の文字列を入力し、その文字列の中に任意の文字がいくつはいっているかを出力する プログラム [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 2007年7月24日17:00まで [5] その他の制限: こないだ初めて文字列の入力を習いました、初心者です! よろしく お願いします
445 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 19:33:23 ] int CountChar(char *str, char ch) { int num = 0; do { if(*str == ch) num++; } while(*str++); return num; } 入力は適当に作ってくれ
446 名前: ◆UoNQqijD4I [2007/07/23(月) 20:26:11 ] >>444 ですが、配列を使ってお願いします。 無理いってすみませんが…(;;)
447 名前:デフォルトの名無しさん [2007/07/24(火) 15:28:06 ] あっちの宿題スレにレスあったで
448 名前:デフォルトの名無しさん [2007/07/24(火) 16:03:21 ] [1] 授業単元:C言語 応用 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4733.txt [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:YS2005 [3.3] 言語:C [4] 期限:2007/07/25 12:00 [5] その他の制限:なし 使用する関数(getstring)等も一緒に書いたため 見づらいかもしれませんがよろしくお願いいたします。
449 名前:デフォルトの名無しさん [2007/07/24(火) 16:34:08 ] [1] 授業単元:アルゴリズム [2] 問題文(含コード&リンク):”rand1000.dat”というデータの個数nとその個数分の整数データが保存されているファイルがある (kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4151.txt ) このデータをファイルから読み込み 挿入ソート 基数ソート ヒープソート クイックソート マージソート によってソートできるよう各プログラムを作成せよ データ数が100,000個のときでも対応できるようメモリを確保しておいてください。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 7月28日 [5] その他の制限:出来る限り単純なアルゴリズムで作ってください。合計5つのプログラムを作成してください。 大変な問題で申し訳ありませんがどなたか詳しい方よろしくお願いいたします
450 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:40:39 ] >>449 挿入ソート kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4734.c
451 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:48:08 ] >>449 ちょい変更、挿入ソートのみ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4735.c
452 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 19:32:23 ] >>450-451 ありがとうございます。助かります。 残りのもできればお願い致します
453 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 19:44:09 ] >>449 クイック kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4736.c
454 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 19:50:40 ] ttp://www1.cts.ne.jp/~clab/index.html このサイトからソースをパクッてw
455 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 20:04:37 ] >>449 ttp://www1.cts.ne.jp/~clab/algorithm/sort.html 基数ソート 、ヒープソート、マージソートはなんか面倒くさいから俺はパスw
456 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 20:18:36 ] >>449 いつもC++だからソートとか書かないしってことでリンクだけ ttp://jyoken.net/2005/kenpatsu/enari_oraf/ もしくは、ttp://oku.edu.mie-u.ac.jp/~okumura/algo/ からZIP落とせ (挿入ソートinssort.c 基数ソートradsort.c ヒープソートheapsort.c マージソートmergsort.c クイックソートqsort1.c qsort2.c)
457 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 05:00:25 ] [1] 授業単元:演習 [2] 問題文(含コード&リンク): エレベーターの乗客の待ち時間をシミュレートするプログラムを書け [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: BCC5.5 [3.3] 言語: C [4] 期限:7/26まで [5] その他の制限:とくになし kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4745.txt まで書いたんですが明らかに変な出力しかされず困ってます どこがおかしいか教えてもらえないでしょうか?
458 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/07/28(土) 11:49:47 ] >>457 (・3・) エェー 期限過ぎてるけどやったほうがいいのかNA? どんな入力に対してどんな出力が欲しいか書いてくれYO!
459 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 15:05:47 ] 宿題スレで解決しなかったのでこっち来ました お尋ねしたいのですが以下のプログラムに、 「rand100000.dat(ランダムに数値が100000個並んでいるデータ)」 から読み込んでソートするというのを追加したいのですがどうすればよいでしょうか? void BubbleSort(int Data[], int n) { int BeginPlace, ComparePlace; //比較を始める位置を最初からn-1まで変えていく for(BeginPlace = 0;BeginPlace < n;BeginPlace++) { //n - BeginPlaceまで比較する for(ComparePlace = 1;ComparePlace < n - BeginPlace;ComparePlace++) { //右のほうが小さかったら交換する if(Data[ComparePlace - 1] > Data[ComparePlace]) { Swap(&(Data[ComparePlace - 1]), &(Data[ComparePlace])); } } } return; }
460 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2007/07/29(日) 16:11:22 ] >>459 (・3・)エエー rand100000.datの書式が分からないと答えられないYO
461 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 16:14:37 ] >>460 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4151.txt これは1000個のデータですけど
462 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 16:44:23 ] データファイルの先頭レコードに、データ件数がある場合と、 データ件数が固定件数か分かっている、ファイルの中はデータだけでは 処理の仕方が違うと思うがな。 このデータファイルって、予め件数がわからないという条件でなかったか?
463 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 16:52:41 ] いや、件数は分かってるんでとりあえずファイルから読み込むというmain関数を作ってほしいです
464 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 17:07:59 ] >>463 int main() { FILE * fp = fopen("4151.txt", "r"); int lines; if (fscanf(fp, "%d", & lines) < 1) return 1; int * array = calloc(sizeof(* array), lines); if (array == NULL) return 1; for (int ic = 0; ic < lines; ++ic) { if (fscanf(fp, "%d", & array[ic]) < 1) return 1; } fclose(fp); #if 0 for (int ic = 0; ic < lines; ++ic) printf("%d\n", array[ic]); #endif free(array); return 0; }
465 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 17:08:24 ] >>463 dataに読み込んでいる。 #include <stdio.h> #define DATAFILE "rand100000.dat" #define DATASIZE 100000 int data[DATASIZE]; int main() { FILE *fp; char buf[80]; int i=0,size; fp=fopen(DATAFILE, "r"); if(fp==NULL){ fprintf(stderr,"Can't open %s",DATAFILE); return 1;} while(fgets(buf,sizeof(buf),fp)!=NULL){ data[i]=atoi(buf); i++;} size=i; printf("data count=%d\n",size); for(i=0;i<size;i++) printf("%d ",data[i]); printf("\n"); return 0; }
466 名前:465 mailto:sage [2007/07/29(日) 17:12:40 ] いけない。fclose(fp)が抜けている。 return 0;する前に入れてくれ。
467 名前:デフォルトの名無しさん [2007/07/30(月) 09:34:26 ] [1] 授業単元:数値計算 [2] 問題文(含コード&リンク): ガウスの消去法(ピボット選択ありで、計算時間表示あり)をプログラミングせよ [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 2007/7/31 よろしくお願いします。。
468 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 10:24:42 ] tonosiki.mbnsk.net/uploader/src/up1495.jpg この問題の(3)標準偏差と(4)相対係数が分かりません。 どうか教えて頂けないでしょうか・・・? よろしくお願い致します。
469 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 10:34:13 ] 大変失礼致しました。 もしお時間がございましたらよろしくお願いいたします。 [1] 授業単元: プログラミング [2] 問題文(含コード&リンク):tonosiki.mbnsk.net/uploader/src/up1495.jpg? [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:gcc 3.4 [3.3] 言語: C [4] 期限: 07/8/1 [5] その他の制限: 特にありませんが、出来る限り単純なプログラムでお願いいたします。
470 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 10:38:00 ] >>468 相関係数や一時回帰はExcelでグラフを作れば計算してくれるからそれを参考に。 それ以外は判るのならそこまで自分で書いたものを寄越したまえ。
471 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 19:28:02 ] ぼるじょあって何? 昔麻原ショーコーのAAの三段活用をコピペしまくってた馬鹿がたしかそんなHN名乗ってたが。。
472 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 21:00:41 ] ぐぐれよ
473 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 21:15:12 ] >>469 > [2] 問題文(含コード&リンク):tonosiki.mbnsk.net/uploader/src/up1495.jpg? 404
474 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 11:06:46 ] >>473 マルチだ。ほっとけ。
475 名前:デフォルトの名無しさん [2007/08/01(水) 21:05:38 ] [1] 授業単元:C言語 [2] 問題文: 指定された段数numの図形を画面に表示するプログラム部分である □に適当なプログラムを書なさい。(プログラム中のi,jはint型変数) for(i=1;□;i++){ for(j=1;j<=□;j++){ printf(□); } for(j=1;□;j++){ printf("%d",i); } putchar(□); } [3] 環境 [3.1] OS:WINDOWS XP [3.2] コンパイラ名とバージョン: (VS 2005) [3.3] 言語: C [4] 期限: 8月1日まで 実行結果 何段?num=5 1 22 333 4444 55555 よろしくお願いします
476 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2007/08/01(水) 21:30:17 ] (・3・)アルェー? for文多くないかNA? for(int i=1;i<=num;i++) { // for(j=1;j<=□;j++) // { // printf(□); // } for(int j=1;j<=i;j++){ printf("%d",i); } putchar('\n'); }
477 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:14:22 ] [1] 授業単元:応用ネットワークプログラミング2 [2] 問題文 TCPおよびUDPのチェックサムを計算するプログラムを作成せよ なお、IPは以下のようにする。 src 200.199.198.197 dest 1.2.3.4 [3] 環境 [3.1] OS: Linux [3.2] Gentoo [3.3] 言語:C言語 [4] 期限:6月9日の水曜日まで [5] その他の制限:Cが苦手で困っています。
478 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/08/07(火) 19:39:58 ] >>477 (・3・) エェー 2010年6月9日までまだまだあるから自分でやれYO! ここを見ればスグだYO! ttp://www.geekpage.jp/programming/linux-network/
479 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:17:29 ] [1] 授業単元:C [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4839.txt [3] 環境 [3.1] OS:WINDOWS XP [3.2] コンパイラ名とバージョン:bcc [3.3] 言語: C [4] 期限: 8月8日
480 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:21:35 ] >>479 ttp://pc11.2ch.net/test/read.cgi/tech/1185452895/681
481 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:50:58 ] >479 宿題スレと同じ? 向こうは少し条件足りてないけど。 int arr_min_pos(int arr[], int n) { int pos; if(n==1) return arr[0] < 0 ? -1 : 0; pos = arr_min_pos(arr, n-1); return arr[n-1] < 0 || arr[n-1] > arr[pos] ? pos : n - 1; }
482 名前:デフォルトの名無しさん [2007/08/29(水) 12:59:49 ] 言語:C コンパイラ名とバージョン:ボーランド OS:XP 問題:ユーザー関数の作成 再帰関数を使って、xのn乗を求めるプログラムを作成しなさい プロトタイプ宣言:int power(int x,int n); 実行画面 文字列入力==>2 文字列入力==>0 値:1 文字列入力==>2 文字列入力==>3 値:8 文字列入力==>6 文字列入力==>4 値:1296
483 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 13:29:55 ] int power(int x,int n) { return n <= 1 ? x : x * power(x, n-1); }
484 名前:デフォルトの名無しさん [2007/08/30(木) 04:55:24 ] 日本オワタな
485 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/08/30(木) 22:19:11 ] >>483 (・3・) エェー 惜しいYO! x=2 n=0
486 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/08/31(金) 00:20:34 ] (・3・) エェー 久々に来たけどもみあがってないNE
487 名前: ◆uWJL1MSv.M [2007/09/01(土) 23:19:03 ] [1] 授業単元: データ構造とアルゴリズム [2] 問題文: @Cell型のオブジェクトa,b,c,d,eを用意し、 それぞれvalueに10,20,30,40,50を設定し、 a→b→c→d→eと連結する。valueの値を順に出力しなさい。 A @のプログラムに書き足し、オブジェクトcの次(オブジェクトd)を削除し、 valueの値を順に出力しなさい。次にオブジェクトaを削除し、 valueの値を順に出力しなさい。 B Aのプログラムに書き足し、オブジェクトcの次にオブジェクトaを挿入し、 valueの値を順に出力しなさい。次に先頭にオブジェクトdを挿入し、 valueの値を順に出力しなさい。 C @のプログラムを双方向リストにし、valueの値を逆順に出力しなさい。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: VisualC++.net [3.3] 言語: C++ [4] 期限: 2007年9月3日まで よろしくお願いします。
488 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/09/02(日) 11:12:09 ] (・3・) エェー Cell型ってどんなんだYO
489 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 11:17:38 ] 細胞に関するクラスじゃね?
490 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/09/02(日) 11:23:08 ] (・3・) エェー そりは難しそうですNE
491 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 13:36:36 ] 乾電池かも知れず。
492 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 14:02:41 ] 直列に繋いで電圧を調べるのか
493 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 14:08:59 ] 貨車かもしれんぞ
494 名前: ◆uWJL1MSv.M [2007/09/02(日) 14:24:09 ] すいません。 セル 連結リストはセル (cell) というデータを繋げて作ります。 セルにはデータを格納する場所と、次のセルを指し示す場所から構成されます。 図でいうと、箱がひとつのセルを表していて、左側にデータを格納し、 右側に次のセルへの参照を格納します。 セルの型の定義 class Cell{ private: Cell* next; //次のセルへのポインタ int value; //値 public: Cell(){next = NULL; value = 0;} //コンストラクタ void setNext(const Cell* p){next = p;} //nextを設定する void setValue(int a){value = a;} //valueを設定する Cell* getNext(){return next;} //nextの値を得る int getValue(){return value;} //valueの値を得る … };
495 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 15:08:55 ] なんだ。もうできてんじゃん
496 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/09/02(日) 18:29:36 ] >>487 (・3・) エェー @だけやってみたお int main(){ Cell *list = new Cell(); Cell *header = list; for(int i=1; i<=5; i++){ list->setNext(new Cell()); list->getNext()->setValue(i*10); list = list->getNext(); } while(header->getNext() != NULL){ header = header->getNext(); std::cout << header->getValue() << std::endl; } return 0; }
497 名前: ◆uWJL1MSv.M [2007/09/02(日) 20:58:11 ] ありがとうございます。 すいません、A、B、Cもお願いします。
498 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/09/02(日) 21:30:19 ] (・3・) エェー つーか@間違ってたお int main(){ Cell *a, *b, *c, *d, *e; a = new Cell();b = new Cell();c = new Cell();d = new Cell();e = new Cell(); a->setNext(b);b->setNext(c);c->setNext(d);d->setNext(e); a->setValue(10);b->setValue(20);c->setValue(30);d->setValue(40);e->setValue(50); Cell *header = a; while(header != NULL){ std::cout << header->getValue() << std::endl; header = header->getNext(); } return 0; }
499 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/09/02(日) 21:42:41 ] (・3・) エェー Aってこんなん? int main(){ Cell *a, *b, *c, *d, *e, *header, *list; a = new Cell();b = new Cell();c = new Cell();d = new Cell();e = new Cell(); a->setNext(b);b->setNext(c);c->setNext(d);d->setNext(e); a->setValue(10);b->setValue(20);c->setValue(30);d->setValue(40);e->setValue(50); header = a; c->setNext(c->getNext()->getNext()); list = header; while(list != NULL){ std::cout << list->getValue() << std::endl; list = list->getNext(); } std::cout << std::endl; header = header->getNext(); list = header; while(list != NULL){ std::cout << list->getValue() << std::endl; list = list->getNext(); } return 0; }
500 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/09/02(日) 21:47:59 ] (・3・) エェー B・・なんか意図が違う気がしてきたお int main(){ Cell *a, *b, *c, *d, *e, *header, *list; a = new Cell();b = new Cell();c = new Cell();d = new Cell();e = new Cell(); a->setNext(b);b->setNext(c);c->setNext(d);d->setNext(e); a->setValue(10);b->setValue(20);c->setValue(30);d->setValue(40);e->setValue(50); header = a; //Aの処理 c->setNext(c->getNext()->getNext()); header = header->getNext(); //Bで追加 a->setNext(c->getNext()); c->setNext(a); list = header; while(list != NULL){ std::cout << list->getValue() << std::endl; list = list->getNext(); } std::cout << std::endl; d->setNext(header); header = d; list = header; while(list != NULL){ std::cout << list->getValue() << std::endl; list = list->getNext(); } return 0; }
501 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/09/02(日) 21:52:53 ] (・3・) エェー そろそろ書き込みが規制される予感 Cのクラスの変更 class Cell{ Cell *next; Cell *front; int value; public: Cell(); void setNext(Cell*); void setFront(Cell*); void setValue(int); Cell* getNext(); Cell* getFront(); int getValue(); }; Cell::Cell(){next = NULL; front = NULL; value= 0;} void Cell::setNext(Cell *next){this->next = next;} void Cell::setFront(Cell *front){this->front = front;} void Cell::setValue(int value){this->value = value;} Cell* Cell::getNext(){return next;} Cell* Cell::getFront(){return front;} int Cell::getValue(){return value;}
502 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/09/02(日) 22:00:00 ] (・3・) エェー C int main(){ Cell *a, *b, *c, *d, *e, *header, *list; a = new Cell();b = new Cell();c = new Cell();d = new Cell();e = new Cell(); a->setValue(10);b->setValue(20);c->setValue(30);d->setValue(40);e->setValue(50); Cell *array[] = {NULL, a, b, c, d, e, NULL}; for(int i=1; i<=5; i++){ array[i]->setFront(array[i-1]); array[i]->setNext(array[i+1]); } header = a; list = header; while(list->getNext() != NULL)list = list->getNext(); while(list != NULL){ std::cout << list->getValue() << std::endl; list = list->getFront(); } return 0; }
503 名前: ◆uWJL1MSv.M [2007/09/03(月) 01:35:15 ] 助かりました。ありがとうございました。
504 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 20:37:58 ] この痛いやつのリアルアドレス求む ttp://www.nicovideo.jp/watch/sm998796
505 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 00:25:09 ] >>504 そんなもんTCP/IPバイブル読み尽くしたらすぐにわかるわ。 そんな努力もせんと、人に聞くな。何するつもりや。
506 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/09/09(日) 02:18:05 ] (・3・) エェー 素晴らしい説明でしたお
507 名前:デフォルトの名無しさん [2007/09/13(木) 09:15:37 ] 授業単元:C言語 問題文(含コード&リンク):文字列を入力し、圧縮しながら他の文字列配列に格納しなさい 使用する主な標準関数:strlen()、sprintf()など 実行画面 入力文字列(m1)==>AAAAAAABBBCddEEEE#### 圧縮(m2):@7A@3BC@2d@4E@5# 圧縮比:72.7% 環境 OS: Windows コンパイラ名とバージョン:ボーランド 言語:C 期限: その他の制限:
508 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 10:02:28 ] >>507 マルチすんな C/C++ に今答えを書き込んだけど消したくなった
509 名前:507 [2007/09/13(木) 10:16:30 ] >>508 m9(^Д^)プギャー
510 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/09/26(水) 21:19:21 ] >>507 (・3・) エェー 暇だYO! #include<stdio.h> #include<string.h> int main(void){ char m1[100+1], m2[100*3+1], *ptr=m2; int m1_len, i; printf("入力文字列(m1)==>"); scanf("%100s", m1); m1_len=strlen(m1); for(i=0;i<m1_len;i++) ptr+=sprintf(ptr, "@1%c", m1[i]); printf("圧縮(m2):%s\n", m2); printf("圧縮比:%.1f%%\n", strlen(m2)*100./m1_len); return 0; }
511 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 00:16:11 ] 短!って思ったら、、ちょwww もうPerlでいいよw s/(.)\1+/"@".length($&).$1/ge
512 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 02:30:25 ] ぼるじょあへ挑戦状 君に花札のプログラムを作れるかな? ルールは花合わせだ おっと、無理ならやらなくてもいいんだぜ? それじゃ、goodluck!
513 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/09/28(金) 03:27:19 ] >>512 (・3・) エェー 挑戦ってことはAI同士の対戦ってことかYO!
514 名前:デフォルトの名無しさん mailto:age [2007/09/28(金) 14:44:39 ] -> を使ったプログラムを作れ
515 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 20:52:12 ] >>514 #include <stdio.h> int main(void) { printf("->"); return 0; }
516 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 21:21:57 ] #include <stdio.h> int main(void) { int n = 0; printf("%d", n-->0); return 0; }
517 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 18:44:59 ] [1] 授業単元:C++プログラミング [2] 問題文(含コード&リンク): 「年(西暦)」「月」を入力したら,その月のカレンダーを表示するプログラムを作成しなさい。ただし,下記の条件を満たすものとする。 【条件】 (1)カレンダークラスを作成し,main関数でカレンダークラスの実体を生成し,カレンダークラス内のメンバ関数(show関数)を呼び出してカレンダーを表示する。 (2)カレンダークラスはカプセル化されていること。 (3)カレンダー表示には,年,月および曜日,日を表示すること。 (4)「閏年」「祝日」「節句」「二十四節気」の表記を可能にする。 (5)上記以外については自由に作成してよい。 [3] 環境 [3.1] OS: Windows VISTA or XP [3.2] visual studio 2005 [3.3] 言語: C++ [4] 期限: 2007/10/7 23:00まで。 [5] その他の制限: 特になし よろしくお願いします。
518 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/10/06(土) 19:52:43 ] >>517 (・3・) エェー 太陽暦から旧暦に変換する数式はないのかYO!
519 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 12:16:21 ] >>518 六曜でしょうか? すみません、変換式わからないです
520 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 13:41:28 ] >>518 (4)でわからない数式の部分は省いてもらって良いです。 申し訳ないです
521 名前:デフォルトの名無しさん [2007/10/07(日) 14:57:23 ] 今日中は辛いな… 今日は研究が忙しい…
522 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 23:59:48 ] >>517 です >>521 期限は切れてしまってますが、待てます 研究のほうがんばってください
523 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 04:40:21 ] 作るけどレイアウトとかは自分で調整してね
524 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 05:13:49 ] 祝日設定が面倒だったので断念
525 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:42:01 ] ええ!? 突き落とされた気分です・・・
526 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 15:02:06 ] ためしにやってみてるけど面倒すぎるんだよな
527 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 16:58:08 ] 途中まで。祝日とか二十四節気の表示は自分でやって。面倒すぎる。 #include "stdafx.h" #include <iostream> #include <string> #include <map> #include <cassert> #define numof(a) (sizeof(a) / sizeof((a)[0])) /** ある年ある月の日 */ class CDay { private: int m_year; int m_month; int m_day; public: CDay(int year, int month, int day) : m_year(year), m_month(month), m_day(day)
528 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 16:59:26 ] { assert(month >= 1 && month <= 12); assert(year >= 0); } ~CDay() {} /** 曜日 */ std::string GetDayOfWeek() { int nDayOfWeek = (5 * m_year / 4 - m_year / 100 + m_year / 400 + (26 * m_month + 16) / 10 + m_day) % 7; static const char *szDayOfWeek[] = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" }; return szDayOfWeek[nDayOfWeek]; }
529 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 17:01:04 ] /** 節句 */ bool GetSeasonalFestival(std::string& name) { struct SeasonalFestival { int month; int day; char *name; } stSeasonalFestivals[] = { { 1, 7, "Jinjitsu"}, { 3, 3, "Joushi" }, { 5, 5, "Tango" }, { 3, 9, "Chouyou" } }; name = ""; for (int i = 0; i < numof(stSeasonalFestivals); ++i) { if (stSeasonalFestivals[i].month == m_month && stSeasonalFestivals[i].day == m_day) { name = stSeasonalFestivals[i].name; return true; } } return false; }
530 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 17:01:50 ] private: CDay(CDay&); CDay& operator =(CDay&); }; /** ある年ある月のカレンダー */ class CCalender { private: int m_year; int m_month; public: CCalender(int year, int month) : m_year(year), m_month(month) { assert(month >= 1 && month <= 12); assert(year >= 0); } ~CCalender() {} /** カレンダーをコンソールに表示 */ void Show() { ShowTitle(); ShowBody(); }
531 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 17:02:37 ] private: /** その月の日数 @ref bal4u.dip.jp/algo/daysOfMonth.txt */ int NumOfDay() const { static int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if (m_month == 2) { return days[1] + (m_year % 4 == 0 && m_year % 100 != 0 || m_year % 400 == 0); } else { return days[m_month-1]; } }
532 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 17:07:09 ] /** 閏年 */ bool IsLeapYear() const { return (0 == (m_year % 400)) || ((0 != (m_year % 100)) && (0 == (m_year % 4))); } /** タイトルを表示 */ void ShowTitle() const { std::cout << std::endl; std::cout << '\t' << m_year << '/' << m_month << (IsLeapYear() ? " (Leap Year)" : "") << std::endl; std::cout << std::endl; }
533 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 17:07:48 ] /** 日を表示 */ void ShowBody() const { int nNumOfDay = NumOfDay(); for (int i = 1; i <= nNumOfDay; ++i) { CDay day(m_year, m_month, i); std::string strSeasonalFestival; day.GetSeasonalFestival(strSeasonalFestival); std::cout << i << "\t(" << day.GetDayOfWeek() << ")" << "\t" << strSeasonalFestival << std::endl; } } private: CCalender(CCalender&); CCalender& operator =(CCalender&); }; int _tmain(int argc, _TCHAR* argv[]) { CCalender calender(2000, 1); calender.Show(); return 0; }
534 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 17:12:53 ] 終わり。 ちなみに >>526 じゃないです。
535 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2007/10/08(月) 19:14:44 ] (・3・) 一応できたけど我ながらひどい出来 エラー処理とか表示の整形は自分でやってNE! kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5025.txt
536 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 19:58:50 ] >>534 >>535 ありがとうございました。 お二人のプログラム使わさせていただきます^^
537 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 21:12:48 ] つかこんなもんをわざわざ作らせるなんて面倒な授業だな…。
538 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 21:49:07 ] ええ、この教授のだす課題はいつもこんな感じで 毎週地獄です
539 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 17:17:40 ] [1] 授業単元:C++実習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5084.txt [3] 環境 [3.1] OS: XP VISTA [3.2] visual studio 2005 [3.3] 言語: C++ [4] 期限: 10/20 〜10:00 [5] その他の制限: 特になし 濃い内容ですが よろしくお願いします。
540 名前:デフォルトの名無しさん [2007/10/22(月) 13:41:11 ] 1] 授業単元: c++プログラミング [2] 問題文(含コード&リンク): 10個の製品の在庫管理のプログラムを作成しなさい。 全ての製品は初期在庫として、1000個の在庫を持っている。毎日80〜120個ランダムに減っていく。 また、製品によって減っていく量は異なるものとする。 在庫量が300個(発注点)以下になった製品は発注をかけ、その三日後に500個納品される。 終了条件:1000日 単位時間: 日 出力の例: 製品A 前日在庫量 需要量 当日在庫量 320 120 200 200 100 100 100 110 0 ○日に10個欠品しました!! 500個納品されました!! 490 90 400 各製品ごとに上記のように表示されるようにしなさい。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ: bcc [3.3] 言語: C++ [4] 期限:22日19時 [5] その他の制限: できれば、後から簡単に、初期在庫量・発注点・製品数などを変更できるようにしてください。 よろしくお願いします。
541 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 22:14:49 ] いくらなんでも期限ギリギリすぎるだろ
542 名前:さとみ [2007/10/23(火) 20:22:42 ] #include <stdio.h> #include <stdlib.h> struct node{ int data; struct node *next; }; struct node *head; void add_head(int x) { struct node *p; p = (struct node *)malloc(sizeof(struct node)); p->data = x; p->next = head; head = p;} void print_list(struct node *q) { struct node *p; printf("list\n"); for(p = q;p != NULL;p = p->next){ printf("%d\n"p->data);}} main(int argc, char *argv[]) { int i, val, n; head = NULL; n = atoi(argv[1]); for(i = 0;i < n; i++){ scanf("%d",&val); add_head(val);} print_list(head); return(0);} コンパイルしてみた結果二箇所にエラーが発生しました 間違えたどころどうか直してもらえないでしょうか お願いします
543 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 21:40:46 ] >>542 宿題スレに回答あげたぞ
544 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 18:40:58 ] 保守
545 名前:00ち [2007/11/08(木) 16:19:05 ] [1] 授業単元: [2] 問題文(含コード&リンク):0〜99までランダムで得た値の平均と総計を求めるプログラムですが currentを使い、書き直したいですが教えてください。 #include <stdio.h> #include <time.h> #include <stdlib.h> int main(void) { int rints[30]; int i, sum=0; int j = 0; float avrg; srand((unsigned)time(NULL)); for(j=0; j<1; j++){ printf("\n"); for(i=0; i<30; i++) { rints[i] = rand()%100; printf( " %d ", rints[i] ); sum += rints[i];} printf("\n"); avrg = sum / 10.f; printf( " 総計: %d , 平均: %.2f\n", sum, avrg ); sum = 0; } return 0;} [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: C [4] 期限:本日 [5] その他の制限:なし
546 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 16:22:06 ] [1] 授業単元: [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5226.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 11月9日10:00まで] [5] その他の制限: 特にありません どうぞよろしくお願いします
547 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 16:23:36 ] >>546 マルチ乙 pc11.2ch.net/test/read.cgi/tech/1194262698/120
548 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 18:27:33 ] >>545 currentってなんでつか?
549 名前:デフォルトの名無しさん [2007/11/08(木) 20:09:20 ] 任意の自然数をキーボードから入力し、 素因数分解を行った結果を画面に出力するプログラムを作成すること この問題をお願いします(^^)
550 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 20:35:22 ] >>549 任意と言うことは、グーゴルプレックスも入力できないとダメかしら。 む、難しいなぁ。
551 名前:デフォルトの名無しさん [2007/11/08(木) 20:50:11 ] 数字を入力して因数分解するだけでいいです
552 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 21:13:54 ] >>549 ヒント: テンプレ
553 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 21:16:26 ] #include <stdio.h> int main(void) { int i, n; scanf("%d", &n); for(i=2; i<n; ) { if(n%i==0) { printf("%d * ", i); n /= i; } else i++; } printf("%d\n", n); return 0; }
554 名前:デフォルトの名無しさん [2007/11/09(金) 00:19:57 ] 11月10日までなので急いでください。お願いします。ちなみに、 for文とif文だけでお願いします(^_^)
555 名前:デフォルトの名無しさん [2007/11/09(金) 00:30:39 ] ありがとうございました。o(^o^)o 本当に助かります。o(^ヮ^)o
556 名前:グーゴルプレックスは10の(10の10乗)乗だっけ? mailto:sage [2007/11/09(金) 10:28:31 ] >>551 だから、どんな数字? 単に「任意」では巨大な数字も入力できないといけないのか、 それとも1000程度の数字まで出いいのか判らないでしょ。
557 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 15:47:42 ] >>556 じゃあ巨大な数のほうで
558 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 06:29:06 ] JavaでいうところのBigIntegerを作れというのか アホか
559 名前:デフォルトの名無しさん [2007/11/16(金) 11:56:40 ] da
560 名前:デフォルトの名無しさん [2007/11/16(金) 12:02:00 ] [1]C言語上級 [2] 入力ファイルフォーマット: source-node destination-node packet-loss-rate a b 0.3 a c 0.1 . z w 0.9 Step1: 二行目からデータを読み込みます.例えば,node a から node bまで のパケット損失率0.3から最後までに読むこと.ノードペア毎のパケット損失率 を記録する. ※ 下記変数が必要 char *node_pair_name[1000]; //ノードペア名を記録する,行ごとは一記録と します.何行があるならば,何個の記録がある.後で使う. double packet_loss_rate[1000];//ノードペア毎に記録する, Step2: 読み込んだデータpacket_loss_rateをJI(double *x, int n)に 渡して,JIを計算します. Step3: JI出力 以上のプログラムを作りなさい [3]C言語 [4]11月18日 このプログラムがわかりません.よろしくお願いします.
561 名前:デフォルトの名無しさん [2007/11/16(金) 14:39:57 ] [1] 授業単元: C [2] 問題文:????を埋めよ [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: 任意 [3.3] 言語: (C [4] 期限:2007 11.16
562 名前:デフォルトの名無しさん [2007/11/16(金) 14:43:32 ] #include <stdio.h> #include <stdlib.h> #define NMAX 20 /* リストの構成要素となる構造体 node_tag */ struct node_tag { int num; char name[NMAX]; ??????? /* 自己参照:次のデータへのポインタ next */ }; int main(void) { /* 12の要素をもつ構造体配列の定義 */ struct node_tag Month[12] = { {1, "January", NULL}, {2, "February", NULL}, {3, "March", NULL} }; struct node_tag *p; /* ポインタ p */ ??????? p=&Month[0]; while (p!=NULL){ printf("%d %s\n", ???????, ???????); /* p の num と p の name を表示する */ p=??????? /* p を p の next とする */ } return 0; }
563 名前:デフォルトの名無しさん [2007/11/16(金) 14:44:58 ] #include <stdio.h> #include <stdlib.h> #define MAX 20 #define MMAX 100 struct node_tag { int num; char name[NMAX]; ??????? /* 自己参照:次のデータへのポインタ */ }; int main(void) { struct node_tag Meibo[MMAX]; /* 構造体配列の定義 */ int n=0; /* 配列の番号を格納する整数 n,初期値は 0 */ struct node_tag *head, *p; /* リストの先頭を指すポインタ head,新しく追加するノードを指すポインタ p */ head=NULL; while ( scanf("%s", ???????) != EOF ){ Meibo[n].next=???????; /* 新しく追加するノード(Meibo[n]) の next が指すものは? */ head=???????; ???????=n++; /* Meibo[n] の num に配列番号を格納する整数を入れる */ } p=head; while (p!=NULL){ printf("%d %s\n", ???????, ???????); /* p の num と p の name を表示する */ p=???????; /* p を p の next とする */ } return 0; } 以上の二つです 見づらいですが解答おねがいします
564 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 19:05:15 ] ????なんて無くね?
565 名前:デフォルトの名無しさん [2007/11/16(金) 19:47:55 ] ?の個数が違うのはスルーで^^;
566 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 20:10:01 ] s/\?/梅/g
567 名前:デフォルトの名無しさん [2007/11/16(金) 21:21:42 ] [1] 授業単元:プログラミング、関数基礎 [2] 問題文(含コード&リンク): メイン関数において、2つの放物線 y=ax2+bx+c y=px2+qx+r の係数a、b、c、p、q、rをキーボードから入力し、その数値を関数に引数として渡す。 関数はその数値を用いて2曲線の交点の有無を調べ、その交点の個数を戻り値とし てメイン関数に渡す(交点が無い場合は0、交点が1つの場合は1、交点が2つの場 合は2、交点が無限に存在する場合はー1を戻り値にする)。また関数は、もし交点が 有限個存在するならばそれらの交点の座標値をメイン関数に渡す。メイン関数は関数 から得たこれらの情報を得て、交点の個数を画面に表示し、さらにもし交点が有限個 存在するならばそれらの座標値を画面に表示する。そのようなプログラムを作成せよ。 [3] 環境 [3.1] OS:Windows [3.3] 言語:C [4] 期限: 2007年11月19日 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) C言語の基礎しか習っていません。 どなたかよろしくお願いします。
568 名前:デフォルトの名無しさん [2007/11/17(土) 02:24:01 ] [1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク): @ 3×10の2次元配列を用意する。 A キーボードから任意の文字列を3つ入力し、配列に入れる。 B その入力データーから文字tがあるかどうかを判定し、見つけた場合、下図のように その2次元配列の場所をすべて画面に表示し、見つけた個数も表示する。 入力データ;Computer、Data、Internet 図 [0]行目の文字列を入力_>Computer [1]行目の文字列を入力_>Data [2]行目の文字列を入力_>Internet [0]行目[5]列目に文字tを発見 [1]行目[2]列目に文字tを発見 [2]行目[2]列目に文字tを発見 [2]行目[7]列目に文字tを発見 文字tを全部で4文字見つけました [3.1] OS: Windows [3.2] コンパイラ名とバージョン: 指定なし [3.3] 言語: C [4] 期限: 2007年11月19日 [5] その他の制限: 特にありません。お手数ですがよろしくお願いします。
569 名前:デフォルトの名無しさん [2007/11/17(土) 02:25:23 ] 1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク): @ 3×10の2次元配列を用意する。 A キーボードから任意の文字列を3つ入力し、配列に入れる。 B その入力データーから文字tがあるかどうかを判定し、見つけた場合、下図のように その2次元配列の場所をすべて画面に表示し、見つけた個数も表示する。 入力データ;Computer、Data、Internet [0]行目の文字列を入力_>Computer [1]行目の文字列を入力_>Data [2]行目の文字列を入力_>Internet [0]行目[5]列目に文字tを発見 [1]行目[2]列目に文字tを発見 [2]行目[2]列目に文字tを発見 [2]行目[7]列目に文字tを発見 文字tを全部で4文字見つけました [3.1] OS: Windows [3.2] コンパイラ名とバージョン: 指定なし [3.3] 言語: C [4] 期限: 2007年11月19日 [5] その他の制限: 特にありません。お手数ですがよろしくお願いします。
570 名前:デフォルトの名無しさん [2007/11/17(土) 02:44:53 ] >>569 static char inputbuf[REPEAT][BUFSIZE]; int main(void) { char *p = NULL; int nfound = 0, i; for (i = 0; i < REPEAT; i++) { printf("[%d]行目の文字列を入力_>", i); if (fgets(inputbuf[i], BUFSIZE, stdin) == NULL) { perror("fgets"); exit(1); } } for (i = 0; i < REPEAT; i++) { p = inputbuf[i]; while ((p = strchr(p, CHAR)) != NULL) { printf("[%d]行目[%d]列目に文字%cを発見\n", i+1, p-inputbuf[i]+1, CHAR); nfound++; p++; } } printf("文字%cを全部で%d文字見つけました\n", CHAR, nfound); return 0; }
571 名前:デフォルトの名無しさん [2007/11/17(土) 03:02:59 ] >>569 >>570 がコンパイルできなかったら、ソースの先頭に以下の行を追加シル。 それと多重投稿は、ヤメレ。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #define REPEAT 3 #define BUFSIZE 10 #define CHAR 't'
572 名前:デフォルトの名無しさん [2007/11/17(土) 03:25:36 ] 多重投稿すみません。図のところのずれが少し気になりましたので。
573 名前:デフォルトの名無しさん [2007/11/17(土) 03:26:38 ] あと助けてもらってありがとうございます。
574 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 03:49:02 ] ここのスレってもうひとつの宿題のスレとどうちがうの?
575 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 10:49:16 ] [1] 授業単元:統計学 [2] 問題文: 対数の足し算をするプログラムをつくれ。ただし計算 で用いるのはlog(x)=-1.966113,log(y)=-103.23,log(z)=-80.98,log(w)=0を用いよ。 (1)log(X+Y) (2)log(X+Y+Z) (3)log(W+X+Y+Z) x=0.14 x=0.000000000000000000422 y=0.000000000000000023134 w=1ですが、w,x,y,z,を足してlogかけた値が (4)になります。 しかしこの問題ではlogの値をexpかけずに計算せよ。 対数の足し算は以下を用いよ。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5273.txt [3] 環境 [3.1] OS: LINUX [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 11月17日24時 [5] その他の制限: お願いします。 それぞれ分けてつくってほしいんですが。
576 名前:デフォルトの名無しさん [2007/11/17(土) 19:16:23 ] 神経衰弱を行うゲームを作成すること。 ただし、カードは52枚全て使用し、絵柄の 区別は無いものとする。 このプログラムをお願いします。(^o^) 期限は、11月18日までです。
577 名前:デフォルトの名無しさん [2007/11/17(土) 23:14:10 ] ぼるじょあいないのかーい?
578 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/11/18(日) 01:42:53 ] (・3・) エェー 忙しいか酔っ払ってるかだお
579 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 03:17:08 ] 575 ですけどもうOKです。 小数点とlogの関係をみてみたら logの2くらいの差でもかなり大小ありました。
580 名前:デフォルトの名無しさん [2007/11/18(日) 16:06:09 ] C言語ではなく、Fortranなんですが宿題教えてくれませんか。 ・xとyの2つの数値の約数と最小公倍数、最大公約数を求めなさい。
581 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 16:09:52 ] >>580 C でやればいいんじゃないかな?
582 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 19:41:58 ] >>574 投稿が少ないから比較的スルーされにくいが、 能力が低いので難しい問題は解けない
583 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 19:47:17 ] >>580 Fortranつっても77と90じゃ違いすぎるんでどのFortranかハッキリしてもらえますか? あと期限と、xとyはキーボードから入力するのか、コードに直接書き込むのかその辺の所も ハッキリ書いて貰えますかね?
584 名前:デフォルトの名無しさん [2007/11/18(日) 21:01:50 ] 576ですけど、カードは54枚です。 期限は、明日までです。
585 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 21:16:06 ] 詳細な説明が全く無いし、テンプレに従ってないからできません
586 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 21:16:11 ] >>584 おお、期限が迫ってきて、じょじょに小出しの情報が揃ってきたな。 もう少し待てば、重要な情報が得られるかもな。
587 名前:デフォルトの名無しさん [2007/11/18(日) 21:17:49 ] 580ですが、f77でコンパイルしているので、たぶん77だと思います。 unix環境で、端末エミュレータからmuleを起動して、xとyをキーボードから 入力していますが、参考になりますでしょうか・・・
588 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 22:20:40 ] >>580 Fortranはほとんど使わないんで酷いコードだが取りあえず動くはず(Salford FTN77で作動確認) ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5294.txt
589 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/11/18(日) 22:58:20 ] >>576 (・3・) エェー カード枚数間違えちゃったYO! 直しておいてくれYO! ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5295.c #define CARD_NUM 14 ↓ #define CARD_NUM 54
590 名前:デフォルトの名無しさん [2007/11/19(月) 05:23:33 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):1次元変数c[2]を関数polyに送り、 c[0]x^2+c[1]x+c[2]=0の二つの解(実部と虚部:xre[2],xim[2])を polyから受け取って、2つの解を表示するプログラム (引数は、c,xre,ximとなる) [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: [2007年11月19日14:30まで] [5] その他の制限:なし 期限は短いですが、よろしくお願いします
591 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 11:18:55 ] [1] 授業単元:C++実習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5291.txt [3] 環境 [3.1] OS: XP VISTA [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語: C++ [4] 期限: 11/21 〜10:00 [5] その他の制限: 特になし よろしくお願いします。
592 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 13:15:11 ] >>590 出来たYO BCCだと発狂するYO ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5299.c
593 名前:デフォルトの名無しさん [2007/11/19(月) 14:48:36 ] >>592 ありがとうございました すごい助かりました
594 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 22:25:24 ] [1] 授業単元:C言語 [2] 問題文 ある打撃点から目標に向かってまと狙いを行い、命中させるプログラム。 打撃点から目標点までの距離、障害までの距離 障害の幅と高さ、および風速を初期設定条件とし、 ゲームをする時は距離と風速のみ表示 打撃点からの玉の発射角(θ)初速度(Vo)を設定すると到達距離を計算し 目標点との差を表示するプログラム 障害物に当たると失敗と表示させる。 目標点より手前に落ちても失敗と表示。 目標点からの玉の距離を表示させる。 [3] 環境 [3.1] OS: XP VISTA [3.2] コンパイラ名とバージョン: BCC [3.3] 言語: C [4] 期限: 11/21 〜9:30 [5] その他の制限: 特になし
595 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 23:15:08 ] XP VISTAって何?
596 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 02:02:35 ] xpとvista両方可能です、と
597 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 18:52:08 ] すいまんせん。マルチになってしまうのですが 時間がないのでこちらでできたらおねがいします。 [1] アルゴリズムとデータ構造 [2] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5300.txt [3] 環境 [3.1] Windows [3.2] Visual Studio 2005 [3.3] C [4] 期限: 11月20日
598 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/11/20(火) 18:55:29 ] >>597 (・3・) エェー 6 の部分しか変更しちゃダメなら無理だYO! gets について調べてみるといいYO!
599 名前:597 mailto:sage [2007/11/20(火) 19:30:36 ] >>598 6の部分しか変更しちゃいけないのは問2です。 問3はfgets使用OKです。 おねがいしますペコシ
600 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/11/20(火) 20:58:27 ] #include <stdio.h> #include <string.h> #include <stdlib.h> int main(void) { char buff[1002]; char *data[10000]; int kosu, i, j; kosu = 0; while(fgets(buff, sizeof(buff), stdin) != NULL) { if(strlen(buff) > 1000){ puts("入力が1000バイトを超えています"); for (i=0; i<kosu; i++)free(data[i]); return 0; } else if(kosu >= 10000){ puts("入力は10000個までです"); for (i=0; i<kosu; i++)free(data[i]); return 0; } data[kosu] = (char *) malloc( strlen(buff)+1 ); strcpy(data[kosu], buff); kosu = kosu + 1; }
601 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/11/20(火) 21:00:24 ] /* ソート */ for(i=0; i<kosu-1; i++){ for(j=i; j<kosu-1; j++){ if(strcmp(data[i], data[j+1]) > 0){ char *swap; swap = data[i]; data[i] = data[j+1]; data[j+1] = swap; } } } for (i=0; i<kosu; i++) free(data[i]); return 0; }
602 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 22:20:16 ] >>600 ,601 凄い助かりました! ありがとうございます。
603 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 01:44:37 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): 今a.txt,b.txt,c.txt,d.txt,e.txtというファイルがある。(これらのファイルを<1>) それぞれのファイルには「a」「b」「c」「d」「e」とかかれている。 また,A.txt,B.txt,C.txt,D.txt,E.txtというファイルがある(これらのファイルを<2>) それぞれのファイルには「A」「B」「C」「D」「E」とかかれている。 <1>のファイルと<2>のファイルを読み込んでその中身を aA aB aC aD aE bA bB という風に表示せよ。つまり25行になります。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限:2007/11/22 24:00まで [5] その他の制限:fscanfで読み込んでほしいんですが まあ自分が作りたいのは5個のファイルと別の5個のファイルを 最初の5個のうちの1つのファイルに対して別の5個のファイルをつかって5つの 値を出すみたいな。で25個の値が出したいんです。
604 名前:ぼるじょあ ◆hZ8e4Wjqvw mailto:sage [2007/11/22(木) 02:36:49 ] >>603 (・3・) エェー これでいいのかYO! #include <stdio.h> #include <stdlib.h> #include <string.h> #define NELEMS(arr) (sizeof(arr)/sizeof(arr[0])) char **get_list(char *fname_list[], int fname_num){ int i; char **ret, buf[100+1]; FILE *fp; ret=malloc(sizeof(*ret)*fname_num); for(i=0;i<fname_num;i++){ fp=fopen(fname_list[i], "r"); if(fp==NULL || fscanf(fp, "%100s", buf)!=1){fclose(fp);free(ret);return NULL;} ret[i]=strdup(buf); fclose(fp); } return ret; } int main(void){ char *one[]={"a.txt", "b.txt", "c.txt", "d.txt", "e.txt"}; char *two[]={"A.txt", "B.txt", "C.txt", "D.txt", "E.txt"}; char **buf_one, **buf_two; int i, j; buf_one=get_list(one, NELEMS(one)); buf_two=get_list(two, NELEMS(two)); if(buf_one==NULL || buf_two==NULL) return 1; for(i=0;i<NELEMS(one);i++) for(j=0;j<NELEMS(two);j++) printf("%s%s\n", buf_one[i], buf_two[j]); return 0; }
605 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 02:49:10 ] >>603 a.txt と A.txt が私のPCでは作れなかったんだけどやってみました。 意図は不明ですが仕様はこれで満たしているはず #include <stdio.h> #include <stdlib.h> int main(void) { char *fname[2][5] = { {"a.txt","b.txt","c.txt","d.txt","e.txt"}, {"1.txt","2.txt","3.txt","4.txt","5.txt"}, }; FILE *fp; char ch[2]; int cnt = 0, idx = 0; for (cnt=0; cnt<sizeof(fname[0])/sizeof(fname[0][0]); ++cnt) { for (idx=0; idx<sizeof(fname)/sizeof(fname[0]); ++idx) { if ((fp = fopen(fname[idx][cnt], "r")) == NULL) exit(1); fscanf(fp, "%c", &ch[idx]); fclose(fp); } printf("%c%c\n",ch[0], ch[1]); } return 0; }
606 名前:605 mailto:sage [2007/11/22(木) 02:51:19 ] 被ったしよくみたら全然違いました。すみませんでしたm(_ _)m
607 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 08:47:28 ] >604 ありがとう
608 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:30:46 ] [1] 授業単元:確率論 [2] 問題文(含コード&リンク): この図のような状態遷移をして kossie.net/up/src/kos1247.jpg 最終的にendにきたときの状態確率を出したいんですけど。 この下のプログラムは小数で計算しています。概要に付いても 説明しています。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5311.c この状態確率を対数で計算して、上のプログラムでの値といっしょになるよう にしたいんですけど。 logの加算には場合わけが必要で、そのプログラムは作りました。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5312.c logの計算途中で-infとかnanとかでてくるので それを調べるためにprintf文大量に使ってますけど みにくかったら消してください。 小数計算は0*0.5で0になるからいいですけどlogはそうはいかないですから。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: c [4] 期限: 24日まで [5] その他の制限: 特になし
609 名前:デフォルトの名無しさん [2007/11/24(土) 07:42:36 ] ほかで質問しましたが解答がないので、まじでお願いします!! [1] 授業単元: システム解析 [2] 問題文(含コード&リンク):2変数非線形連立方程式の解を求めるnewton-rapson法のプログラムを作成し以下の問題を解け @x^2+y^2-8=0 と x+y=0 で初期点(x(x0),y(y0))∈[-4,-4]×[4,4]を10000個とり、初期点に対する収束値の関係を2次元で図示する。 収束値の関係の座標を出すこと。 Ax^3-3xy^2-8=0 と x^3-3x^2y=0 で初期点(x(x0),y(y0))∈[-1/2,-1/2]×[1/2,1/2]を10000個以上(百万個程度を推奨する)とり、初期点に対する収束値の関係を2次元で図示する。 収束値の関係の座標を出すこと。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: ([2007年11月25日23:00まで] [5]その他:^は累乗を示します。たとえば、x*x=x^2です。 2問ありますが、一問だけでもといていただけると助かります。2変数ということで手も足もでません、、、 よろしくお願いします。
610 名前:デフォルトの名無しさん [2007/11/24(土) 15:47:30 ] [1] 授業単元: プログラミング演習 [2] 問題文 CD−Rは1枚〜10枚で1枚が100円、11枚から100枚で1枚が90円、101枚以上で1枚が70円とする。枚数nに対する金額を計算するプログラムを作成しなさい。終了時にはCtrl+Z(Enter)と入力する [3] 環境 [3.1] OS:Windows [3.3] 言語:C [4] 期限: 11/30 [5] その他の制限: 特になしです。お願いします。
611 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 19:16:03 ] >>610 #include <stdio.h> #include <conio.h> int main(void) { int num, price; printf("CDの購入枚数を入力してください->"); scanf("%d", &num); if(num < 0) return 1; else if(num < 11) price = num * 100; else if(num < 101) price = num * 90; else price = num * 70; printf("合計金額は %d 円です。\n", price); _getch(); return 0; }
612 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 19:22:48 ] >>610 これ、10枚買うときは 11 枚買って一枚捨てるとか、 79枚買うときは 101枚買って 22枚捨てるとかやるの?
613 名前:612 mailto:sage [2007/11/24(土) 20:55:23 ] >>610 ということで作ってみた #include <stdio.h> int main(void){ int price[]={100,90,70,-1}; int number[]={1,11,101,-1}; int i,ret,pr,minpr,num,index,sute,s; for(;;){ ret=scanf("%d",&num); if(ret==EOF){break;} if(ret!=1){scanf("%*c");fprintf(stderr,"入力エラー\n");continue;} for(i=0;number[i]!=-1;i++){ if(num>number[i]){pr=num*price[i];s=0;} else{pr=number[i]*price[i];s=number[i]-num;} if(i==0 || pr < minpr){index=i;minpr=pr;sute=s;} } if(sute==0){printf("%d 円\n",minpr);} else{printf("%d 円で %d 枚買って、 %d 枚捨てて下さい\n",minpr,number[index],sute);} } }
614 名前:デフォルトの名無しさん [2007/11/24(土) 21:53:13 ] >>611->>613 大変ありがとうございます。 >>612 そういう作業は必要ないと思います。
615 名前:デフォルトの名無しさん [2007/12/01(土) 13:07:17 ] 1] 授業単元:プログラミング言語 [2] 問題文 キーボードから実数を5個入力し、その入力データのうち3つのデータから実数の 平均値を求める。 求める平均は最初のデータから3個分、次のデータから3個分および3番目の データから3個分の計3種類とする。 平均をするプログラムは関数化すること引数で値を渡すようにすること。 入力データ 1、1 1、2 1、3 1、4 1、5 [3] 環境 [3.1] OS: windows xp [3.2] コンパイラ名とバージョン: 特に指定なし [3.3] 言語: C [4] 期限: 12月3日 18時 [5] その他の制限: 特になし
616 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/01(土) 18:09:32 ] >>615 #include <stdio.h> double average(double a, double b, double c){ return (a + b + c)/3.0; } int main(void){ double input[5]; int i; for(i=0; i<5; i++){ printf("%dつ目->", i+1); scanf("%lf", &input[i]); } for(i=0; i<3; i++)printf("%d-%d:%f\n", i+1, i+3, average(input[i],input[i+1],input[i+2])); return 0; }
617 名前:デフォルトの名無しさん [2007/12/01(土) 18:38:10 ] 615ですが、ありがとうございます。
618 名前:デフォルトの名無しさん [2007/12/02(日) 03:35:37 ] あげ
619 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 06:37:09 ] ■最近流行りのSM系サイトを知っていますか? それは「SMプレイをすること」を最終目的とした人達が集まる出会い系サイトのことです。 普通の出会い系サイトと一味違った、熱い出会いが全国各地で繰り広げられています。 《ブログ SM系サイトが会える訳》 smsite.blog123.fc2.com/ ブログでは管理人一押しのSM系サイトを紹介しています。 是非ご利用下さい。
620 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 11:54:57 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):西暦y年m日d日の前の日と次の日の日付を求めてセットする関数 Lv1:大小の月はなし(各月の日数は30日、閏年なし(一年は360日) Lv2:大小の月あり(30日の月と31日の月を考慮する。 Lv3:大小の月あり(30日の月と31日の月を考慮する。)閏年あり [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名:gcc [3.3] 言語: C [4] 期限: 12月6日 [5] その他の制限: ポインタまで習ってます。
621 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 13:56:18 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 数字を十五個入力し、その中から五番目に大きい数値を求める [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Visual Studio.NET [3.3] 言語:C [4] 期限:12月2日 24:00] [5] その他の制限: forとifを使ったものでお願いします
622 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/02(日) 14:16:48 ] >>620 (・3・) エェー プロトタイプ宣言希望 y,m,dの3つを引数で受けるのはわかるけど 前の日と次の日の格納をどうするのか不明だYO まさか引数9個ですKA?
623 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/02(日) 14:27:07 ] >>621 #include <stdio.h> int main(void){ int input[15], i, k; for(i=0; i<15; i++)scanf("%d", &input[i]); for(i=0; i<5; i++){ for(k=i+1; k<15; k++){ if(input[i] < input[k]){ int swap = input[i]; input[i] = input[k]; input[k] = swap; } } } printf("五番目に大きい数値:%d\n", input[48]); return 0; } (・3・) エェー 並べ替えて5番目見てるだけだがYO もしかして、 例えば9 9 9 9 9 9 9 9 9 9 8 7 6 5 4って入力されたら 答えは5になる?
624 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 14:28:54 ] ちょ、48w
625 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/02(日) 14:37:00 ] >>624 (@3@) エェー マジか!
626 名前:620 mailto:sage [2007/12/02(日) 16:02:28 ] >>622 void yesterday(int*y,int*m,int*d){/* */} void tomorrow(int*y,int*m,intd){/* */} プログラミング苦手なのでよくわからないですが こうかかれてました。
627 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 16:55:41 ] void yesterday(int*y,int*m,int*d) { struct tm tmp = {0, 0, 0, *d - 1, *m - 1, *y}; mktime(& tmp); *y = tmp.tm_year; *m = tmp.tm_mon + 1; *d = tmp.tm_mday; } void tomorrow(int*y,int*m,intd) { struct tm tmp = {0, 0, 0, *d + 1, *m - 1, *y}; mktime(& tmp); *y = tmp.tm_year; *m = tmp.tm_mon + 1; *d = tmp.tm_mday; }
628 名前:デフォルトの名無しさん [2007/12/02(日) 18:52:38 ] 1] 授業単元:C言語 [2] 問題文:次のデータに対して0≦x≦1.4の範囲で、台形公式により面積を求めよ。 データ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5355.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: [3.3] 言語: C [4] 期限: 2007年12月3日まで [5] その他の制限:1.入力はテキストファイルからやると楽 2.出力はディスプレイ上でOK お願いします。
629 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 20:23:34 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク):長いので。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5377.txt こいつの(i)です。 [3] 環境 [3.1] OS: vineLinux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 明日提出なんでできれば今日のうちにお願いします [5] その他の制限: 特になしでいいと思います。 自分なりに書いてみたソース kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5378.txt 繰り返しがうまくできません。 よろしくお願いします。
630 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/02(日) 23:32:28 ] >>628 (・3・) エェー で、どんな式?
631 名前:628 [2007/12/02(日) 23:45:11 ] なんとか自力でできました。 homoじょあさん レスしてくれてありがとうございます。
632 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/02(日) 23:50:08 ] (・3・) アルェー そりはよかったですYO
633 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 00:01:17 ] [1] 授業単元:プログラミング実習 [2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5381.txt この問題内の「動的な多次元配列の手法」の1〜3は ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5382.txt ←にあります 課題1は何とかなりました→ ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5384.txt です これを改良して課題2,3へ行くので、上げさしていただきました [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: bcc32 [3.3] 言語: C言語です [4] 期限: 金曜日までです [5] その他の制限: 特にありません 宜しくお願いします
634 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/03(月) 00:33:08 ] >>629 (・3・) エェー めんどいから1ファイルにしちゃったYO 適当に分けてNE kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5385.txt
635 名前:629 mailto:sage [2007/12/03(月) 01:03:25 ] >>634 あざっす。と言いたいけどレベルたけえw これ提出したら絶対怪しまれる でも制限なしとか書いちゃったの自分なんで あとは自力でがんばります
636 名前:デフォルトの名無しさん [2007/12/05(水) 10:51:31 ] [1] 授業単元:C言語 [2] 問題文 まず、次のメンバを持つ構造体をtypedef宣言を使用し、data型として準備しなさい。 ただし、typedef宣言において構造体タグ名は省略しなさい。 char型の配列変数id(配列サイズ:8)、int型の変数n main関数では、このdata型の変数personを宣言し、そのメンバidを 012345、nを25として初期化する。 続いて、実行結果に示すように「学籍番号・・・の現在の得点:」とともにpersonのメンバidとnを表示した後、personをadd_num関数に渡す。 さらにadd_num関数から戻る値をpersonに格納し、「学籍番号・・・の総合得点:」とともにpersonのメンバidとnを表示するプログラムを作成しなさい。 ただし、add_num関数は、data型の構造体person2に受取った内容を格納し、「今回の得点は60点満点で何点ですか?」の質問とともにキーボードによりint型変数cに得点を入力した後、person2のメンバnにcの値を加算し、person2の内容を返すように作成しなさい。 [3] 環境 [3.1] OS: Windows XP [3.2] visual studio 2005 [3.3] 言語: C [4] 期限: 12月6日9:30 実行結果例 学籍番号012345の現在の得点:25 今回の得点は60点満点で何点ですか? 45 学籍番号012345の総合得点:70 よろしくお願いします
637 名前:デフォルトの名無しさん [2007/12/05(水) 10:54:34 ] [1] 授業単元:C言語 [2] 問題文 まず、次のメンバを持つ構造体をtypedef宣言を使用し、data型として準備しなさい。 ただし、typedef宣言において構造体タグ名は省略しなさい。 char型の配列変数id(配列サイズ:8)、int型の変数n main関数では、このdata型の配列変数personを配列サイズ5で宣言する。 続いて、person[0]、person[1]、person[3]、person[3]、person[5]の順にこれらの内容を一つずつadd_num関数に渡し、その都度add_num関数から戻る内容をperson[0]、person[2]・・・に格納する。 その後、5つのperson[i]のメンバidとnを「学籍番号・・・の得点」として表示するプログラムを作成しなさい。 ただし、add_num関数は、data型の構造体person2に受取った内容を格納し、「学籍番号7桁を入力してください。」の質問とともにキーボードによりperson2のメンバidに学籍番号を入力、 また、「今回の得点は何点ですか?」の質問とともにキーボードによりperson2のメンバnに得点を入力し、person2の内容を返すように作成しなさい。 [3] 環境 [3.1] OS: Windows XP [3.2] visual studio 2005 [3.3] 言語: C [4] 期限: 12月6日9:30 実行結果例 学籍番号7桁を入力してください。 0123456 今回の得点は何点ですか? 70 学籍番号7桁を入力してください。 0124680 今回の得点は何点ですか? 80 学籍番号0123456の得点:70 学籍番号0124680の得点:80 よろしくお願いします
638 名前:デフォルトの名無しさん [2007/12/05(水) 18:11:43 ] [1] 授業単元:C言語 [2] 問題文 int型の値を変数bで受け取り、次の演算を行ってbの値を返すadd_num関数を作成しなさい。 [add_num関数内の処理] 「今回の得点は60点満点で何点ですか?」と画面表示した後、キーボードからint型変数cに値を入力する。 続いて、変数bにcの値を加算し、bの値を返す。 次に、main関数でint型変数nを値25で初期化し、nの値を「現在の得点:」とともに表示した後、add_num関数にnの値を渡す。そしてadd_num関数が返した値を再び変数nに格納し、nの値を「総合得点:」とともに右のように表示するプログラムを作成しなさい。 [3] 環境 [3.1] OS: Windows XP [3.2] visual studio 2005 [3.3] 言語: C [4] 期限: 12月6日9:30 実行結果例 現在の得点:25 今回の得点は60点満点で何点ですか? (48) 総合得点:73 ()はキーボード入力
639 名前:デフォルトの名無しさん [2007/12/05(水) 18:15:09 ] [1] 授業単元:C言語 [2] 問題文 まず、次のメンバを持つ構造体をtypedef宣言を使用し、data型として準備しなさい。 ただし、typedef宣言において構造体タグ名は省略しなさい。 char型の配列変数id(配列サイズ:8)、int型の変数n main関数では、このdata型の変数personを宣言し、そのメンバidを 012345、nを25として初期化する。 続いて、実行結果に示すように「学籍番号・・・の現在の得点:」とともにpersonのメンバidとnを表示した後、personのメンバnのみの値をadd_num関数に渡す。 さらにadd_num関数から戻る値をpersonのメンバnに格納し、「学籍番号・・・の総合得点:」とともにpersonのメンバidとnを右のように表示するプログラムを作成しなさい。 ただし、add_num関数は、int型の変数bに受取った値を格納し、「今回の得点は60点満点で何点ですか?」の質問とともにキーボードによりint型変数cに得点を入力した後、変数bにcの値を加算し、bの値を返すように作成しなさい。 [3] 環境 [3.1] OS: Windows XP [3.2] visual studio 2005 [3.3] 言語: C [4] 期限: 12月6日9:30 実行結果例 学籍番号012345の現在の得点:25 今回の得点は60点満点で何点ですか? (45) 学籍番号012345の総合得点:70 ()はキーボード入力 よろしくお願いします
640 名前:デフォルトの名無しさん [2007/12/08(土) 13:48:01 ] 1] プログラミング基礎 [2]• 3×3の2次元配列を用意する.これは外部変 数とする. • キーボードから任意の実数を9個入力し,順番 に配列にいれる.([0][0]->[0][1]->[0][2]->....) • その入力データから3×3の配列の縦と横のそ れぞれの平均(実数)を求め,画面に表示する. なお,平均を求めるプログラムは関数化するこ と.(引数は使わないように) • 入力データ – 1.1 1.2 1.3 1.4 1.5 ・・・・ [3] 環境 [3.1] Windows [3.2] コマンドプロンプト 秀丸 [3.3]言語 C [4]期限 月曜日18:00 [5] よろしくお願いします。
641 名前:デフォルトの名無しさん [2007/12/08(土) 14:33:50 ] [1] 授業単元: コンピュータープログラミング [2] 問題文 1日目はn円、2日目はn*2円、と前日の倍額を貯金したら何日で1000万円を超えるか?貯金の合計金額は?を計算するプログラムを作成しなさい。ただし、利子は考えないものとする。 [3] 環境 [3.1] OS:Windows [3.3] 言語:C [4] 期限: 12/14 [5] その他の制限: 可能ならホワイル文使用でお願いします。
642 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 19:51:24 ] >>640 出来たYO〜 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5433.c >>641 longで十分だけどunsigned longにしてみたYO 〜 #include<stdio.h> int main(void){ unsigned long int n,d; d=1; printf("1日目の金額:"); scanf("%d", &n); while(n < 100000000){ n=2*n; d=d+1; } printf("%d日で1000万円を超えます\n",d); printf("%d日目の金額%u円",d,n); return 0;
643 名前:デフォルトの名無しさん [2007/12/10(月) 20:44:24 ] [1] 授業単元: C++ [2] 問題文:以下のような、クラスphdataを作成せよ ・身長(cm)と体重(kg)を格納する変数をもつ ・コンストラクタで、各変数に値を格納させる ・オブジェクトを浮動小数点数に変換した際には、BMI値を返すようにする そしてmain()関数で、簡単な動作確認を行うこと。 ※BMI = 体重(kg) / [身長(m)×身長(m)] [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:Visual Studio 2005 [3.3] 言語:C++ [4] 期限: 12/20 [5] その他の制限: なし
644 名前:デフォルトの名無しさん [2007/12/10(月) 21:38:24 ] 内容: [1] 授業単元:c++基礎 [2] 問題文 1: 1000以下の素数をかぞえるプログラムを作り そのプログラムについて実行時間をTIME、timeのそれぞれ方法で測定しなさい。 ただし、TIME、timeの精度はそれぞれ1桁、2桁とする。また、そのプログラムをコンパイルしたコマンドを用い、 サンプルプログラムに手を加えてはいけない。つまり、この評価ではプログラムをメモリに読み込む時間も含まれる。 2つの方法の実行時間を比較し、どちらが早いか答えよ 2:second.exeの応答時間を測定せよ。なお、有効数字は2桁とする 3:起動時間を有効数字2桁まで測定するプログラムを作り、1で作ったプログラムの一部(外側のfor文全体)の起動時間を測定せよ [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: Visual Studio 2003 [3.3] 言語:C++ [4] 期限:[2007年12月12日23:59まで]
645 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/10(月) 22:13:26 ] >>643 #include <iostream> using namespace std; class phdata{ private: double height, weight; public: phdata(double height, double weight); operator double(); }; phdata::phdata(double height, double weight){ this->height = height; this->weight = weight; } phdata::operator double(){ return weight*10000/(height*height); } int main(){ phdata data(172.5, 75.4); cout << "BMI:" << (double)data << endl; return 0; }
646 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/10(月) 22:18:24 ] (・3・) エェー TIMEとtimeって知らないYO サンプルてなんだYO
647 名前:664 [2007/12/11(火) 00:16:39 ] すいません・・ いろいろとぬけてました TIME=TIMEコマンド time=time関数 サンプルプログラム=1000以下の素数を数えるプログラムです 申し訳ございません
648 名前:664 mailto:sage [2007/12/11(火) 01:31:02 ] すいません・・あとひとつ second.exeってのは @echo off second.exe FOR /L %%I IN (1,1,10000) DO A.exe >NUL second.exe PAUSE
649 名前:デフォルトの名無しさん [2007/12/11(火) 07:56:25 ] >>645 助かりました、ありがとうございます
650 名前:デフォルトの名無しさん [2007/12/11(火) 16:31:53 ] 符号無し整数を左右にシフトした値が、2のべき乗での乗算や除算と等しくなることを確認するプログラムを作成せよ 誰か助けて
651 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 19:45:52 ] hoge1 = x >> 1; hoge2 = x << 1; hoge3 = x * 2; hoge4 = x / 2; hoge1から4をprintfで確認してみてはどうだろう。 xはunsigned int型変数で値は適当で構わない。
652 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 20:14:14 ] >>650 たまたまサンプルしたものが一致するだけじゃ「確認」って言わないんだろうな。 やっぱ0から計算できる限界までシフトと乗算、除算が一致することを 全部調べるんだろうね。
653 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 09:59:40 ] #include <stdio.h> #include <limits.h> int main(void){ unsigned int i=0; while(1){ if((i<<1)!=(i*2)){ printf("%uで乗算と左シフトが異なる。\n",i); break; } if((i>>1 )!=(i/2)){ printf("%uで除算と右シフトが異なる。\n",i); break; } if(i==UINT_MAX){ printf("%uまで同じだと確認した。\n",i); break; } ++i; } return 0; }
654 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/12(水) 22:26:26 ] >>647-648 (・3・) エェー さっぱりわからないごめんNE
655 名前:デフォルトの名無しさん [2007/12/13(木) 13:31:45 ] [1] 授業単元:C [2] 問題文):@「ファイル名を受け取って,ファイルが読み込みモードでオープンできれば1を返し,オープンできなければ0を返す」関数 FileExist を作成する. コマンドラインから入力されたファイルの存在を,関数 FileExist を利用して確認する. ファイルが存在すればファイルの中身をそのまま表示するプログラムを完成しなさい. A以下のプログラムをもとにして,次の仕様を満たすプログラムを完成しなさい. コマンドラインからファイル名を受け取って,読取りモードでオープンすることによりそのファイルの存在を確認する. シークする位置とシークするバイト数を受け取って,その位置の文字のASCIIコード(10 進数)を表示する. [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: 任意 [3.3] 言語: C [4] 期限: 2007年12月d14日16:00まで [5] その他の制限: 特になし
656 名前:デフォルトの名無しさん [2007/12/13(木) 13:33:59 ] #include <stdio.h> #include <stdlib.h> ??????? /* FileExist 関数の定義 */ int main(???????){ FILE *fp; int ch; if (???????){ printf("There is no FILE NAME. \n"); exit(1);} if (???????) { /* FileExistを利用 */ fp = ??????? while(???????){ putchar(ch);} ??????? }else { printf("FILE OPEN error. \n");} return 0; } ??????? { FILE *fp; if (???????) { return 0; } ??????? return 1; }
657 名前:デフォルトの名無しさん [2007/12/13(木) 13:35:28 ] #include <stdio.h> #include <stdlib.h> int main(???????){ FILE *fp; long pos; int i,j; if (???????) { printf("USAGE: %s \n", ???????); exit(1);} if (???????){ printf("FILE OPEN error: %s \n", ???????); exit(1); }else { printf("Input seek NO. :"); scanf("%ld", &pos); printf("Input seek BYTES:"); scanf("%d", &j); for (i=0; i < j; i++){ if (???????){ printf("seek ERROR. "); exit(1);} printf("%d byte: %d \n", i, ???????);} ??????? /* ファイルのクローズ */ }return 0; }
658 名前:デフォルトの名無しさん [2007/12/13(木) 13:36:21 ] 655,656,657の回答お願いします
659 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 15:49:19 ] >>656 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5490.c >>657 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5491.c
660 名前:デフォルトの名無しさん [2007/12/13(木) 16:09:14 ] 659の人回答サンクス!
661 名前:いときん [2007/12/14(金) 16:09:12 ] よろしくおねがいします。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=2876 96です。
662 名前:いときん [2007/12/14(金) 20:36:53 ] 上の補足です。 プログラミングのここをこうしたらもっとうまくいくよ、とかあったら、 訂正もよろしくおねがいします。 もうすこしかえられるとおもうので..
663 名前:デフォルトの名無しさん [2007/12/15(土) 09:10:16 ] 661,662です。 解決しました。 ありがとうございました。
664 名前:デフォルトの名無しさん [2007/12/15(土) 14:54:18 ] [1] 授業単元:プログラミング [2] 問題文:n個の数データをキーボードから入力し、最大値と最小値を求めるプログラムを作成しなさい [3.1] WindowsXP [3.2] コンパイラ名とバージョン: fujitu workbench v4.0L10 [3.3] 言語: C C++ [4] 期限: 12/21 [5] その他の制限:なし
665 名前:デフォルトの名無しさん [2007/12/15(土) 19:05:41 ] プログラミング基礎 [2]• ファイルから数値データを読み込み,その数値の平均をファイルに書き込むプログラ ムを作成する • 数値データは全部で100行(ファイルには実際に100 行以上存在している) ファイル名: kadai.datとする • 平均を書き込むファイル名はheikin.dat とする.平均はすべてのデータ(600個)の平 均とする [3] 環境 [3.1] Windows [3.2] コマンドプロンプト 秀丸 [3.3]C [4] 12月17日18時 [5]665のファイルを埋める形式です。よろしくお願いします
666 名前:デフォルトの名無しさん [2007/12/15(土) 19:09:06 ] すみません665のファイルです include "stdio.h" /* file_read 関数は【】内を記述する */ double file_read( void ) { 【 】 int i, j; double data[600]; double heikin; 【 】 for( i=0 ; i<600 ; i+=6 ) { for( j=0 ; j<6 ; j++ ) 【 】 } for( i=0, heikin=0.0 ; i<600 ; i++ ) { heikin += data[i]; } heikin /= 600.0; printf("heikin -> %lf\n",heikin); 【 】 return heikin; } /* file_write 関数の中身を全部記述すること */ void file_write( double heikin ) { /* ここの中身を記述する */ }
667 名前:デフォルトの名無しさん mailto:age [2007/12/15(土) 19:37:46 ] viptv.atspace.com/?X&1801726&0111@HiVisualAutoVideoPlayer
668 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/15(土) 21:18:16 ] >>664 #include <iostream> #include <vector> using namespace std; int main(){ vector<int> data; while(true){ int num; cout << "数値を入力:"; cin >> num; if(num < 0)break; data.push_back(num); } sort(data.begin(), data.end()); cout << "最大:" << data[data.size()-1] << endl; cout << "最小:" << data[0] << endl; }
669 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 19:04:59 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5533.txt [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: bcc32 [3.3] 言語: C [4] 期限: 2007/12/18 [5] その他の制限: 構造体を使う
670 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/16(日) 20:24:48 ] >>665 (・3・) エェー 結局100行なのか600行なのかわからんぜYO サンプルの読み込みファイルはないかYO あと、ソース内によくわからない2重ループがあるんだけど説明ないかNA?
671 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/16(日) 20:26:06 ] >>669 (・3・) エェー 構造体の定義どこだお?
672 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 22:29:40 ] >>671 struct sdate{ int year; int month; int day; };
673 名前:デフォルトの名無しさん [2007/12/17(月) 15:46:26 ] [1] 授業単元:C [2] 問題文: 問@以下のプログラムをもとにして,標準入力から受け取った文字を 「2進数表示したもの」と「その補数」を表示するプログラムを作成しなさい. ビット演算子を用いてプログラムを作成すること. 問A以下のプログラムをもとに,標準入力から0以上の整数を 1 つ受け取り (scanf を用いて整数を符号無し整数型 unsigned 型の変数に読み込む), 8で割った余りを計算するプログラムを作りなさい. ビット演算子を用いてプログラムを作成すること. [3] 環境 [3.1] OS:Windows xp [3.2] コンパイラ名とバージョン:任意 [3.3] 言語: C [4] 期限: ([2007年12月19日15:00まで] [5] その他の制限:特になし
674 名前:デフォルトの名無しさん [2007/12/17(月) 15:47:11 ] 問@ #include <stdio.h> #include <stdlib.h> void printBinary(char); int main(void) { char ch; printf("Input character: "); scanf("%c", &ch); printBinary(???????); printBinary(???????); return 0; } void printBinary(char x) { int i; for (i= ???????; ???????; i--) { ??????? } putchar('\n'); }
675 名前:デフォルトの名無しさん [2007/12/17(月) 15:49:48 ] 問A #include <stdio.h> #include <stdlib.h> void printBinary2(unsigned); int shou8(unsigned);int main(void) { unsigned n; printf("Input non-negative integer: "); scanf("%d", &n); printBinary2(???????); printBinary2(???????); printf("%d %% 8 = %d", n, shou8(n)); return 0; }void printBinary2(unsigned x){ int i; for (i = ???????; ???????; i--) { ???????} putchar('\n');} int shou8(unsigned x) {int i, j=1, sum=0; for (i = ???????; ???????; i++) { if( ??????? ){ ??????? } j *= 2; }return(sum);}
676 名前:デフォルトの名無しさん [2007/12/17(月) 15:50:32 ] 673 674 675です 回答お願いします
677 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/18(火) 00:22:29 ] >>672 (・3・) エェー 関数だけ作ってみた int preceedp(struct sdate d1, struct sdate d2){ if(d1.year < d2.year){ return 1; }else if(d1.year == d2.year){ if(d1.month < d2.month){ return 1; }else if(d1.month == d2.month){ if(d1.day < d2.day){ return 1; } } } return 0; } int succeedp(struct sdate d1, struct sdate d2){ return preceedp(d2, d1); } int samedayp(struct sdate d1, struct sdate d2){ if(d1.year == d2.year && d1.month == d2.month && d1.day == d2.day)return 1; return 0; } int compdate(struct sdate d1, struct sdate d2){ if(samedayp(d1, d2))return 0; if(preceedp(d1, d2))return 1; return -1; }
678 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/18(火) 22:27:24 ] >>673 void printBinary(char x){ int i; for(i=8; i>0; i--){ (128 & x) ? putchar('1') : putchar('0'); x = x << 1; } putchar('\n'); } (・3・)1の補数なら引数に「~ch」を渡せばいいお 2の補数なら引数に「~ch+1」を渡せばいいお
679 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/18(火) 22:33:53 ] >>673 (・3・) エェー 時間ないからAはダメぽ int shou8(unsigned x){ return x - (x >> 3) * 8; }
680 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/18(火) 22:34:32 ] (・3・) エェー 全くビット演算の意味ないよNE
681 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2007/12/18(火) 22:40:35 ] >>673 (・3・) エェー さすがに酷いから作り直した 今週の営業は終了致しましたYO int shou8(unsigned x){ int i, j=1, sum=0; for (i=0; i<3; i++) { if( j & x ){ sum += j; } j *= 2; } return(sum); }
682 名前:デフォルトの名無しさん [2007/12/21(金) 14:57:21 ] tanθの値を-360<=θ<=360の範囲で1°刻みにプログラムを作成すること。 ただし、tanは、自分で作った関数の中でのみ使用でき、θの値は mainの中で決定し、関数へと受け渡すこと。 プログラムの中身 -360,○○○ -359,○○○ ・ ・ ・ 360, ○○○ このプログラムをお願いします。
683 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 21:54:20 ] #include <stdio.h> #include <math.h> //円周率(double型の有効桁数までのつもり) #define PAI (3.141592651389793) double mytan(double dig) { if(fmod(dig+90,180)==0)//ex. 90,270... { //求められない return HUGE_VAL; } return tan(dig*PAI/180); } int main(void) { int dig; double val; for(dig=-360;dig<=360;dig++) { val=mytan(dig); printf("%+3d ",dig); if(val==HUGE_VAL) printf("エラー"); else printf("%lf",val); printf("\n"); } return 0; }
684 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 22:36:47 ] 穴でも掘るのか?
685 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 00:53:15 ] 中学1年のころの英語の授業の記憶より "カナダは大きい国です。"を英訳 (正)Canada is a big country. (誤)Canada is a dig country.
686 名前:デフォルトの名無しさん [2007/12/25(火) 13:58:30 ] [1] 授業単元:C [2] 問題文(含コード&リンク):A:0からある数値(NUM) までの合計を表示するプログラムを,以下の手順で作りなさい.B:課題A で作成したプログラムを修正して,NUM の値を変化させるプログラムを作成する [3] 環境 [3.1] OS: (Windows [3.2] コンパイラ名とバージョン: 任意 [3.3] 言語: C [4] 期限: ([2008年1月9日まで] [5] その他の制限:
687 名前:デフォルトの名無しさん [2007/12/25(火) 14:01:07 ] 問A ヘッダファイル kadai09a.h を作成し,NUM と関数hyoujiを定義する. ------------------------------------------------------------- #define NUM 5 extern void hyouji(int, int); ------------------------------------------------------------- 以下のプログラムをもとに, main関数の部分をソースファイル kadai09a.c に,関数 hyouji の部分をソースファイル kadai09a1.c に分割する. ------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> void hyouji(int, int); int main(void) { int i, n; int sum = 0; printf("Input non-negative integer: "); scanf("%d", &n); for (i = 1; i <= n; i++) { sum += i;} hyouji(n, sum); return 0; } void hyouji(int k, int m) { printf("The sum of 0 to %d : %d\n", k, m); } ------------------------------------------------------------- 作成した kadai09a.c, kadai09a1.c, kadai09a.h をコンパイルして実行する.
688 名前:デフォルトの名無しさん [2007/12/25(火) 14:03:04 ] ヘッダファイル kadai09b.h を作成し,NUM と関数hyouji と関数sum を定義する. ただし,NUM は,「マクロNUM が定義されていなければ,NUM=5 」と定義する. ------------------------------------------------------------- #define NUM 5 extern void hyouji(int, int); extern int sum(void); ------------------------------------------------------------- main関数の部分を,ソースファイル kadai09b.c で定義する. ------------------------------------------------------------- #include <stdio.h> /* おまじない */ #include <stdlib.h> /* おまじない */ int sum(void); void hyouji(int, int); int main(void) { hyouji(NUM, sum()); return 0; } ------------------------------------------------------------- 関数sum を,ソースファイル kadai09b1.c で定義する. ------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int sum(void) { int i, souwa=0; for (i = 1; i <= NUM; i++) { souwa += i;} } ------------------------------------------------------------- ここで示したサンプルプログラムでは動かないので,必要最小限の修正をしてプログラムを完成すること
689 名前:デフォルトの名無しさん [2007/12/25(火) 15:12:43 ] 【質問テンプレ】 [1] 授業単元:Cプログラミング実習 [2] 問題文(含コード&リンク): VC 6.0の環境で電卓の作成。 (1).加算を行う電卓の作成。(後に四則演算に対応させる) (2).エディットボックスに数値を入力し演算を行う。 (3).エディットボックスにプラス「+」、マイナス「-」、 スペース「' '」を入力されても演算可能にする。 (補足) C言語の初心者です。 今、VC 6.0の環境で電卓を作っています。 エディットボックスに数値を入力して計算させるプログラムなのですが エディットボックスにスペースを入力されても計算出来るようにしたいのですが解りません。 NULL文字をチェックすればよいのか、それとも「isspece」の関数を使って空白文字を 調べればよいか解りません。プラス「+」、マイナス「-」の符合が入力されても 計算出来るようには行えたのですが、どうしても空白(スペース)を入力された場合が、 うまくいきません。以下は作成途中のソースコードです。ここに付け加えるような コードで教えていただけると助かります。ご指導お願いします。 [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語: C,C++ [4] 期限: 2007年12月25日 [5] その他の制限:クラス使用不可
690 名前:デフォルトの名無しさん [2007/12/25(火) 15:14:49 ] >> 689の作成中のコードです。宜しくお願いします。 // OnButton1() ///////////////////////////////////////////////////////////////////// void CKasanDlg::OnButton1() { adding(); char num1[128],num3[128]; int i,length=strlen(&num1[0]); int numk,numl=0; m_num3.GetLine( 0, num3 ); numk = sscanf( num3, "%d", &numl ); for( i=0; i<length; i++ ){ isdigit( (int) num1[i] ); } if(( numk == -1 )){ MessageBox("数値を入力してください。"); // メッセージボックス } }
691 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 19:57:46 ] >>687 //kadai09a.h #define NUM 5 void hyouji(int,int); //kadai09.c #include "kadai09a.h" #include <stdio.h> //#include <stdlib.h>//いらなくね? int main(void) { //mainの内容を記述します。 } //kadai09a1.c #include <stdio.h> void hyouji(int k,int m) { printf("The sum of 0 to %d : %d\n", k, m); } コンパイラの使い方は誰かに聞け
692 名前:691 mailto:sage [2007/12/25(火) 20:02:06 ] すまん。問題よく読んでなかった。 kadai09a.cだけ変えてくれ。 #include "kadai09.c" int main(void) { int i,; int sum = 0; for (i = 1; i <= NUM; i++)sum += i; hyouji(n, sum); return 0; }
693 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 20:09:00 ] >>688 //kadai09b.h #ifndef NUM #define NUM (5) #endif void hyouji(int,int); int sum(void); //kadai09b.c #include "kadai09b.h" int main(void) { hyouji(NUM,sum()); return 0; } //kadai09b1.c //NUMを変えるのならここで定義すること //#define NUM (100) #include "kadai09b.h" int sum(void) { int souwa=0; for (i = 1; i <= NUM; i++)souwa+=i; return souwa }
694 名前:デフォルトの名無しさん [2007/12/26(水) 02:14:56 ] 別スレで答えてもらえなかったので、ここで頼みたいのですが・・ C++ Linux #include <stdio.h> #include <math.h> int x,y; { mi(x,y,a); } mi(x,y,a) int x,y; float a; { } return } ルーチンワーク内で、mi(x,y,a)という、 (x,y)にa倍の「み」という文字を表示するコマンドをつくりたいのですが どうやってつくればよいでしょうか? 1倍の「み」は横幅縦幅ともに50くらいとしておねがいします。 できればforなどの基礎構文で
695 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 07:33:29 ] >>694 情報量が少な過ぎ。用件をきっちり書くか、ちゃんとしたサンプルを提示してくれ。
696 名前:デフォルトの名無しさん [2007/12/26(水) 12:58:48 ] >>695 宿題で、「み」という文字をウインドウにアニメーション的に表示する プログラムをつくる(これしか言われてないです・・)というのがでたので、 mi(x,y,a)というコマンドを用意したいのですが、どうすればいいかわからなくて。 最近やっと、for文をつかったアニメーションのつくりかたを習ったばかりという レベルです。
697 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 13:06:49 ] for文をつかったアニメーションのつくりかたって何だ
698 名前:デフォルトの名無しさん [2007/12/26(水) 14:38:31 ] >>697 えと、 for(i=0;i<=100;i++) { x=10*i,y=100-10*i ginit(); mi(x,y); draw();getchar(); } という感じなのですが、一般的じゃないんですか?
699 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 18:57:00 ] 必要そうな関数を使い方なども含めて全部説明してくれ。 この質問はMS-DOSユーザに対して、Windowsのプログラム作ってくれってなぐらいに厳しいぞ。
700 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 03:59:41 ] 静止画からの(複数)顔検出率95%以上のプログラムをください(><)
701 名前:デフォルトの名無しさん [2007/12/27(木) 05:01:48 ] >>699 ginit() window画面を出す line(x1,y1,x2,y2) (x1,y1)と(x2y2)を結ぶ線分を描く circle(x,y,r) (x,y)を中心とする半径rの円を書く くらいしか使えないのですが、これで「み」をかけますかね?
702 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 10:55:16 ] lineでベクトル的に書く
703 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 17:10:06 ] 取り敢えずこんなもんかな。 -- static int conv(int xy, int a, int oxy, int dxy) {return xy + (oxy + dxy) * a;} void mi(int x, int y, int a) { const int ox = 0; const int oy = -50; static const struct point { int x; int y; } points[] = { {10, 0}, {20, 0}, {10, 50}, {0, 40}, {10, 30}, {50, 30}, {-1, -1}, {40, 20}, {40, 50}, {-1, -1}, }; for (int ic = 0; ic < sizeof(points) / sizeof(* points); ++ic) { if (points[ic].x >= 0 && points[ic + 1].x >= 0) { line(conv(x, a, ox, points[ic].x), conv(y, a, oy, points[ic].y), conv(x, a, ox, points[ic + 1].x), conv(y, a, oy, points[ic + 1].y)); } } } int main() { mi(100, 100, 2); return 0; }
704 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 15:09:08 ] ぼるじょあさんあけおめ
705 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/01/02(水) 15:24:56 ] (・3・) 新年明けましておめでとうございます 本年もご愛顧の程よろしくお願いしますYO!
706 名前:デフォルトの名無しさん [2008/01/07(月) 15:46:41 ] [1] 授業単元:C [2] 問題文 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5659.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: 任意 [3.3] 言語: C [4] 期限: 2007年1月8日16:00まで [5] その他の制限: 特になし
707 名前:デフォルトの名無しさん [2008/01/07(月) 15:51:04 ] @
708 名前:デフォルトの名無しさん [2008/01/07(月) 15:52:47 ] >>706 続き kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5660.txt 問題2つあって長文ですが回答お願いします
709 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2008/01/07(月) 19:39:04 ] (・3・) エェー あけましておめでとうございまSU 本年もよろしくお願い致しますYO >>706 (・3・) エェー 新年1発目だYO kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5662.txt
710 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 02:41:39 ] >>156 自己満足な上にc++だけど。 blog38.fc2.com/k/kayui/file/157.txt
711 名前:名無し [2008/01/09(水) 21:24:21 ] [1] 授業単元: プログラム [2] 問題文:複数の整数の平均・分散を求めるプログラムを作成せよ。ただし、平均・分散ともに 小数点第3位以下を切り捨て、小数第2位まで求めるものとする 入力に関して キーボードからまず、入力する整数の個数を入力し(最大でも100とする)改行する 次に指定した数の整数をスペース1つずつ開けて1行で入力するものとする この時、入力を促す文字等は表示しないこと 出力に関して 1行目に平均(+改行)、2行目に分散(+改行)を数値のみ出力する。 指定した数値・改行以外の文字等の出力は一切行わない事 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:わかりません [3.3] 言語: C [4] 期限: 2008年1月10日10:00まで [5] その他の制限: 特になし よろしくおねがいします
712 名前:名無し [2008/01/09(水) 22:05:32 ] [1] 授業単元: プログラム [2] 問題文:複数の数値に対する最大公約数を求める関数を作成し、それを利用するプログラムを作成せよ 関数は下記の通り int gcm(int*in,int num) in 入力値が格納された配列のポインタ num 入力値の数 戻り値 入力値の最大公約数 入力に関して、キーボードから、入力値をスペース1つ開けて1行で入力する この時、入力を促す文字等は表示しないこと 出力に関して、結果+改行のみ出力。指定した数値・改行以外の文字等出力は行わない [3] 環境 [1] OS:XP [2] コンパイラ名とバージョン:わかりません [3] 言語: C [4] 期限: 2008年1月10日10:00まで [5] その他の制限: 特になし またまたおねがいします。
713 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 22:30:25 ] >>711 #include <stdio.h> #include <stdlib.h> #include <math.h> double Average(int count,int data[]) { double sum=0;int i; for(i=0;i<count;i++)sum+=data[i]; return sum/count; } double StandardDeviation(int count,int data[]) { double av,variance; int i; variance=0; av=Average(count,data); for(i=0;i<count;i++)variance+=((data[i]-av)*(data[i]-av)); variance/=count; return sqrt(variance); }
714 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 22:31:13 ] int main(void) { char buf[1024],*szStrPtr; int i,count,data[100]; gets(buf); count=atoi(buf); if(count>100){printf("最大で100までゆうただろうが!\n");return 1;} szStrPtr=buf; gets(buf); for(i=0;i<count;i++) { char *endptr; data[i]=strtol(szStrPtr,&endptr,10); if((*endptr)=='\0' && i!=(count-1)){printf("きちんと入力できてないでー\n");return 1;} szStrPtr=endptr+1; } printf("%.2f\n%.2f\n",floor(Average(count,data)*100)/100,floor(StandardDeviation(count,data)*100)/100); return 0; }
715 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/01/09(水) 22:37:37 ] >>711 (・3・) エェー やっとでけたYO! #include<stdio.h> #include<math.h> int main(void) { int i, value_num, value; double total=0.0, total_2=0.0, ave, dev; scanf("%d", &value_num); if(value_num<=0) return 1; for(i=0;i<value_num;i++) { scanf("%d", &value); total+=value; total_2+=value*value; } ave=total/value_num; dev=(total_2-total*ave)/value_num; printf("%.2f\n", floor(ave*100)/100); printf("%.2f\n", floor(dev*100)/100); return 0; }
716 名前:名無し [2008/01/09(水) 22:37:52 ] >713、714さん ありがとうございます。助かりました。
717 名前:名無し [2008/01/09(水) 22:44:39 ] >715さん ありがとうございます
718 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/01/09(水) 23:06:48 ] >>712 #include<stdio.h> #include<stdlib.h> int gcd(int *in, int num){ int a, b, c, i; if(num<=0) return -1; b=in[0]; for(i=1;i<num;i++){ a=in[i]; if(b<=0) return -1; while((c=a%b)) a=b,b=c; } return b; } int main(void){ int *data=NULL, datanum=0; char buf[20+1]; for(;;){ fscanf(stdin, "%*[ ]"); if(fscanf(stdin, "%1[\n]", buf)==1) break; if(fscanf(stdin, "%20[0-9]", buf)!=1) return 1; data=realloc(data, sizeof(*data)*(datanum+1)); data[datanum++]=atoi(buf); } printf("%d\n", gcd(data, datanum)); free(data); return 0; }
719 名前:デフォルトの名無しさん [2008/01/10(木) 22:33:56 ] [1] 授業単元: プログラミング入門 [2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5733.txt [3] 環境 [3.1] OS:UNIX [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限:明日まで [5] その他の制限:特になし よろしくお願いします。
720 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 23:09:50 ] >>719 ソートが気に食わなかったら書き換えて #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> int main(int argc,char *argv[]) { char buf[1024];char *ptr; if(argc<=1){puts("コマンドライン例\n% printchar u\n% printchar l\n% printchar r\n% printchar s");return 0;} gets(buf); switch(tolower(*(argv[1]))) { case 'u': for(ptr=buf;*ptr;ptr++)*ptr=toupper(*ptr); break; case 'l': for(ptr=buf;*ptr;ptr++)*ptr=tolower(*ptr); break; case 'r': for(ptr=buf;*ptr;ptr++)*ptr=(islower(*ptr)?toupper(*ptr):tolower(*ptr)); break; case 's': qsort(buf,strlen(buf),1,(int(*)(const void *,const void *))strcmp); break; default:puts("コマンドライン例\n% printchar u\n% printchar l\n% printchar r\n% printchar s");return 0; } puts(buf); return 0; }
721 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 14:08:37 ] ごみじょあ
722 名前:デフォルトの名無しさん [2008/01/12(土) 15:28:07 ] [1] 授業単元:C言語 [2] 問題文:構造体としてT1時T1分T1秒とT2時T2分T2秒をキーボードから入力し、 経過時間を求め、表示するプログラムを作成しなさい。但し、秒は実数型とする [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:fujitsu workbench [3.3] 言語:C [4] 期限:1月16日16:00 [5] その他の制限:T1=7時25分12.33秒 T2=12時3分27.55秒.時間は24時間60分60秒で それ以上はNGで安全装置を働かせる
723 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 16:05:17 ] マルチすんなボケ
724 名前:デフォルトの名無しさん [2008/01/17(木) 21:49:34 ] [1] 授業単元:CプログラミングT [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5793.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:分かりません [3.3] 言語:C++ [4] 期限:1月18日 00:00 [5] その他の制限:特にありません. よろしくお願いいたします.
725 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 22:52:44 ] くそじょあ
726 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 23:16:12 ] >>724 こんなあんばいでどう? テストしてないけど。 //穴1 typedef struct _Animal { int id; char name[23]; int show[5]; int show_sum; int show_prev; int show_disp_total; }Animal; //穴2 for(i=0;i<n;i++) { s[i].show_sum=0; for(j=0;j<5;j++)s[i].show_sum+=s[i].show[j]; s[i].show_disp_total=s[i].show_sum+s[i].show_prev; tmp_total+=s[i].show_disp_total; }
727 名前:デフォルトの名無しさん [2008/01/17(木) 23:38:51 ] >>726 おかげさまでエラーもなく実行することができました! 本当に感謝します,ありがとうございました!
728 名前:デフォルトの名無しさん [2008/01/18(金) 22:05:06 ] [1] 授業単元:CプログラミングT [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5805.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:分かりません [3.3] 言語:C++ [4] 期限:2008年1月19日 09:00 [5] その他の制限:特にありません よろしくお願いします!
729 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 23:07:26 ] マルチばっかりじゃないか・・・
730 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 04:31:01 ] >>728 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5809.txt
731 名前:デフォルトの名無しさん [2008/01/19(土) 08:09:40 ] >>730 ありがとうございました!
732 名前:デフォルトの名無しさん mailto:kokok [2008/01/20(日) 14:08:43 ] 学校の課題でC++のクラスについての問題が出たのですが、まず以下のような データファイルを用意した上で、そこからデータを読み出して、別ファイルに 標準体重の人の血液型と名前を出力するというものなんです。ファイルの読み出しまでは分かるのです がその後が分かりません。アドバイスお願いします。 *標準体重・・・指数k(平均体重÷(平均身長ー100)を設定し、各々(身長ー100)*kの理想体重に対して97〜103%の間に入っていること。 <データファイル> 一行目 人数 二行目以降 名前 血液型 身長 体重
733 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 16:46:50 ] テンプレ嫁
734 名前:デフォルトの名無しさん [2008/01/20(日) 23:00:29 ] 1] 授業単元: プログラミング [2] 問題文: sasa.cis.ibaraki.ac.jp/member/sasaki/ProEn2/kadai2.pdf の必須課題1と2 [3] 環境 [3.1] OS:UNIX [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限:2008/01/21まで [5] その他の制限 二重ポインタを使わないで 非再帰でお願いします
735 名前:デフォルトの名無しさん [2008/01/20(日) 23:14:23 ] >>734 PDFはやめて。
736 名前:デフォルトの名無しさん [2008/01/21(月) 00:43:00 ] Cプログラマ必須テキスト! mori.eco.to/
737 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 01:26:20 ] 何度目だ?Cプログラマ必須テキスト!
738 名前:デフォルトの名無しさん [2008/01/21(月) 16:00:55 ] v 問7 キーボードから実数を一つ入力 させ、それを x に代入する。 x ≦ 100 のとき「A」、 100 < x ≦ 350 のとき「B」、 350 < x ≦ 600 のとき「C」、 600 < x のとき「D」 と表示するプログラム @ わかんないです。 C言語プログラミング 、C-pad?? lcpad使ってます。
739 名前:デフォルトの名無しさん [2008/01/21(月) 16:05:03 ] [1] C言語 [3] [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: わかりません [3.3] 言語: C言語 [4] 期限: 1月24日木曜日 [2] 問題文(含コード&リンク): 問2 4個の変数 a 整数 b 実数 c 精度の高い実数 d 文字 を宣言し、それぞれに適当なデータを代入する。 そして次のように画面表示するプログラム a の値は ... です b の値は ... です c の値は ... です d の値は ... です 問3 37から229までの整数を加算しその結果を表示するプログラム お願いします!!
740 名前:デフォルトの名無しさん [2008/01/21(月) 16:06:14 ] 続きです。 問4 x = 0 から出発し、x の値を0.001 づつ増加させることを繰り返し、 x^2 + 7x - 1 の値が初めて正となった時点で繰り返しを終了し、 そのときのx の値を表示するプログラム 問5 キーボードから整数を入力させその数を x に代入する。 x が 100 より大きいとき、 「入力した数は 100 より大きい」と表示し、x が 100 以下のとき、 「入力した数は 100 以下です」と表示するプログラム 問6 キーボードからアルファベット を1文字入力させ、それが 「a」のとき、「a です」 「b」のとき、「b です」 「c」のとき、「c です」 「d」のとき、「d です」 「e」のとき、「e です」 と表示し、それ以外のとき「a,b,c,d,e 以外の文字」と表示するプログラム
741 名前:デフォルトの名無しさん [2008/01/21(月) 16:06:45 ] 問7 キーボードから実数を一つ入力させ、それを x に代入する。 x ≦ 100 のとき「A」、 100 < x ≦ 350 のとき「B」、 350 < x ≦ 600 のとき「C」、 600 < x のとき「D」と表示するプログラム 問8 1 + 4 + 9 + 16 + ・・・と加えて行き、 和が初めて 10000を超えたとき、 その和の値、および最後に加えた数を求めて表示するプログラム 問9 次に書かれた数の総和を求め、結果を表示するプログラム: 1 1+2 1+2+3 1+2+3+4 ・ ・ ・ 1+2+3+4+5+・・・+ 10 問10 縦 100m、横 120mのグランドがある。 縦横それぞれ同じ長さ x だけ長くして面積が 13000u となるようにしたい。 x を少数点以下1桁までの精度で求めるプログラム。 こんな感じです。お願いします!!
742 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 16:13:20 ] 一問くらいやれよ
743 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 18:23:25 ] 問10だけ なぜこれで答えがでるかは自分で考えてくれ。 #include<stdio.h> #include<math.h> int main(void) { double x,temp; temp=-110+10*sqrt(131.0);//二次方程式:x~2+220x-1000=0…(x>0)の解を代入 x=floor(temp*10+0.5)/10;//解の少数第2位で四捨五入 printf("約%.1f[m]伸ばせばよいぞ、雑種。\n",x); return 0; }
744 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 20:27:07 ] >>739 問2 #include<stdio.h> int main(void) { int a; /* 整数 */ float b; /* 実数 */ double c; /* 精度の高い実数 */ char d; /* 文字 */ a = 2008; b = 3.14159; c = 1.60217733E-19; d = 'A'; printf("a の値は %d です\n", a); printf("a の値は %f です\n", b); printf("a の値は %G です\n", c); printf("a の値は %c です\n", d); return 0; }
745 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 20:36:30 ] >>739 問3 #include<stdio.h> int main(void) { int i, sum = 0; for(i = 37; i<=229; i++){ sum+=i; } printf("37から229までの整数の合計は%d\n",sum); return 0; } 問4 #include<stdio.h> int main(void) { double x = 0; while( x*x + 7*x - 1 < 0){ x+=0.001; } printf("x = %g\n",x); return 0; }
746 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 20:51:37 ] >>740 問5 #include<stdio.h> int main(void) { int x; printf("整数を入力して下さい:"); scanf("%d", &x); if(x > 100){ printf("入力した数は 100 より大きい\n"); }else{ printf("入力した数は 100 以下です\n"); } return 0; }
747 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 20:52:30 ] >>740 問6 #include<stdio.h> int main(void){ char x; printf("1文字入力して下さい : "); scanf("%c", &x); if(x == 'a'){ printf("a です\n"); }else if(x == 'b'){ printf("b です\n"); }else if(x == 'c'){ printf("c です\n"); }else if(x == 'd'){ printf("d です\n"); }else if(x == 'e'){ printf("e です\n"); }else{ printf("a,b,c,d,e 以外の文字\n"); } return 0; }
748 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 20:54:33 ] >>741 問7 #include<stdio.h> int main(void){ double x; printf("実数を入力して下さい。: "); scanf("%lf", &x); if(x <= 100){ printf("A\n"); }else if(x <= 350){ printf("B\n"); }else if(x <= 600){ printf("C\n"); }else{ printf("D\n"); } return 0; }
749 名前:名無し [2008/01/21(月) 21:10:09 ] [1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク): 円周率を求めるプログラムを作成せよ。 1.rand()関数を用いて0〜1のx座標、y座標を生成する。 2.原点との距離を求め、座標が半径1の円内かどうか調べ、円内である場合、円外である場合をそれぞれカウントする。 3.以上を指定回数分繰り返し、半径1の円内である確率がπ/4であることからπを求める。 ・入力に関して、キーボードから繰り返し回数を入力する。(上限はint型の最大値(実際には最大値を入れると膨大な時間がかかるので テストは1分程度で終了する値でよい) ・出力に関して、結果(求めた円周率)のみを浮動小数点(double型を%1f)で出力(+改行) [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:わからないです [3.3] 言語: C [4] 期限: 2008年1月23日12:00まで [5] その他の制限:StudyCを使ってます。よろしくお願いします
750 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:16:05 ] >>741 問8 #include<stdio.h> int main(void){ int i=1,sum=0,x; while(sum < 10000){ x = i*i; sum+=x; i++; } printf("和 = %d、最後に加えた数 = %d\n",sum,x); return 0; }
751 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:26:39 ] >>741 問9 #include<stdio.h> int main(void){ int i,j,sum; for(i = 1;i <=10; i++){ sum =0; for(j=1; j<= i;j++){ if(j>1){ printf("+"); } printf("%d", j); sum+=j; } printf("=%d\n",sum); } return 0; }
752 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:51:55 ] >>749 #include<stdio.h> #include<stdlib.h> #include<time.h> #include<math.h> int main(void) { int i,n,f; double x,y,r,pi; srand(time(NULL)); printf("繰り返し回数を入力:"); scanf("%d",&n); f=0; for(i=0;i<n;i++){ x=(double)rand()/RAND_MAX; y=(double)rand()/RAND_MAX; r=sqrt(x*x+y*y); if(r<=1){ f++; } } pi = (double)f/n*4; printf("%1f\n",pi); return 0; }
753 名前:名無し [2008/01/21(月) 23:24:04 ] [1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク): 英文の文字列を入力した場合、文字数・単語数・文章数を求めるプログラムを作成せよ。 英文中の特殊文字は(, . ! ?)のみとする。単語の間には1つ以上(2つ以上でも可)のスペースが入るものとする。 文章の最後には必ず. ! ?のどれかが単独で使われる。 ,や. ! ?の後に入る可能性があるが前にはスペースは入らないものとする。省略につかう.は今回ないものとする。 入力に関して:キーボードから、文字列を1行で入力する 出力に関して:文字数・単語数・文章数をそれぞれスペース1つあけて1行で出力(+改行) [3] 環境 [3.1] OS:XP [3.2] コンパイラ名とバージョン:わからないです [3.3] 言語: C++ [4] 期限: 2008年1月23日12:00まで [5] その他の制限:StudyCを使ってます。よろしくお願いします。
754 名前:名無し [2008/01/21(月) 23:30:50 ] >>752さん 749の問題を書き込んだものですがRAND_MAXのところがエラー表示されます。 申し訳ありませんがもう一度確認してもらってよろしいでしょうか。
755 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:56:35 ] >>754 www.orchid.co.jp/computer/cschool/pie.html
756 名前:デフォルトの名無しさん [2008/01/22(火) 00:24:46 ] 2つの整数を入力して、その2つの整数の最大公約数と、 最小公倍数を求めるプログラムを作りなさい。 このプログラムをお願いします。
757 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:47:11 ] >>756 マルチは死ね
758 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:07:51 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 1からNまでの和を求めよ。 1からNの総和を求める関数をint wa(int N)として定義せよ。 (注)WIN32コンソールアプリケーションで、Nの値をキーボードより入力。 #include <stdio.h> int wa(N); { int i, sum = 0; for(int i=1, i<=N, i++) Sum+=i; } int main(void) { } ※ これを参考に作成するのですが、イマイチ分かりません [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (".NET 2003") [3.3] 言語: (C++) 期限は特にありませんので、宜しくお願いします。
759 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:19:25 ] #include <stdio.h> int wa(int N); { int i, sum = 0; for(int i=1, i<=N, i++) Sum+=i; } int main(void) { int n; scanf("%d",&n); printf("%d\n",wa(n)); return 0; }
760 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:50:09 ] >>759 ありがとうございます。 しかし、.NET 2003環境で #include <stdafx.h> #include <stdio.h> int wa(int N); { int i, sum = 0; for(int i=1, i<=N, i++) Sum+=i; } int main(void) { int n; scanf("%d",&n); printf("%d\n",wa(n)); return 0; } このようなエラーが出てしまします。 error C2447: '{' : 対応する関数ヘッダーがありません。旧形式の仮引数リストの可能性があります。 {の対応は間違っているようには見えないのですがうまくいきません。
761 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:56:32 ] for文は for(int i=1, i<=N, i++) じゃなくて for(int i=1; i<=N; i++) こうだろう Sumもなんでか大文字になってるし、 wa関数に return sum; もない
762 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 02:12:15 ] >>761 ありがとうございます。 for文ご指摘のとうりでした 直して見たのですが、やはり error C2447: '{' : 対応する関数ヘッダーがありません。旧形式の仮引数リストの可能性があります。 とでてしまいます。>< お時間ありましたらもう少しおつきあい下さいませ。 #include <stdafx.h> #include <stdio.h> int wa(int N); { int i, sum = 0; for(int i=1; i<=N; i++) sum+=i; return sum; } int main(void) { int n; scanf("%d",&n); printf("%d\n",wa(n)); return 0; }
763 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 03:47:25 ] int wa(int N); ←なにこのセミコロンw
764 名前:ラッセン沖縄 [2008/01/22(火) 09:42:41 ] [1]授業単元 プログラミングB [2]問題文 次の仕様を満たし、入力例の通りにして実行でき、更に、出力例の通りに出力されるようなCプログラムを作成せよ。(出力の空白や桁数にも留意せよ。) 仕様 三角形の底辺と高さ入力し、その面積を求める。 入力例 Z:\>(kadai) (カッコ内を 底辺=(3.0) 入力する)高さ=(4.5) 出力例* ----+----|----+----|----+----|----+----|----+----| 底辺=3.000, 高さ=4.500 面積=6.7500 (*目盛りは桁を示すためのもの。プログラムで出力するのではない。) よろしくお願いします。
765 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 10:06:11 ] >>763 あ、ほんとだ! ありがとうございます。コンパイル成功しました。 でも、動かない。。 プロンプト起動後に数値入力→Enter すると終了してしまいます>< #include <stdafx.h> #include <stdio.h> int wa(int N) { int i, sum = 0; for(int i=1; i<=N; i++) sum+=i; return sum; } int main(void) { int n; scanf("%d",&n); printf("%d\n",wa(n)); return 0; }
766 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 13:47:11 ] >>756 #include<stdio.h> main(){ int a,b,x,y,gcd,lcm; printf("1つ目の整数を入力して下さい:"); scanf("%d", &x); printf("2つ目の整数を入力して下さい:"); scanf("%d", &y); if(x>y){a = x; b = y;} else{a = y; b = x;} while(b > 0){gcd = a%b; a = b; b = gcd;} gcd = a; lcm = x*y/gcd; printf("%dと%dの最大公約数は%d、最小公倍数は%d\n", x, y, gcd, lcm); }
767 名前:デフォルトの名無しさん [2008/01/22(火) 15:09:47 ] >743,744,745,746,747,748,750,751 ありがとうございます。 あの、問6の問題なんですが、 switchの構文で作ってもらうことできますか?
768 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 15:14:28 ] 問6 #include<stdio.h> int main(void){ char x; printf("1文字入力して下さい : "); scanf("%c", &x); switch(x){ case 'a': case 'b': case 'c': case 'd': case 'e': printf("%c です\n", x); break; default: printf("a,b,c,d,e 以外の文字\n"); } return 0; }
769 名前:デフォルトの名無しさん [2008/01/22(火) 15:17:11 ] >>768 ありがとうございます。 すごく助かりました。
770 名前:デフォルトの名無しさん [2008/01/23(水) 00:37:23 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5870.txt [3] 環境 [3.1] OS:windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:1/24 [5] その他の制限:
771 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 00:53:51 ] >>765 それは正常に動いてる。 処理が終わったから窓を閉じただけ。 実行後も見たいなら、ファイル名を指定して実行から cmd と打てば コマンドラインが出るから、そこに実行ファイルドラッグするなりして 再度実行してみればいいと思うよ
772 名前:名無し [2008/01/23(水) 01:17:06 ] [1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク): (1)複数の整数を降順(大きい順)にソートするプログラムを作成せよ 。 入力に関して:キーボードから、入力する整数の個数を入力(最大で10とする)し、次に指定した数の整数をスペース1つ開けて1行で入力するものとする。 このとき、入力を促す文字は表示しないこと。 出力に関して:ソートした整数をスペース1つのみあけて1行で出力する(+改行)。 指定した数値・改行以外の出力は一切行わない事。 久々のROに戸惑い中@緋月とーま の発言: (2)数値を表示して最大値の回答をチェックするプログラムを作成せよ 入力1に関して:キーボードからまず、表示する整数の個数を入力(最大で10とする)する。 この時、入力を促す文字は表示しないこと。 出力1に関して:rand()関数を用いて0〜100までのランダムな整数を、入力1の数だけ生成して表示する。 指定した数値・改行以外の出力は一切行わない事。 入力2に関して:続いてキーボードから、表示された数値のうち最大のものを選び(間違えても構わない)その数値を入力する このとき、入力を促す文字は表示しないこと。 出力2に関して:入力2の値が正解なら1を、間違っていれば0を出力する(+改行)。 指定した数値・改行以外の出力は一切行わない事。 [3] 環境 [3.1] OS:XP [3.2] コンパイラ名とバージョン:わからないです [3.3] 言語: C [4] 期限: 2008年1月24日10:30まで [5] その他の制限:StudyCを使ってます。2問あるんですが、よろしくお願いいたします。
773 名前:デフォルトの名無しさん [2008/01/23(水) 11:40:10 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): 2次方程式 ax^2 + bx + c = 0について、a,b,cをキーボードから入力して解を求めるプログラムを作成せよ。 a=0を入力を入力するまでは繰り返し計算を行うようにする 平方根の計算も必要です [3] 環境 [3.1] OS: windowsXP [3.2] コンパイラ名とバージョン:VC2005 [3.3] 言語: C++ [4] 期限: 今週中におねがいします。できれば早く。 初歩的ですいません。
774 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 12:48:38 ] >>773 そんなの機械系学科の俺でも習ったぞ?
775 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 12:48:44 ] >久々のROに戸惑い中@緋月とーま の発言: うーむ……
776 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 16:52:17 ] >>772 >久々のROに戸惑い中@緋月とーま の発言 ここがよくわからん。もう少しくやしく。
777 名前:名無し [2008/01/23(水) 18:31:07 ] 776さん>>久々のROに戸惑い中@緋月とーま の発言 これはもうムシしてください。へんな文章入れて申し訳ないです。
778 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 18:58:15 ] >>773 #include <iostream> #include <math.h> using namespace std; int main(void) { double a,b,c,d; cout << "a=";cin >> a; cout << "b=";cin >> b; cout << "c=";cin >> c; d=b*b-4*a*c; if(d==0) { double x; x=-b/(2*a); cout << "x=" << x << endl; } else if(d>0) { double x1,x2; x1=(-b+sqrt(d))/(2*a);x2=(-d-sqrt(d))/(2*a); cout << "x1=" << x1 << "\nx2=" << x2 << endl; } else { double xa,xb; xa=-d/(2*a);xb=sqrt(-d)/(2*a); cout << "x1=" << xa << "+" << xb << "i\nx2=" << xa << "-" << xb << "i" << endl; } }
779 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 19:18:59 ] 久々のROに戸惑い中@緋月とーま の発言:
780 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 21:40:24 ] タコじょあ
781 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/01/23(水) 21:59:54 ] >>770 #include<stdio.h> #define num 10/* (・3・)エェー 等号とセミコロンはいらないYO */ int i; double data[num]={ 173.8,168.2,180.3,166.0,189.7,167.4,159.8,170.5,167.5,167.4};/* (・3・)エェー セミコロン付いてないYO */ int main(void) { for(i=1;i<=num;i++){ int max=i,j;/* (・3・)エェー 変数maxとjが宣言されて無いYO */ for(j=i+1;j<=num;j++)/*最大の要素の場所を捜す*/ if (data[max]<data[j])max=j; data[i]=data[max];data[max]=data[i];/*入れ換え*/ } for(i=1;i<=num;i++)printf("%7.1f ",data[i]); return 0; }
782 名前:ひかり ◆d0B/bjbQYo mailto:sage [2008/01/23(水) 22:25:04 ] #include<stdio.h> #define num (10)//セミコロンとかいらん double data[num]={ 173.8,168.2,180.3,166.0,189.7,167.4,159.8,170.5,167.5,167.4};/*セミコロン付けな*/ int main(void) { int i,j,max;/*変数宣言しとけ*/ double temp;/*入れ替え時に使用*/ for(i=0;i<=num-1;i++)/*配列の添え字は[0]から[num-1]まで*/ { max=i; for(j=i;j<=num-1;j++)/*[i]から[num-1]まで*/ if (data[max]<data[j])max=j; temp=data[i];/*tempを利用する*/ data[i]=data[max]; data[max]=temp;/*tempから書き込む*/ } for(i=0;i<=num-1;i++)printf("%7.1f ",data[i]);/*配列の添え字は[0]から[num-1]まで*/ puts("");/*最後、改行するためになんとなく*/ return 0; }
783 名前:デフォルトの名無しさん [2008/01/23(水) 23:09:48 ] [1] 授業単元: programming1 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5877.zip [3] 環境 [3.1] OS: Unix [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 2008年1月24日21:00まで [5] その他の制限: 特にありません よろしくお願いします。
784 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 23:23:25 ] >>781 >>782 ありがとうございます!
785 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 23:48:46 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5880.txt [3] 環境 [3.1] OS:windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:1/26 [5] その他の制限:なし どなたかよろしくお願いします
786 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2008/01/24(木) 00:42:23 ] >>772 #include <stdio.h> int main(void){ int n, num[10], i, k; scanf("%d", &n); if(n > 10)return 0; for(i=0; i<n; i++)scanf("%d", &num[i]);) for(i=0; i<n-1; i++){ for(k=i+1; k<n; k++){ if(num[i] < num[k]){ int swap = num[i]; num[i] = num[k]; num[k] = swap; } } } for(i=0; i<n; i++)printf("%d ", num[i]); printf("\n"); return 0; }
787 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2008/01/24(木) 00:43:29 ] >>772 #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void){ int n, in, max = -1, i; scanf("%d", &n); if(n > 10)return 0; srand((unsigned)time(NULL)); for(i=0; i<n; i++){ int tmp = rand()%101; if(max < tmp)max = tmp; printf("%d ", tmp); } printf("\n"); scanf("%d", &in); printf("%d\n", (in == max)); return 0; }
788 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 21:30:25 ] [1] 授業単元: C言語 [2] 問題文 間違った日付が入力された場合、再入力させる仕様にする [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: VC2005 [3.3] 言語: C [4] 期限:1月27日まで [5] その他の制限: ここに書いてあるのはプログラムの一部です #include<stdio.h> int main() { int year,months,day; int sum,i; int m_array[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; char*week[7] = {"日","月","火","水","木","金","土"}; sum =0; printf ("input (e.g. ****/**/**)\n>>"); scanf ("%d/%d/%d",&year,&months,&day if ((imonths >2) && ((iyear % 4 == 0) && ((iyear % 100 !=0) || (iyear % 400 == 0)))) { sum++; } for (i =0; i < imonths-1; i++) { sum += m_array[i]; } おそらくprintf scanf あたりを変えてwhile文とかbreakを使うと思うのですが・・ ヨロシクお願いします。
789 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 21:41:19 ] そんなのも分からないのに良くポインタ扱えるな
790 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 21:58:12 ] 自分で作ったわけではありませんから
791 名前:791 mailto:sage [2008/01/24(木) 22:13:51 ] >>788 そんな変な手の加え方してコンパイル通せるのか? #include<stdio.h> int main() { int year,months,day; int sum,i; int m_array[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; char*week[7] = {"日","月","火","水","木","金","土"}; sum =0; do{ printf ("input (e.g. ****/**/**)\n>>"); scanf ("%d/%d/%d",&year,&months,&day); if(year%4==0 && year%100!=0 || year%400==0) m_array[1]=29; else m_array[1]=28; }while(months<1 || months>12 || day<1 || day>m_array[months-1]); for (i =0; i < imonths-1; i++) { sum += m_array[i]; }
792 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 02:48:04 ] >>785 〜 ヘッダのinclude 省略 〜 int main(void){ char line[18+1]={0}, buf[16+1]={0}, *p; int i, num, tmp; printf("Input Number (ex. B0000000001111011 or D123 ) ===>"); fgets(line, 18+1, stdin); p = strchr(line, '\n'); if(p != NULL) *p = '\0'; switch(line[0]){ case 'B': if(strlen(line) != 17) return 1; for(i=16, tmp=1, num=0; i > 0; i--, tmp*=2) if(line[i] == '1') num += tmp; if(line[1] == '1') num -= 65536; printf("%s ===> D%6d\n", line, num); break; case 'D': num = atoi(&line[1]); if(num < -32768 || num > 32767) return 1; if(num < 0) num += 65536; for(i=15; i >= 0 && num != 0; i--, num/=2){ if( num%2 == 0) buf[i] = '0'; else buf[i] = '1'; } for(; i >= 0; i--) buf[i] = '0'; printf("D%6s ===> B%s\n", &(line[1]), buf); break; } return 0; }
793 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 21:40:23 ] 蛆じょあ
794 名前: ◆t0OD42fqHw [2008/01/26(土) 16:55:04 ] [1] 授業単元: C++ [2] 問題文(: vectorクラスを利用して、int型を格納する動的配列を生成せよ まず1〜20までの間の奇数を格納せよ。 それから、追加で 21〜40までの間の奇数を格納せよ そして、11〜30までの間の奇数を格納している要素を削除せよ [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:Visual Studio 2005 [3.3] 言語:C++ [4] 期限: [無期限] [5] その他の制限: なし
795 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 17:13:05 ] #include <vector> #include <algorithm> #include <cstdio> static void bar(int val) {printf("%d\n", val);} int main() { std::vector<int> foo; for (int ic = 1; ic <= 20; ic += 2) { foo.push_back(ic); } for (int ic = 21; ic <= 40; ic += 2) { foo.push_back(ic); } for (int ic = 11; ic <= 30; ic += 2) { foo.erase(remove(foo.begin(), foo.end(), ic), foo.end()); } std::for_each(foo.begin(), foo.end(), bar); return 0; }
796 名前:デフォルトの名無しさん [2008/01/27(日) 14:43:59 ] [1] 授業単元:プログラミングU [2] 問題文(含コード&リンク):与えられたデータ(data1.txt )に対して季節調整を行うプログラムを作成しなさい。 <調整法> i年目、j月のデータを aij とする。 月平均 Mj 月平均の平均 M 調整のための指数 Sj = Mj / M 調整結果 aij / Sj [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: Visual Studio 2005 [3.3] 言語:C++ [4] 期限:2月3日 [5] その他の制限: 特にありません。 よろしくお願いします。
797 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 16:27:32 ] >>796 data1.txtがどんな物か分からないとやりようが無いYO data1.txtをうpしてクレYO 調整結果は画面に表示すれば良いのかな?
798 名前: ◆DSpH.2sBBQ [2008/01/27(日) 19:43:32 ] [1] 授業単元: C++ [2] 問題文 格子状(一辺20mのブロック×縦横10ブロック)の道を、人が4m/sで移動し 任意の座標(通路上に自由に指定可)にある複数の障害物とのそれぞれの距離を、各分岐点で表示しなさい。 スタートは左下の点、ゴールは一番右上の点とする。人が通る道順も自由に指定可。 障害物の上を通る場合は人の速度を1m/sとし、ゴールに到着するまでにかかった総時間も表示しなさい。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:Visual Studio 2005 [3.3] 言語:C++ [4] 期限: とても急いでます(>_<) [5] その他の制限: なし 本当に切羽詰ってます!ぼるじょあさん、宜しくお願い致します!!
799 名前:# [2008/01/27(日) 20:31:30 ] >>797 すいません。貼り付け忘れてました。 データ(12カ月×5年) 40.0 37.7 51.8 45.9 45.2 45.4 62.0 40.8 42.1 49.1 51.5 93.4 42.6 39.5 53.4 47.6 47.0 47.5 63.5 42.2 42.9 51.1 51.8 94.7 43.3 39.8 53.6 48.5 48.3 47.5 65.9 42.8 43.7 53.2 52.9 97.0 44.9 42.3 55.0 50.7 48.6 48.9 68.8 43.3 46.2 54.2 54.6 100.5 47.5 42.8 57.7 52.6 51.0 50.9 71.4 45.0 47.3 56.8 56.7 102.7 調整結果は、画面に表示させてください。よろしくお願いします。
800 名前:デフォルトの名無しさん mailto:1 [2008/01/27(日) 21:59:00 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 2つの正の整数値a,bの最大公約数を出力するプログラムを ユークリッドの互除法というアルゴリズムを用いて作成したい。 以下のプログラムの****部分に適切な処理をいれて,プログラムを完成させなさい。 #include <stdio.h> int main( void ) { int a, b; /* 変数の宣言 */ int m, n; scanf( "%d,%d", &a, &b );/* 2つの正の整数値を入力する */ m= a ; n= b ; while(m **** n){ /* ユークリッドの互除法を適用 */ if( m > n ) m = ***** ; else n = **** ; [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: C言語 [4] 期限: [2008年1月28日12:00まで] [5] その他の制限: 特になし よろしくお願いします。
801 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 03:38:20 ] 全部あれかよwなさけねえ
802 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 20:27:53 ] >>796 こんなので良いかな? kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5928.cpp
803 名前:デフォルトの名無しさん [2008/01/31(木) 16:31:13 ] [1]授業単元:C言語 [2]問題文:単純なソートアルゴリズム(バブル・選択・挿入)のどれか1つと、クイックソートアルゴリズムを計算量を比較するプログラムを作る。 *自分はバブルソートを選択しました。 [3]環境 [3.1]OS:(Windows XP) [3.2]Ultara-C pro version 2.1 [3.3]言語:c言語 [4]期限:2008年2月1日 AM2:00まで [5]その他制限:特になし プログラムが長かったのでろだにアップしています。URLは下記に貼り付けています。 2008/01/30(Wed) 17:02 No.5941 が自分の書き込みです。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm よろしくお願いします。
804 名前:デフォルトの名無しさん [2008/01/31(木) 18:39:47 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク):フロッピードライブのディスクイメージを作成せよ [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Borland C++ [3.3] 言語:C [4] 期限: 2008/02/05に提出 [5] その他の制限: 基本的なことはできます。RAW Readをやらせたいんだと思うので、標準ライブラリ以外はダメです。 ioctrlを使うんだと思うんですが・・・。 すみません。資料へのリンクだけでもいいのでお願いします。
805 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 19:16:23 ] >>804 ・ディスクイメージを作成せよ ・RAW Readをやらせたい ・ioctrlを使う 相互に矛盾しているとは思わんかね。
806 名前:804 [2008/01/31(木) 19:43:51 ] >>805 そうなんですか・・・? FDイメージを作成するためにFDをFATでのReadではなく、RAW Readをしなければならない。 RAW Readをするためには・・・と思って調べていくとioctrlがそれっぽいかなぁというところまでは行ったつもりだったんですけど、違うんですか?
807 名前:デフォルトの名無しさん [2008/01/31(木) 21:40:57 ] >>802 はい、ありがとうございます。使わせていただきます。
808 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:35:54 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 線形探索/二分探索 の2つの方法での計算時間の違いをC言語実装によって 定量的に示す。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:Microsoft Visual C++ 2005 Express Edition もしくはUltara-C pro version 2.1 [3.3] 言語: Cのみ [4] 期限: ([2008年2月1日AM:6:00まで [5] その他の制限: 特に無いです。 よろしくお願いします
809 名前:デフォルトの名無しさん [2008/02/01(金) 02:28:34 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):手の平の2値画像(www2.uploda.org/uporg1226336.pgm ):手領域は255、背景は0 を使って ・手領域の面積 SS ・手領域の重心位置 (Mg,Ng) ・手領域の外接長方形 (RI,RJ) (RM,RN) を計算して表示するプログラムを作成しなさい。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: Visual Studio 2005 [3.3] 言語: Cのみ [4] 期限: 2008年2月4日まで [5] その他の制限:なし よろしくお願いします。
810 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:08:22 ] >>804 Windows環境でBorlandC++を使っていいならAPIでいいやん。 CreateFile 引数:\\.\C:\ で検索してみ。
811 名前:モダン mailto:sage [2008/02/01(金) 19:14:16 ] [1] 授業単元:C言語 [2] 問題文 優先順位つき四則演算(小数点付き) 例 261.5*(2.3+7.9)+6.3/3.0= を計算して表示するプログラムを作成しなさい。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: Visual Studio 2005 [3.3] 言語: C++のみ [4] 期限: 2008年2月5日まで [5] その他の制限:特にありません
812 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:36:28 ] マルチ死ね
813 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:20:05 ] セリオも死ね
814 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 07:59:39 ] >>811 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6050.txt
815 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 13:33:29 ] [1] 授業単元:プログラミング [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6053.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: VC2005 [3.3] 言語:C [4] 期限:2月17日 [5] その他の制限:特にありません。 よろしくお願いします。
816 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 10:56:45 ] >>815 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6054.txt
817 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 16:21:16 ] >>816 ありがとうございます。
818 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 13:16:38 ] [1] 授業単元:プログラミング [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6114.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: VC2005 [3.3] 言語:C [4] 期限:3月3日 15:00(15:15分学校へ) [5] その他の制限:特にありません。
819 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/03/05(水) 00:52:34 ] >>818 (・3・) エェー (いろんな意味で)ねーYO!
820 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/03/17(月) 15:14:40 ] (・3・) エェー Fizz-Buzz 問題解いてみるYO! 問題: 1から100までの数をプリントするプログラムを書け。 ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、 3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 #include <stdio.h> int main(void){ int i; for(i=1;i<=100;i++){ if(i%3==0 && i%5==0) printf("FizzBuzz\n"); else if(i%3==0) printf("Fizz\n"); else if(i%5==0) printf("Buzz\n"); else printf("%d\n", i); } return 0; }
821 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/03/17(月) 15:20:09 ] >>820 の別解 #include <stdio.h> int main(void){ int i; char *print_format[]={"%d\n", "Fizz\n", "Buzz\n", "FizzBuzz\n"}; for(i=1;i<=100;i++){ printf(print_format[!(i%3)+(!(i%5))*2], i); } return 0; }
822 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 22:27:32 ] >>820-821 ナベアツオツ
823 名前:デフォルトの名無しさん [2008/03/18(火) 09:24:13 ] 本家が荒れているのでこちらをage! 宿題をやってもらいたい人かもーん!!
824 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 00:46:24 ] 今の時期に宿題が出るとは思えませんが、お暇ならこの問題をどうぞ 3^(1,000,000,000,000,000)MOD23を計算せよ。
825 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 00:58:33 ] 3と23の最小公倍数ってどうやって算出すればいいんですか?
826 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:08:27 ] >>825 3と23を掛けた後、最大公約数で割る。
827 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:24:32 ] #include <stdio.h> #include <math.h> int main(void) { int i, amari = 3; for(i = 0; i < 15; i++) { amari = int(pow((double)amari, 10.0)) % 23; } printf("%d", amari); return 0; }
828 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 12:34:54 ] #include <stdio.h> int main(void) { const int a = 3, b = 23; int i = b; while (i % a != 0) i += b; printf("%d\n", i); return 0; }
829 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/03/24(月) 06:50:44 ] >>824 (・3・) エェー 出遅れたYO! >>827 は有効桁数を超える可能性があるYO! (3**10 も 8**10 も 2**31 以上じゃないから大丈夫だけど) #include<stdio.h> int main(void){ int i, j; int result=1, mul=3; for(j=0;j<15;j++){ for(i=0;i<10;i++) result=(result*mul)%23; mul=result; } printf("%d\n", result); return 0; }
830 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 00:53:01 ] 1] 授業単元:プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6172.txt [3] 環境 [3.1] OS:windowsXP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語:C言語 [4] 期限:2008年3月25日午後1時 他スレでも聞いてみたのですが結局不合格となってしまいました よろしくお願いします。 [5] その他の制限:なし
831 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/03/25(火) 00:58:59 ] >>830 (・3・) エェー なんか処理内容見落としてるYO! > if ((imonths >2) && ((iyear % 4 == 0) && ((iyear % 100 !=0) || (iyear % 400 == 0)))) { の (imonths >2) はどこいったんだYO!
832 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 01:06:36 ] 妹なら俺のちんぽしゃぶってるが
833 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:19:05 ] >>831 忘れてました・・・ありがとうございますw
834 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:37:06 ] >>832 忘れてました・・・ありがとうございますw
835 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 01:55:14 ] 1] 授業単元:プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6191.txt [3] 環境 [3.1] OS:windowsXP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語:C言語 [4] 期限:2008年4月4日 以前教えてもらった問題の続きで申し訳ないのですが ヨロシクおねがいします。 [5] その他の制限:なし
836 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 02:18:43 ] >あとこのソースって前年度の総日数(365xyear-1)とかがぬけてますよね? 質問してるところのループだけじゃなくて、その前のループもわかってないじゃんw
837 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 08:15:45 ] で?
838 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 19:13:36 ] >>835 まずはインデントそろえろよw
839 名前:839 [2008/04/12(土) 16:12:38 ] [1] 授業単元:プログラム [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6223.txt [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン:visual studio 2003 [3.3] 言語: C言語 [4] 期限:2008年4月14日8:00 [5] その他の制限:C言語入門書をやったぐらいの初心者ですので なるべく簡単にしてくれるとありがたいです. どうぞよろしくお願いします orz
840 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/04/12(土) 18:01:36 ] (・3・) エェー 全然初心者用の問題じゃないお
841 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/04/13(日) 14:31:03 ] >>839 (・3・) エェー 問題文の意味が分からないYO!
842 名前:839 [2008/04/13(日) 18:14:42 ] ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6236.txt こんな感じにしたいです。たぶん説明が下手で、すいません。 どうかお力を貸してください。お願いします
843 名前:839 [2008/04/14(月) 13:00:50 ] 期限を今日の8:00までと書いてますが期限を延ばしてもらったので、 どうぞ教えていただけないでしょうか
844 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2008/04/15(火) 01:34:46 ] (・3・) エェー 期間が、明日明後日だと僕は無理だYO もっと余裕があるならやってもいいYO
845 名前:デフォルトの名無しさん [2008/04/15(火) 12:05:41 ] 期日が短くてすいません orz では>>842 のプログラムをもっと簡単にはできないでしょうか? お願いします
846 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 14:42:48 ] (・3・) エェー これの前後を参考にしてみるのはどうYO pc11.2ch.net/test/read.cgi/tech/1202135539/731n
847 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 22:45:58 ] マルチポストして解決したんなら、こっちでも報告するのが筋だろ。
848 名前:デフォルトの名無しさん [2008/04/15(火) 23:08:40 ] はい仰る通りですね、すいません。 orz いいわけになりますが、やってもらったプログラムの理解とフローチャートを作ろうとしていたもの ですから報告が遅れました。そして私の宿題を手伝っていただきありがとうございました。
849 名前:デフォルトの名無しさん [2008/04/17(木) 21:06:36 ] [1] 授業単元: プログラム入門 [2] 問題文(含コード&リンク): 整数aにデータを6つ入力し、偶数、奇数の個数を求めよ [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語: C [4] 期限: 2008年4月18日12:00まで [5] その他の制限: 初心者レベルです、Whileやfor、一次元配列までしか・・・ よろしくお願いします。
850 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:24:51 ] #include <stdio.h> int main(void) { int data[6], i, kisuu=0, guusuu=0; for(i=0;i<6;i++) { printf("%d番目のデータを入力してください:",i); scanf("%d",&data[i]); } for(i=0;i<6;i++) { if(data[i]%2==1)kisuu++; else guusuu++; } printf("奇数は%d個、偶数は%d個です",kisuu,guusuu); return 0; }
851 名前:デフォルトの名無しさん [2008/04/18(金) 00:13:28 ] >>850 様 ありがとうございます!助かりました〜。
852 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 08:24:26 ] 1] 授業単元:プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6294.txt [3] 環境 [3.1] OS:windowsXP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語:C言語 [4] 期限:2008年4月22日 問題 このプログラムを利用して今年のカレンダーを表示させる よろしくお願いします。 [5] その他の制限:なし
853 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/04/21(月) 13:58:43 ] >>852 (・3・) エェー 元のプログラムが間違ってるYO! ツェラーの公式使えYO!
854 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 17:06:15 ] ツェラーの公式を使うことが、そんなに辛い(つぇらい)のかね?ん?
855 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 18:00:39 ] >>852 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6295.c ツェラーの公式を使ったYO! っつか、曜日の配列に "日" が入ってなかったり 何の日数の合計だか分からんかったから、その辺は変更しちゃったYO!
856 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 14:24:51 ] [1] 授業単元: プログラミング実習 [2] 問題文(含コード&リンク): 再帰処理によって、作成した迷路空間を探索するプログラムを作成せよ。 指定された構造体を使用する既存のものの変更は認めないが、変数の追加等は可。 また戻りあり経路と戻りなし経路の両方を表示する 与えられたコードの一部 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6357.txt 迷路データ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6358.txt * : 壁 0 : 通路 8 : 通路 & スタート 9 : 通路 & ゴール 迷路空間は,必ず長方形であることを前提とする. [3] 環境 [3.1] OS: WindowsXP [3.2] borlandC++ [3.3] C言語 [4] 期限: 4/28 13000まで [5] その他の制限: 特になし よろしくお願いします
857 名前:デフォルトの名無しさん [2008/04/27(日) 18:53:51 ] [1] 授業単元:データ構造とアルゴリズム [2] 問題文(含コード&リンク):体育館問題を列挙で解け。 ・入力・・・最初に部活の数 n (0 <= n <= 100)が与えられる。 si(部活の活動開始時間),fi(部活の活動終了時間)の順に n 個の整数の組が与えられる。 (0 <= si <= 9999, 1 <= fi <= 10000, si < fi) ・出力・・・活動可能な部活の最大数を出力 Sample Input n = 5 si fi 0 5 13 20 15 27 4 10 25 30 Sample Output 3 [3] 環境 [3.1] OS: WindowsXP [3.2] Borland C++ [3.3] 言語:C++ [4] 期限: [2008年5月2日17:00まで] [5] その他の制限:特にありません よろしくお願いしますm(_ _)m
858 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 19:53:14 ] [1] 授業単元:プログラミング実験(ソフト開発) [2] 問題文(含コード&リンク): 下記の機能を持つ原始的なペイントソフトの作成をせよ。最低でも1.2は必須の機能である。 1.直線の描画 左ボタンを押しながらマウスを移動させ、左ボタンを離すと、左ボタンを押した座標から離した座標までの直線を描画する。 この際、移動最中の過程を消すためのXORペンを使用する。moveto,linetoという関数を用いる。 2.ラバーバンド 右ボタンを押しながらマウスを移動すると、右ボタンを押した座標とマウスの現座標を頂点とする矩形を描写する。 3.ハイライト 描いた直線の先端にマウスカーソルを合わせると、端点が強調される。 4.右ドラッグ選択 描いた直線をラバーバンドで囲み、右クリックを離すと、ラバーバンド内の直線の端点が強調される。 [3] 環境 [3.1] OS:Windows XP [3.2] Visual C++ 2005(or2008) Express Edition [3.3] 言語:C++ [4] 期限: 2008年5月4日まで [5] その他の制限:Windowsフォームアプリケーションで作成。 1.2の機能を持つものであれば十分すぎるほど十分です。 ぜひお力添えしていただければと思います。よろしくお願いします。
859 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 20:10:45 ] >>857 ,>>858 共にマルチ
860 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 12:50:17 ] はわわ〜、ってネタが古いですぅ〜?
861 名前:デフォルトの名無しさん [2008/05/20(火) 14:01:27 ] [1] 授業単元: C言語 [2] 問題文:文字列s1の中から文字列s2に含まれる文字を取り除く.関数の戻り値は文字列s1(の先頭を指すポインタ値). テストプログラムでは,文字列s2は固定でも構わない.しかし,関数の仕様としては,s1とs2の両方を引数にする.できるならば,s2もキーボードから入力できるようにする. s1: "This is a pen." s2: "sp." ↓ s1: "Thi i a en" [3] 環境 [3.1] OS:LINUX [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 2008/05/026に提出 C言語全然分からなくて困ってます。どうかよろしくお願いします。
862 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/05/20(火) 14:12:04 ] >>861 (・3・) エェー 久々だYO! #include <stdio.h> unsigned char *hoge(unsigned char *s1, const unsigned char *s2){ int i, j, remove_flag[256]={0}; for(i=0;s2[i];i++) remove_flag[s2[i]]=1; for(i=j=0;s1[i];i++) if(!remove_flag[s1[i]]) s1[j++]=s1[i]; s1[j]='\0'; return s1; } int main(void){ char s1[1024]="", s2[1024]="sp."; fgets(s1, sizeof(s1), stdin); puts(s1); hoge(s1, s2); puts(s1); return 0; }
863 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 14:17:26 ] #include <stdio.h> #include <string.h> // s1にs2[some]が存在したら詰めると言う横着アルゴリズム。 // s1[some]がs2中に存在したら詰めると言う戦略のほうが無難かと思われる。 static void removeChars(char * s1, const char * s2) { for (const char * s2p = s2; * s2p != '\0'; ++s2p) for (char * p; (p = strchr(s1, * s2p)) != NULL; strcpy(p, p + 1)) ; } // 以下はテスト用サンプル。提出に当たっては適当に修正されたし。 int main(int argc, char ** argv) { removeChars(argv[1], argv[2]); puts(argv[1]); return 0; }
864 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 16:31:42 ] strcpy(p, p + 1) これって未定義じゃねーの?
865 名前:デフォルトの名無しさん [2008/05/20(火) 16:47:06 ] 【質問テンプレ】 [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): キーボードから文字列を入力し、それを逆順に表示するプログラムを作成せよ。 表示には必ずポインタを用いること。 [3] 環境 [3.1] OS: (Windows xp [3.2] コンパイラ名とバージョン: Cl [3.3] 言語: C言語 [4] 期限:2008年5月22日hh:17時 [5] その他の制限: 文字列の長さを知る必要があるので工夫する. ポインタに最初どこを向けさせて、どこまでいったら表示を終えるかを考えること。 よろしくお願いします。
866 名前:863 mailto:sage [2008/05/20(火) 17:00:13 ] // >864の指摘も尤もなので、修正した。 // ついでに、s1[some]がs2中に存在したらコピー元をずらして、毎回一文字だけコピーする戦略に。 // これって、中のwhileの行を取り除いてp = s1をp = s2にしたらstrcpy()だ。 // static void removeChars(char * s1, const char * s2) { char * p = s1; do { while (* p != '\0' && strchr(s2, * p)) ++p; * s1++ = * p; } while (* p++ != '\0'); }
867 名前:マイク ◆yrBrqfF1Ew mailto:sage [2008/05/20(火) 17:57:22 ] アルエェー ぼるじょあってまだいたのかYO! 健康なのかYO!
868 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 18:04:52 ] >>865 #include <stdio.h> int main(void) { char str[256], *p; scanf("%s", str); for(p=str; *p; p++); while(p-->str) putchar(*p); return 0; }
869 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 18:10:32 ] せめてscanf("%255s", str)にしようよ。
870 名前: ◆g/ZMVdytmo [2008/05/20(火) 22:18:53 ] [1] 授業単元: C言語 for文 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6623.txt [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: CygnusVer.2.02.1 [3.3] 言語: C [4] 期限: ([2008年5月22日17:00まで] [5] その他の制限: 2問別々に組む。for文使用。 2問内包ですが、よろしくお願いします。
871 名前:865 [2008/05/20(火) 22:49:45 ] >>868 様 ありがとうございます!
872 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/05/20(火) 23:57:49 ] >>870 (・3・) エェー でけたYO! #include<stdio.h> int main(void){ int i, j, n; printf("段数を入力してください:"); scanf("%d", &n); for(i=0;i<n;i++){ for(j=0;j<n-i;j++) printf("*"); printf("\n"); } return 0; } #include<stdio.h> int main(void){ int i, j, n; printf("段数を入力してください:"); scanf("%d", &n); for(i=0;i<n;i++){ for(j=0;j<n-1-i;j++) printf(" "); for(j=0;j<=i;j++) printf("*"); printf("\n"); } return 0; }
873 名前: ◆g/ZMVdytmo [2008/05/21(水) 00:12:59 ] ぼるじょあ氏超絶感謝!! 意外とシンプルワラタww
874 名前:デフォルトの名無しさん [2008/05/21(水) 11:00:12 ] >>862 どうもありがとうございます。 どうやら条件があるみたいで「配列版」と「ポインタ版」 をつくり,それらの動作をテストするためのプログラムを作成する. どの関数も,与えられた文字列に何らかの加工を施すものである「配列版」とは,関数内の文字列に対する処理を配列的表現を使って記述したものである.文字列sの中のある文字にアクセスする場合に,s[i]という表現を用いる. 「ポインタ版」とは,関数内の文字列に対する処理をポインタ使って記述したものである. 関数内には,全く配列的表現が現れないように書く.単に,配列版の s[i] を *(s+i) に置き換えるだけではダメで,ポインタ変数の値を変化させて文字列を走査するように記述する. なんか面倒くさくて申し訳ないですが、よろしくお願いします。
875 名前:デフォルトの名無しさん [2008/05/21(水) 11:26:33 ] [1] 授業単元: C言語 for [2] 問題文(含コード&リンク): 整数の個数を読み込み、その個数分の整数を 読み込み、読み込んだ整数の最大値を求めるプログラムを作れ。 整数の個数: 3 No.1: 6 No.2: 3 No.3: 4 最大値は 6 です [3] 環境 [3.1] OS: WINDOWS XP [3.2] コンパイラ名とバージョン: Cl [3.3] 言語: C [4] 期限: 2008年5月21日19:00 [5] その他の制限: for文を使う事。 お願いしますm(__)m
876 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/05/21(水) 11:29:57 ] >>874 (・3・) エェー そういうことは先に言えYO! #include <stdio.h> #include <string.h> unsigned char *hoge(unsigned char *s1, const unsigned char *s2){ char *src, *dest; for(src=dest=s1;*src;src++){ if(!strchr(s2, *src)) *dest++=*src; } *dest='\0'; return s1; } int main(void){ char s1[1024]="", s2[1024]="sp."; fgets(s1, sizeof(s1), stdin); puts(s1); hoge(s1, s2); puts(s1); return 0; }
877 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/05/21(水) 11:34:22 ] >>875 (・3・) エェー でけたYO! #include <stdio.h> int main(void){ int i, value_num, value, maximum_value=12345; printf("整数の個数: "); scanf("%d", &value_num); for(i=0;i<value_num;i++){ printf("No.%d: ", i+1); scanf("%d", &value); if(i==0 || value>maximum_value) maximum_value=value; } printf("最大値は %d です\n", maximum_value); return 0; }
878 名前:デフォルトの名無しさん [2008/05/21(水) 11:41:23 ] >>877 乙です。助かりました!
879 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 14:49:36 ] 【質問テンプレ】 [1] 授業単元:プログラミング [2] 問題文(含コード&リンク) 身長 150 cm から 170 cm までの標準体重(BMI法で計算)によるの対応を 表示するプログラムを for 文を使って作成せよ。 標準体重は小数点以下を1桁だけ表示すること。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:特になし [5] その他の制限:特になし
880 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 16:55:15 ] >>879 pc11.2ch.net/test/read.cgi/tech/1211006255/455,460
881 名前:ぼろじょあ [2008/05/24(土) 06:03:58 ] (´3`) エェー でけねーYO!
882 名前: ◆ob60wHXQlc [2008/05/26(月) 23:12:53 ] [1] C言語 [2] 後から用意される2つのファイルがマージできるプログラムをつくる。 ファイルのサイズは最大で1000バイト。 unsigned shortを使う。 昇順。 [3] 環境 [3.1] Windows [3.2] visual studio [3.3] C [4] 5月27日のお昼まで。 [5] C言語始めて3週間です。 お願いします。
883 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/05/27(火) 10:35:13 ] >>882 (・3・) エェー 問題の意味が分からないYO!
884 名前:デフォルトの名無しさん [2008/05/27(火) 13:15:08 ] [1] 授業単元: C言語 [2] 問題 文字列sの文字の順を逆に置き換える. 関数の戻り値は文字列s(の先頭を指すポインタ値). s: "This is a pen." ↓ s: ".nep a si sihT" [3] 環境 [3.1] OS:LINUX [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C >876いつもありがとうございます。 助かります。 追加で問題だされました。 配列版のほうは自力でできましたがポインタ版のほうは無理でした。 よろしくお願いします。
885 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/05/27(火) 18:03:04 ] >>884 (・3・) エェー 配列版とかポインタ版とか省略すんなYO! 過去ログ読み直さないと意味分からんYO! #include<stdio.h> char *reverse(char *s){ char *p, *q, t; for(p=q=s;*q;q++); for(q--;p<q;p++,q--) t=*p,*p=*q,*q=t; return s; } int main(void){ char s[]="This is a pen."; puts(s); puts(reverse(s)); return 0; }
886 名前: ◆Anhlv1kDvE [2008/05/27(火) 21:17:24 ] 【質問テンプレ】 [1] 授業単元: C言語 [2] 問題文(含コード&リンク): コマンドプロンプトで実行して ”ファイル名は?” と聞いてきてテキストファイルのフルパス(場所)を入力してエンターキーで次は ”作成先は?” と聞いてきてフルパス(場所)を入力してエンターキーで終わり、 英文のかかれたテキストファイルから全英単語を重複なく順番に新しいテキストファイル(以下、”NEWテキスト”と呼ぶ)に書き込み保存するプログラミングです。 実際の内容の結果は次のようになる。 -------------------英文.txt------------------------------- I was wondering if my plant needs friends, do I need to get more of the same plant so it can get polinated and produce peppers? 続く
887 名前: ◆Anhlv1kDvE [2008/05/27(火) 21:20:15 ] 886 続き1 ------------------new英文.txt(プログラムによって新規作成)------------------------------ I was wondering if my plant needs friends, do need to get more of
888 名前:"gra454 [2008/05/27(火) 21:21:14 ] 887 続き the same so it can polinated and produce peppers? ------------------------------------------------- ポイント (1) NEWテキストの重複チェックは同じ単語でも大文字と小文字ひとつでも違えば書き込みはOKとする(プログラムが楽なよう) 例)Apple と apple
889 名前:gra454 [2008/05/27(火) 21:22:15 ] 888 続き では違うものとしNEWテキストに書き込みされる。また同じ単語でも記号が含まれていても違う単語と判断し、記号付きのままNEWテキストに書き込む。 例)get! と get つまり小文字、大文字を区別して一致し、さらに文字数も一致しないと重複とみなされない。 (できるならnew英文.txtは記号を削除して英数字の大文字と小文字のみにしたい。その場合上の例は重複となる) (2) Windowsで動作すること。NEWテキストのファイル名は毎回入力しないでいいように、英文のテキストファイルのファイル名の先頭に"new" をつけたものでいい。 例)英文.txt → new英文.txt [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: Visual C++ 2005 [3.3] 言語: どちらでも可 [4] 期限: ([2008年6月2日まで] [5] その他の制限: 初心者です
890 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/05/27(火) 21:36:09 ] >>886 (・3・) エェー ほらYO! #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct tag_list_t{ int num; char **wordlist; }list_t; int list_add(list_t *list, char *word){ int i; for(i=0;i<list->num;i++) if(strcmp(list->wordlist[i], word)==0) return 0; list->wordlist=realloc(list->wordlist, sizeof(char*)*(list->num+1)); list->wordlist[list->num]=strdup(word); list->num+=1; return 1; } int main(void){ list_t list={0, NULL}; char fname_in[FILENAME_MAX], fname_out[FILENAME_MAX], word[255+1]; FILE *fp_in, *fp_out; printf("”ファイル名は?”"); scanf("%s", fname_in); printf("”作成先は?”"); scanf("%s", fname_out); if((fp_in=fopen(fname_in, "r"))==NULL) return 1; if((fp_out=fopen(fname_out, "w"))==NULL) return 2; while(fscanf(fp_in, "%255s", word)==1) if(list_add(&list, word)) fprintf(fp_out, "%s\n", word); fclose(fp_in); fclose(fp_out); return 0; }
891 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 22:05:17 ] 質問長いしうpロダ使えよ
892 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/05/27(火) 22:19:22 ] >>889 (・3・) エェー 記号削除版だYO! while(fscanf(fp_in, "%255s", word)==1) if(list_add(&list, word)) fprintf(fp_out, "%s\n", word); ↓ while(fscanf(fp_in, "%255[A-Za-z]%*[^A-Za-z]", word)==1) if(list_add(&list, word)) fprintf(fp_out, "%s\n", word);
893 名前:デフォルトの名無しさん [2008/05/28(水) 00:15:53 ] [1] 授業単元: C言語 配列 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6691.txt[3] 環境 [3.1] OS: WINDOWS XP [3.2] コンパイラ名とバージョン: Cl [3.3] 言語: C [4] 期限: 2008年5月29日19:00 [5] その他の制限: 配列を使う事。 お願いします(><)
894 名前:デフォルトの名無しさん [2008/05/28(水) 00:17:25 ] >>893 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6691.txt 間違えたんで一応…
895 名前: ◆hwfaJ.m7oQ [2008/05/28(水) 00:28:46 ] >>886 ありがとうございます。 実行すると(記号未削除版) ファイル名は? 1.txt 作成先は? C:\ 続行するには何かキーを押してください . . . と出てエンターキーをおしても何も作られませんが?
896 名前:デフォルトの名無しさん [2008/05/28(水) 00:40:57 ] ヴィジュアルベーシック2005 携帯プログラミング テキストボックス1に文字が出る ボタン12個 ボタン1(1) ボタン2(2、A,B,C) ボタン3(3、D,E,F) ・・・ ボタン9(9、W,X,Y,Z) ボタン10(*)入力画面を初期化 ボタン11(0) ボタン12(#)同じ文字・数字をつづけて入力できる 多いですがプログラミングコードを教えてください。 本当によろしくお願いします。
897 名前:homoじょあ ◆5OLf4yFnuM mailto:sage [2008/05/28(水) 06:49:27 ] >>893 #include <stdio.h> int main(void){ int score[20], range[5] = {0}, input, i = 0, k; while(i < 20){ printf("[No.%2d]の成績を入力して下さい: ", i+1); scanf("%d", &input); if(input >= 1 && input <= 5){ score[i] = input; range[input -1]++; i++; } } puts("*** 成績分布 ***"); for(i=0; i<5; i++){ printf("評価[%d] (%2d人) ", i+1, range[i]); for(k=0; k<range[i]; k++){ if(k != 0 && k%5 == 0) putchar(' '); putchar('*'); } puts(""); } return 0; }
898 名前:デフォルトの名無しさん [2008/05/28(水) 09:33:44 ] >>897 乙です。
899 名前:デフォルトの名無しさん [2008/05/28(水) 09:43:03 ] [1] 授業単元: C [2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6691.txt[3] 環境 [3.1] OS: WINDOWS XP [3.2] コンパイラ名とバージョン: Cl [3.3] 言語: C [4] 期限: 2008年5月29日19:00 [5] その他の制限: 配列を使用 よろしくお願いします
900 名前: ◆ob60wHXQlc [2008/05/28(水) 09:57:39 ] >>883 100個の数字が入ったファイルが2つ用意されるので、 それを合わせて昇順にソートして、 新しいファイルに書き込むというものです。 ファイルはいっきに読み込まず、1レコードずつです。 よろしくお願いします。
901 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 10:09:06 ] >>899 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6694.c
902 名前:デフォルトの名無しさん [2008/05/28(水) 10:12:33 ] [1] 授業単元: C [2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6689.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Cygnus [3.3] 言語: C [4] 期限: 今週 [5] その他の制限: 配列を使用 お願いします。。。
903 名前:デフォルトの名無しさん [2008/05/28(水) 10:14:02 ] >>901 ありがとうございますっ
904 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/05/28(水) 10:31:25 ] >>882 (・3・) エェー こんなもん? #include<stdio.h> #include<stdlib.h> #define DATA_NUM_MAX (100*2) int compare(const unsigned short *a, const unsigned short *b){ if(*a>*b) return 1; if(*a<*b) return -1; return 0; } int main(int argc, char *argv[]){ FILE *fp_in, *fp_out; unsigned short data[DATA_NUM_MAX]; int i, data_num=0; if(argc!=4){ printf("Usage: ./a.out filename[in] filename[in] filename[out]\n"); return 0; } for(i=0;i<2;i++){ if((fp_in=fopen(argv[i+1], "r"))==NULL) return 1; for(;data_num<DATA_NUM_MAX;data_num++) if(fscanf(fp_in, "%hu", &data[data_num])!=1) break; fclose(fp_in); } qsort(data, data_num, sizeof(data[0]), (int (*)(const void *,const void *))compare); if((fp_out=fopen(argv[3], "w"))==NULL) return 2; for(i=0;i<data_num;i++) fprintf(fp_out, "%hu\n", data[i]); return 0; }
905 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 10:46:29 ] >>902 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6695.c
906 名前: ◆ob60wHXQlc [2008/05/28(水) 11:01:50 ] >>883 ありがとうございます!!!!!!! ちなみに、入ってる数字の数は不明だったとして、 ファイル1とファイル2の名前は相手に入力させ、 freadとfwriteを使ってファイル3に書き込み、 それをソートして1レコードずつ出力する。 っていうのはできたりするんでしょうか‥。 長くてすいません‥。
907 名前:デフォルトの名無しさん [2008/05/28(水) 11:08:15 ] >>905 ありがとうございます。 しかし、コンパイルしたら(haii1.cで保存) haii1.c: In function `main': haii1.c:14: warning: unknown escape sequence: `\' followed by char code 0x8e となってしまいました…。 該当部分のprintf("\nデータ一覧を表示します\n");を削ったら成功したんですがどうすればいいんでしょう?
908 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:11:04 ] んなあほな、そこはエラーというエラーは起こらないはずだが・・・
909 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/05/28(水) 11:15:12 ] 「表示」 S-JIS 文字コードの場合、十六進数表記で 95 5C 8E A6 5C == '\\' ってことでコンパイルオプションに以下を追加すればいいYO! --input-charset=cp932 --exec-charset=cp932
910 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:17:13 ] 俺も問題無し
911 名前:デフォルトの名無しさん [2008/05/28(水) 11:27:09 ] すみませんが初心者なので>>909 がよくわかりません。。。 具体的にはどうすればいいのでしょうか? 「表示」だけ削ればたしかに成功しますが…。
912 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:29:04 ] とりあえず、エラーじゃなくて警告だからスルーしておk
913 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:30:43 ] "表\示します" にすればいけるだろ
914 名前:デフォルトの名無しさん [2008/05/28(水) 11:31:33 ] データ一覧を侮ヲします とでました。orz
915 名前:デフォルトの名無しさん [2008/05/28(水) 11:33:54 ] >>913 よっしゃあああああああああああああああああああああああ できました!!皆様ありがとうございました!!!!
916 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:36:07 ] >>911 コンパイラする時にcmdで渡す引数に --input-charset=cp932 --exec-charset=cp932 を追加するって意味 C:\Work>command --input-charset=cp932 --exec-charset=cp932
917 名前:デフォルトの名無しさん [2008/05/28(水) 11:43:48 ] >>916 (´_ゝ`)フーン了解です。
918 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:43:58 ] まあ ソ系ダメ文字 でググれば原因はわかるはず
919 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:48:04 ] あぁ、あったなぁ・・・ソね。そーっすね。そうだね、そうなのか・・・そっかぁ・・
920 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 14:46:56 ] 最小値の出し方はわかるんですけど、2番目に小さい値ってどうすれば出ますかね
921 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 14:47:52 ] 最小の次、あるいはもう ソ ートして2番目ってことで
922 名前:920 mailto:sage [2008/05/28(水) 15:25:47 ] >>921 お早い解答有難うございます! 「ソーティング」で調べてやってみたらできました有難う御座いました。
923 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 15:37:00 ] さらに3番目、4番目、……、一番大きい値と知りたいとかならともかく 2番目を知りたいだけならわざわざソートするのは無駄が多い気がしなくもない
924 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 15:41:57 ] ソうやなぁ。まず一番最小の要素をチェキして、その要素以外で 次に最小のものをチェキ。並び替える必要はないが、基本選択法の 一部を用いれば・・・
925 名前:デフォルトの名無しさん [2008/05/28(水) 15:50:14 ] 比較と代入ってどっちが遅いんだっけ とりあえずi386系
926 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 16:44:37 ] 俺の超高速挿入はむっちゃ早いで?クイック挿入なんて目じゃねーぜ
927 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 18:21:22 ] 口で語る前にソース書け
928 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 19:50:35 ] >>927 オマエガナー
929 名前: ◆RbkvJVnu4Y mailto:sage [2008/05/28(水) 22:05:50 ] [1] 授業単元: [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6697.txt [3] 環境 [3.1] OS: xp [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語: C [4] 期限:緊急(最終期限:木曜深夜) [5] その他の制限:習ってるのはポインタ、配列、関数の初歩程度です。 なのでレベルを合わせたプログラムを書いていただけると助かります kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6692.txt 以上の解答をいただいたのですがやはりビットマスクはだめのようです ビットマスクのとこを配列でやる。 takaraにいっぱい詰め込む必要はないそうです 自分で一日ねばってもできませんでした どうかお願いしますm(_ _)m
930 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:16:09 ] 要するに全部配列使ってやればいいんでしょ int takara[SIZE][SIZE];/*宝が入ってれば1 無ければ0*/ int hide[SIZE][SIZE];/*既にオープンされている=1 されていない=0*/ int around[SIZE][SIZE];/*周囲の宝の数*/ もう出来たも同然
931 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:45:34 ] >>930 defineのビットマスクのとこにその配列を入れるってことですよね? なんか実行できないのですが… お手数かけますがプログラムを書いていただけませんか?
932 名前:デフォルトの名無しさん [2008/05/28(水) 23:57:30 ] [1] 授業単元: C [2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6706.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Cygnus [3.3] 言語: C [4] 期限: 今週まで [5] その他の制限:配列使用ですが、あまり複雑にならないほうが嬉しいです。 お願いします
933 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 00:33:13 ] >>931 適当に変えただけだjけど これでいいんじゃねーの kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6707.txt
934 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 00:57:39 ] >>933 解答していただき本当にありがとうございます staticっていうのはまだ習ってないのですが簡単に書き直せませんか?
935 名前:デフォルトの名無しさん [2008/05/29(木) 01:53:38 ] >>934 static外せばいいよ どうせmain()は一回しか呼ばれて無いだろうし
936 名前:デフォルトの名無しさん [2008/05/29(木) 02:14:40 ] #include <stdio.h> #include <stdlib.h> main(){ int I, YOU; srand(time(NULL)); I=rand()%3+1; YOU=rand()%3+1; printf("my choice="); scanf("%d",&I); printf("your choice="); scanf("%d",&YOU); if(I==0){ if(YOU==0){ printf("引き分け\n");} if(YOU==1){ printf("勝ち\n");} if(YOU==2){ printf("負け\n");} } else if(I==1){ if(YOU==0){ printf("負け\n");} if(YOU==1){ printf("引き分け\n");} if(YOU==2){ printf("勝ち\n");} } else{ if(YOU==0){ printf("勝ち\n");} if(YOU==1){ printf("負け\n");} if(YOU==2){ printf("引き分け\n");} }}
937 名前:デフォルトの名無しさん [2008/05/29(木) 02:16:08 ] 乱数使ってジャンケンしろって問題なんですが相手(YOU)の入力を 乱数にするにはどうすれば良いのでしょうか? >>936 に書いてみましたが IとYOUの両方とも入力しなければならないこととなっています。
938 名前:デフォルトの名無しさん [2008/05/29(木) 02:40:10 ] あ、出来ました。 IとYOUってのがちょっと分かりにくいですがw main(){ int I, YOU; srand(time(NULL)); YOU=rand()%3+1; printf("my choice="); scanf("%d",&I); printf("your choice=%d\n",YOU); printf("%d,%d\n",I,YOU);
939 名前:デフォルトの名無しさん [2008/05/29(木) 15:39:48 ] Cで経路探索のA*のプログラムはできますでしょうか? 他言語ならあるのですがcのみないのです・・・ 一応c++の擬似コードのりんくを貼っておきます・・・・ d.hatena.ne.jp/octech/20070712
940 名前:デフォルトの名無しさん [2008/05/29(木) 16:39:16 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): 西暦年を引数に取り、閏年かどうか判定する 関数 is_leap_year() を用いて、 開始年と終了年を入れると、開始年、終了年およびその間の年に 閏年が何個あるか数えるプログラムを作成せよ。 [3] 環境 [3.1] OS: (Windows) [3.2] 言語: (C++) [4] 期限: 5/29
941 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 23:10:09 ] #include <stdio.h> int is_leap_year(int year){return((((year) % 4) == 0) && (((year) % 100) != 0) || (((year) % 400) == 0));} int main(void){ int count=0; int i,a,b; scanf("%d %d",&a,&b); for(i=a;i<=b;i++){ if(is_leap_year(i)) count++; } printf("%d",count); return 0; }
942 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 01:41:35 ] 転載。期限切れだけど誰かやってあげて。 [1] 授業単元:Windous Programming [2] 問題文(含コード&リンク): 限界まで新規ウィンドウを開き続けるプログラムを完成させなさい。ただし、 1.開くウィンドウの閉じるボタン(通常右上に配置される[x]ボタン)は無効にすること。 2.限界まで開いたら、開いたウィンドウを全て閉じてきちんと後始末すること。 3.開いたウィンドウ数をカウントしておき、最後に「あなたのマシンの窓力はxxxです。」 (xxxには数値が入る)とダイアログで表示して終了すること。 [3] 環境:WindowsXP, VC++, C++ [4] 期限: 昼までに [5] その他の制限: 特になし
943 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 01:51:00 ] 意味ワカンネ
944 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 13:24:29 ] >[1] 授業単元:Windous Programming そんな単元あるなら見てみたいもんだ。
945 名前:デフォルトの名無しさん [2008/05/30(金) 16:49:35 ] [1]C言語 [2]組・名前・国語の点数・算数の点数が入った構造体がある。 もし組が同じなら、国語の点数を足していって、 1組ごとの合計をファイルに出力して、また次の組も。(算数も同様に。) [3] 環境 [3.1]Windows [3.2]visual studio [3.3]C [4]5月31日12:00 [5]キーブレイクというのをやらせたいみたいです。
946 名前:デフォルトの名無しさん [2008/05/30(金) 17:29:05 ] >>945 問題文省略して無い? それじゃいくらなんでも適当すぎる
947 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 17:29:45 ] そもそも、キーブレイクとはなんなのだ。
948 名前:945 [2008/05/30(金) 17:42:38 ] これしか聞いてなかったので今質問してきます!!
949 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 18:20:13 ] >>945 pc11.2ch.net/test/read.cgi/tech/1211980711/174
950 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 18:21:19 ] [1]C [2]放物線プログラム 定数として重力加速度、初速度 経過時間からX,Yをもとめる。 経過時間0の場合は(X,Y)は(0,0)
951 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 18:26:16 ] >>950 pc11.2ch.net/test/read.cgi/tech/1211980711/180 嫌がらせ?
952 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 20:05:38 ] ま、ぼるじょあが何であるか理解できてないような板だから、期待してはいないけどね。
953 名前:945 [2008/05/30(金) 21:09:46 ] 大事なとこが抜けてました。。 成績データレコード struct PERSONAL_REC { unsigned char number; (クラス番号) unsigned char reserve[3]; (予備) unsigned char name[80]; short kokugo; short sansuu; }; 成績集計レコード struct CLASS_REC { unsigned char number; (クラス番号) unsigned char reserve[3]; (予備) short kokugo; short sansuu; }; を使うということです! お願いします。
954 名前: ◆AfLWwW3FJ2 [2008/05/31(土) 00:12:40 ] [2] 問題文(含コード&リンク): テキストに [3] Visual C++ 2005 [3.1] OS: Windows XP [3.2] Visual C++ 2005 [3.3] 言語: どちらでも可 [4] 期限: 2008年6月2日 [5] その他の制限: 初心者 このプログラムに付け加えたいです kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6748.txt
955 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 00:49:15 ] 前も質問してなかった?別スレで
956 名前: ◆AfLWwW3FJ2 [2008/05/31(土) 01:27:10 ] >>955 どこかに投稿した覚えありますが 見失ったのですいません お願いします。
957 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 01:27:17 ] ひとついえることがある。 今の計算機ではshortは速度においても消費メモリにおいても doubleとまったく変わらないケースがほとんど。
958 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 03:53:17 ] >>956 質問しておきながら見失ったんですか。。。 善良な誰かが大切な時間を費やして回答してくれたかもしれないのに、 それをいともたやすく踏みにじるんですね。 反吐が出ます。
959 名前: ◆AfLWwW3FJ2 [2008/05/31(土) 04:00:21 ] >>958 いえどこかにテキストをアップロードしただけで 質問はしてません。 一応すいません。ここはプログラムを教えあうところで 言い合いしたくないので。 質問がどんどん埋もれるので 954 の質問お願いします。
960 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 04:07:25 ] >>959 tolower使えばいいじゃん。 なんなの?
961 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 04:08:56 ] 作ってもらって理解してないからそんな醜態晒すことになるんだよ 頼むから留年してよ
962 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/05/31(土) 07:52:03 ] >>954 (・3・) エェー ただ一つの愛があれば救われるYO!
963 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 10:18:24 ] (・3・) 〜♪
964 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 14:17:45 ] >>962 誰がうまいことを言えとw
965 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 14:37:24 ] > ここはプログラムを教えあうところで言い合いしたくないので。 質問がどんどん埋もれるので954の質問お願いします。 これは笑ったwwwwww
966 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:12:26 ] >>965 一応すいません。ここはプログラムを教えあうところで 言い合いしたくないので。 質問がどんどん埋もれるので 954 の質問お願いします。 wwwwww
967 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:43:51 ] [1] 授業単元: [2] 問題文(含コード&リンク): 分子と分母をint型で入力すると、その小数値を表示するプログラムを作成せよ。 なお、循環する場合は"[ ]"で括る事。 例: 分子:1 分母:3 値:0.[3] [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 2008/6/1 23:00 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 桁数があまりにも多くなる場合、任意で打ち切ってよい。 ただしその場合は閉じ括弧は表示しないこと。
968 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 16:39:52 ] >>959 > ここはプログラムを教えあうところで いいえ。ぼるじょあがC/C++の宿題を片付けるところです。
969 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 16:54:58 ] >>968 質問がどんどん埋もれるので 954 の質問お願いします。 wwwwww
970 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/05/31(土) 18:37:39 ] >>967 (・3・) エェー 結構面倒だったYO! #include<stdio.h> #define BUF_SIZE 2048 int main(void){ int bunsi, bunbo, c, i, is_inf=0; int mod[BUF_SIZE]; char result[BUF_SIZE]; scanf("%d %d", &bunsi, &bunbo); printf("%d.", bunsi/bunbo); bunsi%=bunbo; for(c=0;(mod[c]=bunsi%bunbo) && c<BUF_SIZE && !is_inf;c++){ result[c]=bunsi*10/bunbo+'0'; for(i=0;i<c;i++){ if(mod[c]==mod[i]){ is_inf=1; break; } } bunsi=(bunsi*10)%bunbo; } if(is_inf) printf("%.*s[%.*s]\n", i, result, c-1-i, result+i); else printf("%.*s\n", c, result); return 0; }
971 名前:側近中の側近 ◆0351148456 [2008/06/01(日) 22:59:04 ] >>945 (っ´ 3 `)っ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6762.txt
972 名前:デフォルトの名無しさん [2008/06/01(日) 23:48:15 ] >>971 本当に助かりました。m(__)m
973 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 15:35:43 ] 質問がどんどん埋もれるので 954 の質問お願いします。
974 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 16:45:07 ] >>971 の気持ち悪い人にやってもらいな
975 名前:デフォルトの名無しさん [2008/06/05(木) 00:04:25 ] [1] 授業単元:プログラミング演習1 [2] 問題文(含コード&リンク): m ×m 行列を入力し和と積を求め、結果を行列の形で表示させる プログラムの作成。但し、入力した行列も表示。 <表示例> 1 2 3 4 [3] 環境 [3.1] OS:WinXP/linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等):VC++/gcc [3.3] 言語:C言語 [4] 期限:2008/06/06 [5] その他の制限: stdio.h、入力はscanf関数、出力はprintf関数、配列で プログラムの冒頭ですが、これで配列可変になるんでしょうか…? int m,i,j;/*要素、カウント用変数宣言*/ printf("行列数を入力"); scanf("%d",&m); int a[m]=0; int b[m]=0;
976 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:14:36 ] >>975 > プログラムの冒頭ですが、これで配列可変になるんでしょうか…? C89はできません
977 名前:デフォルトの名無しさん [2008/06/05(木) 00:15:58 ] [1] 授業単元: [2] 問題文: ポインタを使った循環リストを実装せよ.リストの表示、ノード の挿入,削除を行う関数を作ること.なお,リストのノードNode は以下のよ うに定義されている. typedef struct { // data type int no; char name[10]; } Data; typedef struct __node { // node definition Data data; struct __node *next; } Node; 実行例: (0) Insert a Node (1) Delete a Node (2)View the List (3) exit : 0 Please input the data. No.: 1 Name: Lu (0) Insert a Node (1) Delete a Node (2)View the List (3) exit : [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:BorlandC++ [3.3] 言語:C [4] 期限:6月5日16:00 [5] その他の制限:一応構造体まで習っているので、初歩的な知識程度だと思われます よろしくお願いします
978 名前:デフォルトの名無しさん [2008/06/05(木) 01:13:25 ] 2008/06/01 こんにちは 管理人です 2003年から運営しているこのサイトですが もはや掲示板やブログの類は機能せず、 唯のアップローダーサイトになってしまっているという現実と 本スレの酷い衰退具合と、運営費の問題と そして私の受験という様々な要因から 今までも事実上の閉鎖状態ではありましたが 今日をもちまして正式な閉鎖とさせて頂きます。 何故かアップローダーとしては多少名が知れているらしく、 毎日何方かが利用して下さってたのですが 申し訳ありません。 ここについては基本的に弄ることなく残しておこうとは思いますが、 XREAの有料アカウントが解除されると同時に容量制限により 過去ログは殆ど飛んでしまうと思われます。(11月に切れます) 過去ログが飛んでしまえばもはや何も無い空のサイトですが、 せめてAAデータベースや1001変更の纏めは残しておきます。 borujoa.orgとpcqa.orgのドメインに関しての処理は未定です 今後どこかで流用するかもしれません。 右に表示されているメッセのアカウントは現在でも使用しており、 これからも使用する予定なので 過去ログがどうしても必要だ、等何か連絡がありましたらお気軽にどうぞ。 中1から始まったゆとりの暇つぶしに今までお付き合い頂き、 本当にありがとうございました。 ぼるじょあ文化が絶えないことを祈っております。 ではまたいつか www.borujoa.org/
979 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:17:02 ] VS2008のVC++を使っているのですが インテリセンスの表示をデフォルトのCtrl+Spaceではなくて VBのように何も押さなくても リアルタイムに表示するようにしたい場合はどうすればいいでしょうか?
980 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:58:54 ] >>977 pc11.2ch.net/test/read.cgi/tech/1211980711/371 これと同じ >>975 pc11.2ch.net/test/read.cgi/tech/1211980711/625 これは、、ただのマルチか?
981 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 13:07:25 ] C言語のリスト構造によるスタック・キューそれぞれについて、 要素数を管理する変数を用意して追加・削除の際に更新する方法で、 格納されている要素数を取得することの利点・欠点がわかりません。 又は、スタック・キューの全要素を追査して現要素数を調べて要素数を 取得する方法の利点・欠点でも構いません。 どなたか宜しくお願いします。
982 名前:デフォルトの名無しさん [2008/06/05(木) 13:14:56 ] >>981 要素数を得るときの計算量がO(1)かO(n)かの違いでいいんでね?
983 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 13:18:46 ] >>981 別途変数を用意すると要素数を知るのが速くなるが、その分メモリを多く消費する