- 1 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 03:01:54 ]
- あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう. ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。 【質問テンプレ】 [1] 授業単元: [2] 問題文(含コード&リンク):() [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html 【過去ログ検索】 chomework.sakura.ne.jp/ 【wiki】 www23.atwiki.jp/homework/ 【前スレ】 C/C++の宿題を片付けます 99代目 pc11.2ch.net/test/read.cgi/tech/1194262698/
- 215 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 15:42:30 ]
- >>214
#include <stdio.h> #include <time.h> void gput(const char *s, int speed) { clock_t c; while(*s) { putchar(*s++); c = clock(); while(clock() - c < speed); } }
- 216 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 15:53:26 ]
- [1] 授業単元: プログラミング
[2] 問題文 数字の点数を読んで、クラスの平均点、最低点と最高点を求めるプログラムを書け [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: 不明 [3.3] 言語: C#なんだけど、ほかのスレタイ調べても頼めないからみんなたのむ。 [4] 期限: 今週の金曜 [5] その他の制限:結構レベルが低いので複雑なプログラムはご遠慮願います。
- 217 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 16:20:24 ]
- #include<stdio.h>
int main(){ int n; printf("数字の点数を入力してください ",n); scanf("%d",&n); printf("平均点 %d\n",n); printf("最低点 %d\n",n); printf("最高点 %d\n",n); return 0; }
- 218 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 16:28:01 ]
- int ClassMenberNum = 1;
- 219 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 16:48:02 ]
- >>214
while(clock() - c < speed); → while(1000*(clock() - c) / CLOCK_PER_SEC < speed);
- 220 名前:学生 [2007/11/26(月) 16:50:23 ]
- 大学の授業で課題が出ました。初めてプログラミングやるので分かりません。
お願いします。自分は全くの初心者ですお願いします。 【C言語・質問】 以下、課題です。 @課題内容 駐車場のシュミュレーション・課題先リンク www.trpt.cst.nihon-u.ac.jp/processing/2006/parking.html ※貴方自身がコンビニやパチンコ店の管理者となり、 イメージして以下の条件は各自自由な値としてよい。 ・駐車場の台数 ・平均駐車時間(s) ・駐車時間の標準偏差(s)・駐車車両発生条件(開始時間 s ) ・その時間における発生確率(台/s)・駐車車両発生条件(中間時間 s ) ・その時間における発生確率(台/s) 例:パチンコ店 駐車場の台数=200台 来店頻度=400秒に1台 平均駐車時間=120分 等 上記の設定で、グラフも出る様にすること。 A課題の参考場所 www.trpt.cst.nihon-u.ac.jp/processing/parkingsim.c 上記の言語がベースになる様です。
- 221 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 16:53:28 ]
- >>220
ログインできないのでユーザー名とパスワードを教えてください。
- 222 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 16:54:27 ]
- >>220
>>1のテンプレに則ってください
- 223 名前:学生 [2007/11/26(月) 16:57:21 ]
- >>221
すみません ユーザー:1424 PASS:1424 両方同じです。 >>222 すみませんでした。以後注意します
- 224 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 16:57:39 ]
- >>215
>>219 ありがとう!助かります!
- 225 名前:学生 [2007/11/26(月) 17:08:27 ]
- テンプレに沿って書き直しました。
[1] 授業単元:情報処理 [2] 問題文:上記に掲載しました。 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: bcPad [3.3] 言語: C言語 [4] 期限:本日中 [5] その他の制限: 自分はプログラミング素人です。各文字の意味は知っています
- 226 名前:デフォルトの名無しさん [2007/11/26(月) 17:08:48 ]
- [1] 授業単元:C言語(システムコール)
[2] 問題文(含コード&リンク): 10から0までの整数を1秒ごとに表示する親プロセスと子プロセスを生成しなさい。 備考 ・fork() を用いること ・getpid() を用いて、親プロセスと子プロセスのプロセスIDを表示すること ・wait() を親プロセスで用いない場合と用いた場合を作成すること [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: なし [5] その他の制限: なし
- 227 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 17:10:30 ]
- >>223
大学の鯖に入れって事だろ? なんか、ギリギリアウトな気がするんだが・・・w
- 228 名前:学生 [2007/11/26(月) 17:12:26 ]
- >>227
大丈夫です。過去にも依頼した事がありあす。 このページ作っているのは大学院生です。見ていません
- 229 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 17:18:01 ]
- すげぇなぁ、おいw
- 230 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 17:19:11 ]
- 基本技術者試験とかの設問で、不正アクセスになるのはどれか? という選択肢にありそうだなw
- 231 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 17:25:44 ]
- 不正アクセスでタイーホ
- 232 名前:学生 [2007/11/26(月) 17:26:50 ]
- >>230
多分不二家ですねw 大学の鯖は、情報処理を履修している学生200名が利用していますよ
- 233 名前:デフォルトの名無し [2007/11/26(月) 17:44:19 ]
- [1] 授業単元: プログラム演習
[2] 問題文:入力された正の2整数の最大公約数と最小公倍数を算出する。 1(異常) ・キーボードからの入力が空の場合は処理を終了する。 ・キーボードからの最大入力桁数は4バイトとする。 ・キーボードからの入力が4バイトを超える場合は処理を終了する。 ・キーボードからの入力が正の整数に変換できない場合は処理を終了する エラーメッセージ 未入力 :入力されていません、桁あふれ:4文字以下で入力してください、数値以外:半角数字以外入力できません、ゼロ入力:0は入力できません 文字列を正数に変換する関数はatoiを使用。 引数 char data[] 文字列 戻り値 : 正数 エラー値 -1 未入力 -2 桁あふれ -3 数値以外-4 ゼロ入力 最大公約数を算出の関数名はgcdでユークリッドの互除法を使用。 引数 int data1 データ1 int data2 データ2 戻り値 : 最大公約数 最小公倍数を算出する関数名はlcm。最小公倍数を算出する際、最大公約数の関数を使用する。 引数 int data1 データ1 int data2 データ2 戻り値 : 最小公倍数 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 11・27まで [5] その他の制限: なし
- 234 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 18:34:03 ]
- >>232
利用者は関係なくてだね アクセス制限してる以上、君が公開したところで罪になるのは見た人なんだよ
- 235 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 19:27:26 ]
- 好奇心から侵入してしまった俺は2chの歴史に刻まれるのか
- 236 名前:デフォルトの名無し [2007/11/26(月) 19:36:51 ]
- 1] 授業単元: ぷろぐらむ
[2] 問題文:入力された「対象文字列(s)」の中から、「検索文字列(t)」を検索し、 該当した「対象文字列」の添字を戻り値とする関数「search(s,t)」を作成しなさい。 ただし、「対象文字列」が「検索文字列」を含まない場合には「-1」を戻り値とする。 なお、関数「search(s,t)」は別ファイルに分け(main関数とそれ以外の関数)、 分割コンパイルできるように作成しなさい。 このとき、main関数以外の関数宣言が記述されたヘッダファイルを作成し、 main関数のソースファイルにて利用すること。 (例) 以下の値で動作した場合は、「3」を返す。 文字列s = “aababcbaa” 文字列t = “abc” 入力は最大128バイトとする。128バイトを超える入力があった場合は処理を終了する [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限:11月27日まで [5] その他の制限: なし
- 237 名前:デフォルトの名無し [2007/11/26(月) 19:44:50 ]
- 1] 授業単元: プログラミング言語
[2] 問題文:与えられた数字文字列を数値(int型)へ変換する関数 AsciiToIntを、ポインタを使用して作成せよ。 さらに、この関数を使用し、入力された文字列が実際に数値変換されたことを確認するプログラムを作成せよ。 引数 char *s 文字列のポインタ int *value 変換結果 戻り値 : 結果 文字列が空または8桁以上の場合はエラー値を返す。 文字列が数値に変換できない場合はエラー値を返す。 処理手順 文字列が空または8桁以上の場合はエラー値を返す。 先頭の文字列が符号+/-の場合、それを取り除いた文字列をチェック対象とする。 文字列の桁数を取得。 文字列を読み込んで、以下の処理を行う。 先頭文字列が+/-の場合は、符号情報を保持しておく。また、桁数が1の場合は、エラー値を返す。 ASCIIコードを使用し文字列をチェックし、数値以外であった場合はエラー値を返す。 取得した入力文字列の桁数、読み込んだ数値とその桁数より、数値計算を行う。 計算した結果を合計値に加算する。 入力値がマイナスであった場合、合計値に符号を付加する。 合計値を返す。場合は、エラー値を返す。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C言語 [4] 期限: 11/27 [5] その他の制限:なし
- 238 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 21:16:55 ]
- >>216
「読む」の意味がいまいちわからないけどこんなんかな using System; class Sample{ public static void Main(){ int[] point = new int[5]; int max=int.MinValue, min=int.MaxValue; double avg=0.0; try{ for(int i=0; i<5; i++){ Console.Write("{0}人目の得点->", i+1); point[i] = int.Parse(Console.ReadLine()); } for(int i=0; i<5; i++){ if(max < point[i]) max = point[i]; if(min > point[i]) min = point[i]; avg += point[i]; } Console.WriteLine("最高点:{0}点\n最低点:{1}点\n平均点:{2}点", max, min, avg/5); } catch{ Console.WriteLine("なんか例外"); } } }
- 239 名前:デフォルトの名無しさん [2007/11/26(月) 21:18:15 ]
- [1] 授業単元プログラミング
[2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5336.txt [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語: C言語 [4] 期限: 11/27 [5] その他の制限: 特になし
- 240 名前:デフォルトの名無しさん [2007/11/26(月) 21:25:29 ]
- (1)C言語
(2)問題 ・与えられた個数の正の整数を格納している配列のうち、最大となる値を検出して、その値を 格納している配列要素の値を0に書き換える。すると新しい配列においては、もとの配列で 大きい方から数えて2番目の数値が最大値となっている。さらにもう一度、この新しい配列 における最大値を格納している配列要素の値を0に書き換える。するとこの時点でのさらに 新しい配列では、最初の配列において大きい方から数えて3番目の数値が最大となってい る。このことを利用して、下記のプログラムを作成せよ。 (ここで示した方法は、いわゆる整列(ソーティング)問題の1つの解法となり得るが、効率的 な方法ではない) まずメイン関数において、キーボードから正の整数の個数(100以内)を入力し、次いで実 際の数値を配列に入力する。そしてメイン関数はサブ関数に、入力した個数と配列を引数とし て渡す。 サブ関数は、これらの配列から、まず1番目に大きい数を見つけて、それを別途設けた配列 の先頭の要素に格納し、次に2番目に大きい数を見つけてこれをこの配列の先頭から数えて 2番目の要素に格納し、という処理を最後の数に至るまで繰り返す。これにより新しい配列に は大きい数から順に並んでいることになるので、これを引数を利用してメイン関数に渡す。(す なわちサブ関数は引数を3つ持つことになる。1つはデータの個数を示す変数、1つは入力デ ータを格納する配列、残りの1つはサブ関数で計算した結果を格納する配列である) 最後にメイン関数はサブ関数で計算された新配列の値を若い方の要素から順に(即ち大き い数から順に)画面に表示する。またこの数列の中央値を表示する(中央値に小数が含まれ る場合は、その小数を切り捨てた整数を表示することとする)。 (3)環境 (3.1) OS:Windows (3.2)コンパイラ名とバージョン: 不明 (3.3) (3.4)C言語 (4)期限 :11月30日 (5)基礎的なことしか習っていないのですがよろしくお願いします。
- 241 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 21:35:49 ]
- >>236
関数だけ作った #include <string.h> int search(const char *s, const char *t); int search(const char *s, const char *t){ char *p; p = strstr(s, t); if(p == NULL)return -1; return p-s; }
- 242 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 21:41:55 ]
- >>241
>入力は最大128バイトとする。128バイトを超える入力があった場合は処理を終了する この部分の仕様を満たしてなくね? if ( strlen( s ) > 128 ) exit( 0 );とか追加すればいいだけど。
- 243 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 21:44:04 ]
- >>242
何ぃ!その部分はmain側だと思ってた! じゃあそれつけといて下さい
- 244 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 22:08:23 ]
- >>237
関数だけ作った valueの使い道がわからなかった #include <stdio.h> #include <string.h> #define ERROR_INT 100000000 int AsciiToInt(char *s, int *value){ int calc = 1, cnt, i, ans=0; cnt = strlen(s); if(cnt > 8 || cnt <= 0)return ERROR_INT; if(*s=='+' || *s=='-'){ calc = *s=='+' ? 1 : -1; s++; cnt--; } if(cnt <= 0)return ERROR_INT; for(i=0; i<cnt; i++){ if(strchr("0123456789", s[i]) == NULL)return ERROR_INT; ans = ans*10 + s[i]-'0'; } return ans * calc; }
- 245 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 22:20:15 ]
- >>244
valueに値を格納して返す値は正常or変換結果じゃないか? 「変換結果を返す」ってあるけど、普通は正常or異常を返して 正常ならvalueに変換された値が格納されているって感じだな。
- 246 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 22:25:25 ]
- >>240
#include <stdio.h> #define N 10 void subfunc(int cnt, int *num, int *ans){ int i, k, pos; for(i=0; i<cnt; i++){ for(k=1, pos=0; k<cnt; k++){ if(num[pos] < num[k])pos = k; } ans[i] = num[pos]; num[pos] = 0; } } int main(void){ int i, num[N], ans[N], sum=0; for(i=0; i<N; i++){ printf("%d個目->", i+1); scanf("%d", &num[i]); } subfunc(N, num, ans); for(i=0; i<N; i++){ printf("%d ", ans[i]); sum += ans[i]; } printf("\n中央値:%d\n", sum/N); return 0; }
- 247 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 22:39:13 ]
- [1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): www.vipper.org/vip677010.txt "sample.txt"というファイルを読み込み、グラフにしたとき山になる点を順番と大きさを"result.txt"に出力するプログラムを書け。 ファイルオープンに失敗した場合は失敗した旨を表示させること。 ※[3, 10] [6, 6] [9, 9] をresult.txtに出力できるようになればいいみたいです。 [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン: VisualC++2005ExpressEdition [3.3] 言語: C [4] 期限: 11/27 [5] その他の制限:とくになし よろしくお願いします。
- 248 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 23:24:31 ]
- >>233
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5339.txt
- 249 名前:デフォルトの名無しさん [2007/11/26(月) 23:25:04 ]
- [1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): (1)malloc()を用いて元のリストの構造をコピーしたリストを返すプログラム ※再帰的なプログラムをすること。以下を使用。 MyList *cpMyList(MyList *ptr); (2)malloc()を用いて元のリストの先頭からn個のnodeをコピーしたリストを 返すプログラム ※nがリスト長より長いときにはそこまでの長さんのリストを返せばよい ※再帰的なプログラムにすること。 MyList *cpnMyList(MyList *ptr, int n); (3)malloc()を用いて与えられた二つのリストをつなげたリストを返すプログラム MyList *mergeMyList(MyList *ptr1, MyList *ptr2); ----------------------------------------- 冒頭は以下を使用 #include<stdio.h> #include<stdlib.h> #include<malloc.h> typedef struct node { int data; struct node *next; } MyList; [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限: 11/28 なにとぞ、よろしくお願いします。。
- 250 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 23:29:37 ]
- ↓第1回、国際ニコニコ映画祭 大賞作品
www.nicovideo.jp/watch/sm1493205 はっきりいって糞暴力動画 これでいいのか?ニコニコ動画!??
- 251 名前:128 mailto:sage [2007/11/26(月) 23:47:54 ]
- >>131>>154
>>132のでは実行してもなぜか何も表示されませんでした。 自分の環境では>>154のプログラムで正しい答えが出ました。 ありがとうございました。 あと数列に直すために色々試したのですができません・・・ これもお願いしていいでしょうか?
- 252 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 23:52:10 ]
- よくあんな巨大配列で動いたもんだ
- 253 名前:コーンポタージュ [2007/11/27(火) 00:40:29 ]
- >>147
追加・変更があるので、改めて掲載します。 【質問テンプレ】 [1] 授業単元:グラフ彩色問題 [2] 問題文 [2.1]グラフ彩色問題に対する近似解法SEQを作成せよ [2.2].頂点を次数の降順にソートした後にSEQを適用するプログラムを作成せよ [2.3]グラフ彩色問題に対する近似解法RLFを作成せよ 問題の詳細(pdfなので少々重いです。最後の方のプログラミング課題です) www-2ch.net:8080/up/download/1196004537765593.vEHtcV サンプルプログラム(これを参考にプログラムを解くそうです) www-2ch.net:8080/up/download/1196004323585273.o4l1bm [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限:2007年12月7日 [5] その他の制限:特にありません。 よろしくお願いします。
- 254 名前:デフォルトの名無しさん [2007/11/27(火) 00:42:17 ]
- >>249
はいよっと、一応条件満たしてると思うけど MyList *cpMyList(MyList *ptr) { MyList* pRet; if(!ptr) return NULL; pRet = malloc(sizeof(MyList)); memcpy(pRet, ptr, sizeof(MyList)); pRet->next = cpMyList(pRet->next); return pRet; } MyList *cpnMyList(MyList *ptr, int n) { MyList* pRet; if(!ptr || n==0) return NULL; pRet = malloc(sizeof(MyList)); memcpy(pRet, ptr, sizeof(MyList)); pRet->next = cpnMyList(pRet->next, n-1); return pRet; }
- 255 名前:デフォルトの名無しさん [2007/11/27(火) 00:42:58 ]
- >>249
マージする部分ね MyList *mergeMyList(MyList *ptr1, MyList *ptr2) { MyList* pRet; MyList* pIdx; if(!ptr1) return cpMyList(ptr2); pRet = cpMyList(ptr1); pIdx = pRet; while(pIdx->next) pIdx = pIdx->next; pIdx->next = cpMyList(ptr2); return pRet; }
- 256 名前:デフォルトの名無しさん [2007/11/27(火) 00:51:55 ]
- >>249
うっぷろーだがあったんだ、こっちに上げといた kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5340.txt
- 257 名前:216 mailto:sage [2007/11/27(火) 01:33:08 ]
- >>238
すまない・・・せっかくといてもらったんだけど、CじゃなくてC#なんだ・・・。 スレッド自体はCかC++なんだけど、 C#のスレッドがなくてここの住人に頼るしかなくてね・・・。
- 258 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 01:45:34 ]
- >>247
#include <stdio.h> main() { int x , y, old_x = 0, old_y = 0, a = 0; char line[1000]; FILE *fin,*fout; if((fin=fopen("sample.txt","r"))==NULL){ printf("sample.txt can't open.\n"); exit(1); } if((fout=fopen("result.txt","w"))==NULL){ printf("result.txt can't open.\n"); exit(1); } while(fgets(line,1000,fin)!=NULL){ sscanf(line,"%d,%d",&x,&y); if(y - old_y >= 0){ old_x = x; old_y = y; a = 1; }else{ if (a == 1){ fprintf(fout,"[%d,%d]\n",old_x,old_y); } old_x = x; old_y = y; a = 0; } } fclose(fin); fclose(fout); }
- 259 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 01:59:18 ]
- >>257
大丈夫か?>>238はcscでコンパイル・実行可能だぞ?
- 260 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 02:04:02 ]
- >>257
むしろ、C/C++じゃコンパイルすら通らないと思うんだが
- 261 名前:デフォルトの名無しさん [2007/11/27(火) 02:43:36 ]
- >>254>>255>>256さん
ありがとー!!助かります!
- 262 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 02:48:59 ]
- 次スレからはスレタイにC#も入れとこう。
- 263 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 03:05:38 ]
- >>258
ありがとうございました。
- 264 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 09:17:17 ]
- >>220
これは善意の人間を犯罪者にするかのような誘導。 不正アクセスに繋がるから、このページに行く必要は全く無い。
- 265 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 09:38:45 ]
- >当該アクセス管理者若しくは当該利用権者の承諾を得てする場合は、この限りでない。
正規の利用者からパスワード教えられてアクセスする場合って 不正アクセスになるんだっけ?法律にはうといからよくわからん・・・
- 266 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 09:51:00 ]
- >>265
そもそも>>220が正規利用者だという確証は一つも無い。 下手をするとhackingを行った犯罪者だということすら考えられる。 そしてそのhackerからpassを教えてもらってアクセスすれば、 我々は立派な犯罪者になってしまう。
- 267 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 10:02:58 ]
- 故意かどうかって関係ないんだっけ?
まぁアクセスしないのが一番確実だけど。
- 268 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 10:17:33 ]
- >>220が、そのIDとパスワードの所持者"本人"であれば、以下の法律
不正アクセス行為の禁止等に関する法律 law.e-gov.go.jp/htmldata/H11/H11HO128.html 第四条に該当し"許可を得た"ということになるんだが、本人であるという証明がなされていない。 2ちゃんねるにパスワードを掲載する=Web検索のロボットにキャッシュされる。 それと、ログインした人間のIPや環境情報はサーバーログを見ればすぐに判る。 管理していないとしても、しっかり残るので後で掘り返すことが可能。 逮捕者の実例 News:速報:“2ちゃんねらー”6人逮捕,不正アクセスで www.itmedia.co.jp/news/bursts/0109/27/2ch.html 第3者が"権利者の許可なく"そのパスワードでログインした場合は不正アクセス。
- 269 名前:デフォルトの名無しさん [2007/11/27(火) 10:42:40 ]
- [-3、3] fx=1/(1+5X^2) 分点10 (n=9)
この条件を使ってラグランジュ補間のプログラムを作れって問題なんですけどさっぱりです。ちなみにC言語です
- 270 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 10:44:38 ]
- >>269
とりあえず>>1にテンプレートという便利なモノがあるからそれを大いに活用したほうが良い
- 271 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:16:08 ]
- >>253
せめて問題例データくらい作って置いたらどうかな 頂点10で辺数27でしょ、PG作ってデータまで作るとなると、相当な暇人でもやらんと思う
- 272 名前:デフォルトの名無しさん [2007/11/27(火) 11:16:32 ]
- >>270
OSはLinux 知識はCとC++なら多少は分かる とにかく提出したらいいので多少自己流で解かれても大丈夫です
- 273 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:17:46 ]
- >>272
質問の仕方も自己流にこだわるのかw
- 274 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:31:34 ]
- 数式も自己流だしなあ。せめて人に通じる式で書こうよ。
- 275 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:48:09 ]
- >>269
ラグランジュ補間は、本来、N点のデータが与えられた時、 それらの点を繋ぐことのできるxの多項式の係数を求めるという方法です。 プログラミング以前に、数学的な理解がおろそかだと思われます。 もっと言うと、補間に関するソースは至る所に掲載されています。 それを用いれば簡単に目的は達成できます。
- 276 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:48:56 ]
- え、あれで通じないとは、どんだけ数学弱者なんだよ
俺は解かないけど。
- 277 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:53:03 ]
- >>276
そこまで言ったら解いてやれよw
- 278 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 12:02:55 ]
- >>277
どこがわかんないか質問してくれれば、その回答はするよ
- 279 名前:デフォルトの名無しさん [2007/11/27(火) 12:12:41 ]
- 要は難しすぎて僕らには解けません。僕らがわかるのは文字の出力だけです。参りました。
- 280 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 12:30:53 ]
- >>272 には是非そのままの態度で自分の求める解答を引き出すテクニックを見せてもらいたい
- 281 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 12:35:37 ]
- つまり>>269は、与えられたfxと範囲から10個の点をまず生成して、
その生成された点からラグランジュ補間を行うxの多項式の係数を求め、 元のfxと比較しろという問題なのか?
- 282 名前:デフォルトの名無しさん [2007/11/27(火) 12:37:24 ]
- [授業単元]プログラミング
[問題文] #include <stdio.h> #include <math.h> #define EPS 1e-7 /* 収束判定の許容誤差ε */ /* ★ 関数 f(x) とその導関数 df(x) を定義する*/ int main() { int n; double x, y; printf("n x f(x)\n"); printf("--- ---------- ----------\n"); n = 0; x = /* ★ 初期値を設定 */ y = f(x); printf("%3d %10.7f %10.7f\n", n, x, y); while (/* ★ |f(x)|<ε となったとき終了 */) { /* ★ 途中の計算結果も出力するように、適切な位置に printf 文を追加せよ */ n++; x = /* ★ ニュートン・ラフソン法の漸化式 */ y = f(x); } return 0; } /* end of kadai_8_sample.c */ 方程式 x^3 = 2 の解をニュートンラフソン法で求めよ。 収束判定は |x^3 - 2|<10^-7 とする。 初期値は各自で決める [os] linux [言語] c [期限]本日14:00 宜しくお願いします
- 283 名前:デフォルトの名無しさん [2007/11/27(火) 12:44:23 ]
- ごめん。俺が間違ってたわ。もういいわ
- 284 名前:デフォルトの名無しさん [2007/11/27(火) 12:52:30 ]
- m < 30000 、n< 16 が与えられたとき、mがnで割り切れるか調べるプログラム
ただし、/や%や10回以上のループは使えない
- 285 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 12:54:59 ]
- >>284
mの因数分解表をあらかじめ作っておいて判定する
- 286 名前:デフォルトの名無しさん [2007/11/27(火) 12:55:16 ]
- 訂正
m < 30000 、n< 16 が与えられたとき、mがnで割り切れるか調べるプログラム ただし、/や%や16回以上のループは使えない
- 287 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 12:57:28 ]
- 別にループが使えないならループを展開しとけば良いだろ
- 288 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 12:59:47 ]
- >>286
2 ・・・ 一の位が2の倍数 3 ・・・ 各位の数の和が3の倍数 4 ・・・ ・ 下二桁が4の倍数 ・ 一の位を2で割った数を十の位に足した数が偶数 5 ・・・ 一の位が5の倍数 6 ・・・ 2かつ3の倍数 7 ・・・ 3桁毎に交互に足したり引いたりしてできた数が7の倍数 8 ・・・ ・ 下3桁が8の倍数 ・ 一の位を2で割り十の位に足して2で割った数を百の位に足した数が偶数 9 ・・・ 各位の数の和が9の倍数 10 ・・・ 一の位が0 11 ・・・ 各位の数を交互に足したり引いたりしてできた数が11の倍数 12 ・・・ 3かつ4の倍数 13 ・・・ 7の倍数の判定と同じ 14 ・・・ 2かつ7の倍数 15 ・・・ 3かつ5の倍数 16 ・・・ 下4桁を2で割った数が8の倍数(下4桁を4で割った数が4の倍数 ttp://www004.upp.so-net.ne.jp/s_honma/number/multiple.htm
- 289 名前:デフォルトの名無しさん [2007/11/27(火) 13:01:44 ]
- >>288
各位って10進数ですよね どうやってその値をゲットするんですか
- 290 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 13:04:47 ]
- >>289
Cの文字列で一文字ずつmを取得する
- 291 名前:デフォルトの名無しさん [2007/11/27(火) 13:07:32 ]
- >>290
整数を文字列に変換する関数とかは使わないで下さい
- 292 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 13:10:01 ]
- >>291
は?後付してんじゃねえよ
- 293 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 13:12:38 ]
- 最初から誤解の余地が無い言い方で訊けってのは無茶だろ。
問題に対する疑問に答える過程で条件を追加するのは当然のことだと思うが。
- 294 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 13:13:23 ]
- 文字列で受け取って、「文字のまま」演算を行うようなプログラムを書けばいい。
たとえば、tasu('A', 'B')の戻り値が'C'になるとか、 kakeru('A', 'B')は'B'とか。
- 295 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 13:13:51 ]
- テンプレに制限やら書く所まであるのに、完全に無視してそれか?
とっとと帰れ帰れ
- 296 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 13:16:36 ]
- テンプレの利用は任意だ。
そもそも、答えたくないならお前が黙って帰れよ。
- 297 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 13:20:28 ]
- だから、文字のまま判定を行うプログラムを書く。そうすれば10進数の演算と同じ。
例えば tasu(char a, char b) なら、 if ((a=='A' && a=='B') || (a=='B' && a=='A')) return 'C'; っていう式を延々と書けば、これは10進数の演算と全く同じになる。
- 298 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 13:21:20 ]
- #include<stdio.h>
int mod(int m, int n) { int i, num[16]={1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768}; if(m<0 || n<0) return -1; for(i=16-1;i>=0;i--) if(m>=num[i]*n) m-=num[i]*n; return m; } int main(void) { mod(20000, 15); return 0; }
- 299 名前:デフォルトの名無しさん [2007/11/27(火) 13:26:53 ]
- >>298 サンクス
- 300 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 13:33:25 ]
- >>284 = >>296 = >>298 = >>299
- 301 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 13:50:54 ]
- >>300
残念、>>296だけ俺だ。
- 302 名前:コーンポタージュ [2007/11/27(火) 15:11:18 ]
- >>253
問題例 頂点i に色i mod 6 を割当てるプログラム •ランダム幾何グラフUn,d を作成 •頂点数n,パラメータd を入力とし,単位正方形[0,1]2内に一様かつ独立にn 個の頂点をランダムに分布させ,距離がd 以下の2頂点間に辺を結ぶ •各頂点の平均次数がnπd2となることが知られている 問題例のプログラム www-2ch.net:8080/up/download/1196004323585273.o4l1bm
- 303 名前:デフォルトの名無しさん [2007/11/27(火) 15:26:14 ]
- うわぁ糞スレ
ニート風情が偉そうにε−(´・`)
- 304 名前:デフォルトの名無しさん [2007/11/27(火) 15:31:12 ]
- 【質問テンプレ】
[1] 授業単元:プログラム言語2 [2] 問題文:課題A で作成したプログラムを以下のように修正する. * gcc kadai08b.c でコンパイルすると5パーセントの商品価格だけ表示される. * gcc -DZEI=*** kadai08b.c でコンパイルすると***パーセントの商品価格だけ表示される. * gcc -DDEBUG kadai08b.c でコンパイルすると5パーセントの消費税と商品価格が表示される #include <stdio.h> #include <stdlib.h> #define a 5 #define TAX(x,y) (x+y)*a/100 #define PRICE(x,y) (x+y)+(x+y)*a/100 int main(void) { int x,y; printf("tax of x+y %d \n", TAX(x,y)); scanf("%d",&x); printf("lnput an integer y:"); scanf("%d",&x); printf("tax of x+y: %d \n",); printf("price of x+y %d \n", PRICE(x,y)); return0; } [3] 環境 [3.1] OS: (Linux/) [3.2] コンパイラ名とバージョン: (gcc) [3.3] 言語: (C) [4] 期限: ([2007年11月28日まで] [5] その他の制限: (Cプリプロセッサぐらいまで) 課題Aはなんとか出来ましたが、課題Bがわからないので、宣しくお願いします。 貼りつけたプログラムは、課題Aが完成したものです。
- 305 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 15:40:23 ]
- >>304
ついでにいろいろ修正した。 #include <stdio.h> #include <stdlib.h> #ifdef ZEI # define a ZEI #else # define a 5 #endif #define TAX(x,y) (x+y)*a/100 #define PRICE(x,y) (x+y)+(x+y)*a/100 int main(void) { int x,y; printf("lnput an integer x:"); scanf("%d",&x); printf("lnput an integer y:"); scanf("%d",&y); #ifdef DEBUG printf("tax of x+y %d \n", TAX(x,y)); #endif printf("price of x+y %d \n", PRICE(x,y)); return 0; }
- 306 名前:デフォルトの名無しさん [2007/11/27(火) 15:54:20 ]
- 修正までありがとうございました。
本当に助かりました。 またの機会がありましたら、よろしくお願いします。
- 307 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 16:08:10 ]
- [1] 授業単元: C言語
[2] 問題文: 1.正三角形の面積を求めるマクロ定義を作る。一辺の長さをaとする 2.課題1で作ったマクロを使って、1辺の長さが5mの正三角形の面積を求めるプログラムを作成せよ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visual C++2005 [3.3] 言語:C [4] 期限:11月28日午後10時まで [5] その他の制限:特にありません。 よろしくお願いします
- 308 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 16:23:12 ]
-
[1] 授業単元:C言語基礎 [2] 問題文(含コード&リンク):色々な整数値a,bに対してtを媒介変数として、 座標がx=cos(2πat)、y=sin(2πbt)であらわされる曲線を描くリサージュ関数を作成しなさい。 [3] 環境 [3.1] OS: Windows [3.2] Astex(?) [3.3] 言語:C [4] 期限: 2007/11/29 19時 [5] その他の制限: 配列・ポインタの使い方、簡単な数式の入力まで習いました。 どこから手をつけてよいか分かりません。お力添え頂ければと思います。
- 309 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 16:24:47 ]
- >>307
#include <stdio.h> #define TRI(a) ((a)*(a)*1.7320508/4.0) int main( ){ return printf( "%lf\n", TRI(5)); }
- 310 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 16:32:04 ]
- [1] 授業単元: C言語
[2] 問題文:入力された文字列のそれぞれの文字をカウントし、出現回数と生起確率を表示させよ。 またそのエントロピーも表示させよ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visual C++ 6.0 [3.3] 言語:C [4] 期限:11月28日午前2時まで。 [5] その他の制限:特にありません。 以前ご教示頂いたのですが、データが壊れてしまいました。
- 311 名前:310 mailto:sage [2007/11/27(火) 16:32:53 ]
- 途中送信orz
何卒よろしくお願いいたします・・・。
- 312 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 17:20:20 ]
- >>308
ソース ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5343.txt csvを表計算ソフトで描画した図形 ttp://www15.axfc.net/uploader/90/so/l/119615151025982656815/Img_5482.jpg
- 313 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 17:59:13 ]
- [1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): メイン関数において、キーボードから正の整数の個数(100以内)を入力し、次いで実 際の数値を配列に入力する。そしてメイン関数はサブ関数に、入力した個数と配列を引数とし て渡す。 サブ関数は、これらの配列から、まず1番目に大きい数を見つけて、それを別途設けた配列 の先頭の要素に格納し、次に2番目に大きい数を見つけてこれをこの配列の先頭から数えて 2番目の要素に格納し、という処理を最後の数に至るまで繰り返す。これにより新しい配列に は大きい数から順に並んでいることになるので、これを引数を利用してメイン関数に渡す。(す なわちサブ関数は引数を3つ持つことになる。1つはデータの個数を示す変数、1つは入力デ ータを格納する配列、残りの1つはサブ関数で計算した結果を格納する配列である) 最後にメイン関数はサブ関数で計算された新配列の値を若い方の要素から順に(即ち大き い数から順に)画面に表示する。またこの数列の中央値を表示する(中央値に小数が含まれ る場合は、その小数を切り捨てた整数を表示することとする)。 [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン: Visual Studio .NET 2003 [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: 12月3日 [5] その他の制限: 現在、関数・ポインターについて学んでるところです。 よろしくお願いします。
- 314 名前:デフォルトの名無し [2007/11/27(火) 18:03:09 ]
- 以前236でプログラムをお願いしたものです。
ポインタではなく配列でお願いしたいのですが、もう一度お願いできないでしょうか。 できればmainもお願いします。 [1] 授業単元: プログラム演習 [2] 問題文:入力された「対象文字列(s)」の中から、「検索文字列(t)」を検索し、 該当した「対象文字列」の添字を戻り値とする関数「search(s,t)」を作成しなさい。 ただし、「対象文字列」が「検索文字列」を含まない場合には「-1」を戻り値とする。 なお、関数「search(s,t)」は別ファイルに分け(main関数とそれ以外の関数)、 分割コンパイルできるように作成しなさい。 このとき、main関数以外の関数宣言が記述されたヘッダファイルを作成し、 main関数のソースファイルにて利用すること。 引数 char s[] 対象文字列 char t[] 検索文字列 (例) 以下の値で動作した場合は、「3」を返す。 文字列s = “aababcbaa” 文字列t = “abc” 入力は最大128バイトとする。128バイトを超える入力があった場合は処理を終了する [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限:11月27日まで [5] その他の制限: なし
- 315 名前:デフォルトの名無し [2007/11/27(火) 18:04:22 ]
- [1] 授業単元: プログラム演習
[2] 問題文:入力された正の2整数の最大公約数と最小公倍数を算出する。 ・キーボードからの入力が空の場合は処理を終了する。 ・キーボードからの最大入力桁数は4バイトとする。 ・キーボードからの入力が4バイトを超える場合は処理を終了する。 ・キーボードからの入力が正の整数に変換できない場合は処理を終了する エラーメッセージ 未入力 :入力されていません、桁あふれ:4文字以下で入力してください、数値以外:半角数字以外入力できません、ゼロ入力:0は入力できません 文字列を正数に変換する関数はatoiを使用。 引数 char data[] 文字列 戻り値 : 正数 エラー値 -1 未入力 -2 桁あふれ -3 数値以外-4 ゼロ入力 最大公約数を算出の関数名はgcdでユークリッドの互除法を使用。 引数 int data1 データ1 int data2 データ2 戻り値 : 最大公約数 最小公倍数を算出する関数名はlcm。最小公倍数を算出する際、最大公約数の関数を使用する。 引数 int data1 データ1 int data2 データ2 戻り値 : 最小公倍数 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 11・28まで [5] その他の制限: なし
|

|