10/01/23 13:58:48
[1]プログラミング演習(大学専門過程演習授業)
[2] コマンドライン引数で与えられたテキストファイルを読み込み
空行でなければ、その行に含まれているスペース、タブを
除去したものを標準出力するプログラム。但し英数字と"_"で
構成される文字列同士の間には一つのスペースは残す。
",'で囲まれた部分に関してはスペース、タブはそのまま残す
"で囲まれた部分について最後の文字が¥であってはならない。
'で囲まれた部分について最後の文字が¥であってはならない。
(テキストファイルの空行と余計な空白/タブを除去する
プログラムでクオテーションに配慮したもの)
[3-1] Windows Vista
[3-2] Visual studio 2008
[3-3] C言語
[4] 2/7迄
[5] 使用出来る標準ライブラリはstdio.h stdlib.h string.h定
義のものだけでこれらのヘッダファイルのみインクルード可
ファイルI/O,標準出力が出来るのはmain関数内のみとする。
84:デフォルトの名無しさん
10/01/23 14:04:58
★品質によるトラブル防止の為、片付けた宿題を貼る場合は
依頼者がまだ見ているかを確認してから貼るようにしましょう。
★依頼者は、宿題を片付けて下さる方が出てからすぐもらえる
とは考えず、一定時間のテスト、チェック時間を考慮して下さい。
★依頼者は、依頼してから次にスレをいつ見るのかも記述して
下さると助かります。(ずっと見てますというのは非現実的で
信用されません)
85:83
10/01/23 14:12:11
今日明日は入試関連のバイトと期末試験準備が
あるんで次見るのは月曜日夜以降になると思いますが
片付けて下さる方がいらっしゃいましたら、お助け
下さい。
86:デフォルトの名無しさん
10/01/23 14:16:04
>>84 いやがらせか
>>74
#include <iostream>
using namespace std;
void display_name(){
cout << "私は○○です。" << endl;
}
int main(){
for(i=0;i<3;i++)
display_name();
return 0;
}
87:デフォルトの名無しさん
10/01/23 14:47:12
軽いものはすぐに出来るだろうけど時々かなり重いもの
もあるしな...(依頼者にはわかりようがないかも)
やっぱし少しでも間を取ったほうがいいよ
88:無能
10/01/23 18:52:58
>>80
77のものです。
属性数d=2
x,y
事例データ数n=5
事例No.1 x=5,y=1
事例No.2 x=4,y=2
事例No.3 x=1,y=5
事例No.4 x=5,y=4
事例No.5 x=5,y=5
クラスタ数;2
初期クラスタ{1,3},{2,4,5}
結果はテキストでお願いします。
89:デフォルトの名無しさん
10/01/23 19:26:46
>>82>>86
>>74の授業単元にプロトタイプ宣言ってあるから
問題文に書いてなくてもプロトタイプ宣言した方が良いような。
90:デフォルトの名無しさん
10/01/23 19:30:00
>>80
ありがとうございます。
自宅では開発環境ないので月曜の朝学校で動作確認してみます。
91:デフォルトの名無しさん
10/01/23 22:40:48
[1] 授業単元:情報処理
[2] 問題文:
問1 キーボードから3個の実数(整数でない)値を1行に1組として計5組入力し、
ファイル(ファイル名data1.txt)に保存する。
問2
問1で作ったファイルから実数値を読み込み、総合計と各組の実数の平均を求める。
ただし、ファイルに書かれている組の数は不明とする。
[3] 環境
[3.1] OS:Windows
[3.3] 言語:C言語
[4] 期限:2010年1月25日
[5] その他の制限: なし
よろしくお願いします。
92:74
10/01/23 22:45:54
ありがとうございました
93:デフォルトの名無しさん
10/01/24 01:09:15
[1] 授業単元:プロトタイプ宣言
[2] 問題文(含コード&リンク):
次の式を以下の条件(値)に基づいて計算.表示するプログラムを作成せよ。ただし式は簡単化せずそのままプログラムすることとして、更に表示するときは計算の答えと合わせて条件(値)も表示して分かりやすくせよ。
計算する式
{(a+b)c-a(b-c)}/{(c/b)a+abc-ca}
条件1
a=3 b=4 c=2
a=3 b=4.3 c=2.5
a=32.6 b=57.82 c=2.543
この問題を、
式の分だけを関数化した場合
式と出力部分を関数化した場合
の2つの場合でプログラムを作成せよ
[3] 環境
[3.1] OS:xbuntu
[3.3] 言語:C++
[4] 期限: 2010年1月25日
[5] その他の制限:出力→cout,入力→cin,あと、簡単にお願いします。始まりは、
#include <iostream>
using namespace std;です。
94:デフォルトの名無しさん
10/01/24 02:09:37
[1] C
[2]
反復列 x_n+1=a*x_n(1-x_n),0<=a<=4,0<=x<=1
に対して、x_nが1周期(不動点)、2周期、4周期、8周期、16周期
をもつaの範囲について、プログラムを作成して確かめよ。
※
○周期というのはaがある値のとき、○個の解で振動するという意味です※
[3] LINUX C
[4] 1/24 18:00
95:デフォルトの名無しさん
10/01/24 03:11:24
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):URLリンク(www.acm-japan.org)
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: C/C++/どちらでも可
[4] 期限: ([2010年01月25日23:59まで]
[5] その他の制限: Problem A の問題です。
頑張ってみたのですが、わかりませんでした。
どなたか、よろしくお願いします。
96:デフォルトの名無しさん
10/01/24 03:29:40
>>87
このスレで放置されるパターンの多くは
問題が難解なのではなく問題文が難解なんだ
難解というか不備だな
出題者の不備、質問者のコピペミスなどで
解答を一つに絞れず面倒なやり取りが目に見えるので
放置されちゃう
ま、重いっちゃ重いけど症状が重いという意味合いだな
97:デフォルトの名無しさん
10/01/24 04:30:31
>>83
URLリンク(kansai2channeler.hp.infoseek.co.jp)
書いてみた。
使ってみて。
98:デフォルトの名無しさん
10/01/24 05:20:49
>>83
なんか問題の定義があいまいだから適当に補完して書いた
だからかだいぶ>>97と結果が違うな
好きなほう使ってくれ
URLリンク(codepad.org)
99:デフォルトの名無しさん
10/01/24 05:33:13
>>93
式の分だけを関数化した場合
URLリンク(codepad.org)
式と出力部分を関数化した場合
URLリンク(codepad.org)
100:デフォルトの名無しさん
10/01/24 06:28:17
>>91
URLリンク(kansai2channeler.hp.infoseek.co.jp)
101:デフォルトの名無しさん
10/01/24 10:31:57
>>091 テンプレに空白ありだよ。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
102:デフォルトの名無しさん
10/01/24 11:23:52
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2010年1月25日 5:00まで
[5] その他の制限:
宜しくお願い致します。
txtがうまくうpされなかったので、ファイルはひとつですがzipにてうpしました。
103: ◆NPjWSW9EXI
10/01/24 18:57:41
[1] 授業単元:Cプログラミング演習2
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: [2010年1月27日18:00まで]
[5] その他の制限:
よろしくお願い致します。
104:homi
10/01/24 20:19:28
本当に困ってます。
このままでは留年して泣いてしまいます><
20 桁までの自然数の足し算と掛け算を浮動小数点演算を用いないで実施するプログラムlongcomp.c を
作成し、C のソースコードを提出しなさい。
実行形式をlongcomp とした動作仕様は以下です。
>./longcomp 12345678901234567890 + 12345678901234567890
>12345678901234567890 + 12345678901234567890 = 24691357802469135780
>./longcomp 1234567890 * 1234567890
>1234567890 * 1234567890 = 1524157875019052100
105:homi
10/01/24 20:23:41
上の人です;;
b01, b001 のように二進数をb で始まるように表記する。二進数の集合を、できるだけ少ないノード数
の二分木に分類するためには、二分木のノードに蓄積する二進数の桁数を可変にすることが有効である。こう
することで二進数表記した値(たとえばキーワードとか、位置とか、日付とか)に紐づけられたデータを少な
い検索で見つけることができる。
扱う二進数の集合を、たとえば
b00, b001, b0011, b00111, b1000, b11100, b0
として、これらを図1に示すようにニ分木に分類して、帰りがけ(ポストオーダ)で次のように出力するプロ
グラム(tree) を作成し、C のソースコードを提出しなさい。
>./tree
>1 1 1 0 0 000 1100 0 1 b
提出期限は1/26 23:59までです;;
上も合わせてC++です;;
106:デフォルトの名無しさん
10/01/24 20:24:59
テンプレ使ってね
107:デフォルトの名無しさん
10/01/24 20:28:06
これができたらBPS
スレリンク(tech板)
その前にこのスレとの関係を聞きたいもんだな
108:デフォルトの名無しさん
10/01/24 20:30:17
CなのかC++なのかくらいはっきりしろ
109:homi
10/01/24 20:35:05
上のヒトです;;
フォーマットに気が付きませんでした
[1] データ構造とプログラミング
[2] URLリンク(www.geocities.jp)
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C++)
[4] 期限: ([2010年1月26日23:59まで])
[5] その他の制限
ご迷惑おかけしました;;
110:デフォルトの名無しさん
10/01/24 20:51:03
げげ、2ちゃんに依頼するなんてどこのFランかと思ったら慶應かよ……orz
111:デフォルトの名無しさん
10/01/24 20:53:16
>>104
> 20 桁までの自然数の足し算と掛け算を浮動小数点演算を用いないで
多倍長整数のライブラリを使えばおk
112:デフォルトの名無しさん
10/01/24 21:46:28
>104
URLリンク(kansai2channeler.hp.infoseek.co.jp)
113:デフォルトの名無しさん
10/01/24 21:54:58
>>103
(1)と(3)だけ。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
(2)は、行列が分かる人、よろしくお願いします。
114:デフォルトの名無しさん
10/01/24 21:55:48
>>109
課題1だけ。手元に多バイト長演算ライブラリの自作がありましたのでそれを使いました。
URLリンク(codepad.org)
>>84
> ★品質によるトラブル防止の為、片付けた宿題を貼る場合は
> 依頼者がまだ見ているかを確認してから貼るようにしましょう。
意味不明。依頼者がみてるかどうかと、品質とどんな関係があるのですか?
回答者はできたら貼るだけいいのでは?
生徒さんですか。最近の学校ではこんなんがはやっているのですか?
115:114 ◆QZaw55cn4c
10/01/24 21:57:14
シェルによっては * を解釈してしまうでしょうから、
./a.exe 2 '*' 3
のように入力してください。
116:デフォルトの名無しさん
10/01/24 22:05:21
>>99
ありがとうございました
int main()の後のvoidって、今までいらなかったんですが、今回はいるんですか?
117:デフォルトの名無しさん
10/01/24 22:08:22
>>109
URLリンク(kansai2channeler.hp.infoseek.co.jp)
118:homi
10/01/24 22:16:02
>>114、117
助かりました!!ありがとうございます!!
119:デフォルトの名無しさん
10/01/24 22:27:24
[1] 授業単元: 画像解析
[2] 問題文(含コード&リンク)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows or Vista どちらでも可
[3.3] 言語: C/C++ どちらでも可
[4] 期限: 2010年02月03日まで
[5] その他の制限: リンクのtxtファイルに書き込みました
120:デフォルトの名無しさん
10/01/24 22:30:05
>>102
とりあえず問2は、こういう発想でうまく動きました(投げやり
修正は2つの関数を以下のように書き換えました。
あとは適当に修正してください。
struct node *make_clist(char *s){
struct node *head = initlist();
struct node *p = head;
int len = strlen(s);
int i;
//while (*s != '\0'){
for (i = 0; i <= len; i++) {
insert(p, *s);
p = p->next;
s++;
};
return head;
}
void print_clist(struct node *p) {
printf("[");
while (p->next) {
/* 表示する文字が\0なら終了 */
if (p->next->element == '\0') {
break;
}
printf("%c", p->next->element);
p = p->next;
}
printf("]\n");
}
121:デフォルトの名無しさん
10/01/24 22:30:11
>>116
別になくてもいいよ
122: ◆jPpg5.obl6
10/01/24 23:00:05
テスト
123: ◆jPpg5.obl6
10/01/24 23:00:18
テスト
124:デフォルトの名無しさん
10/01/24 23:11:09
[1] 授業単元: Cプログラミング入門
[2] 問題文(含コード&リンク): 入力された2つの文字列(日本語その他バイト文字は不可)
を比較するプログラムを作成せよ。ただし、大文字小文字の違いは無視。単語間に連続して
スペース・タブが複数入っていても単独のスペースとしない。
[3] 環境
[3.1] OS: vista
[3.3] 言語: C
[4] 期限: [2010年1月26日12:00まで]
[5] その他の制限: 文字列とポインタまでやってます。
入力に関して、キーボードから1つ目の文字列を1行で入力し、改行する。
この時、入力を促す文字は一切表示しない。入力文字数は128文字まで。
出力に関して、一致すれば何も表示しない。不一致の場合は最初に不一致となる
入力1の文字と入力2の文字(1文字+スペース+1文字+改行)を表示する。
どちらかが末端の場合は代わりにスペースで埋める。
どうかよろしくお願いします。
125:120
10/01/24 23:20:27
>>120
すいません。。。
editを修正しなくちゃいけないんですね(汗
URLリンク(kansai2channeler.hp.infoseek.co.jp)
投げやりなのは仕様です。
126:デフォルトの名無しさん
10/01/24 23:44:27
>>121
ごめんなさい。calcoutputとかcalcというのは何か特殊な効果があったりしますか?習ってないんですが
127:デフォルトの名無しさん
10/01/24 23:54:31
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: ([2009年1月26日まで]
[5] 特にありません お願いします。
128:デフォルトの名無しさん
10/01/25 00:05:51
>>126
>>93で
> この問題を、
> 式の分だけを関数化した場合
> 式と出力部分を関数化した場合
> の2つの場合でプログラムを作成せよ
って書いてあるでしょ
calcは「式の分だけを関数化した」もの、
calcoutputは「式と出力部分を関数化した」ものだよ
129:128
10/01/25 00:44:03
>>126
言い忘れてた。
calcとかcalcoutputとかは適当に決めたものだから別の名前に変えてもいい
130:デフォルトの名無しさん
10/01/25 00:59:34
[1] 再帰的データ構造
[2] URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C)
[4] 期限: ([2010年1月25日17:30まで])
[5] その他の制限
よろしくお願いします。
131:デフォルトの名無しさん
10/01/25 01:06:19
>>127
void quick(int a[], int left, int right) {
int p, center;
if(left != right){
p = pivot(a, left, right);
center = partition(a, left, right, a[p]);
check(a, left, right, p, center);
quick(a, left, center - 1);
quick(a, center, right);
}
}
132:デフォルトの名無しさん
10/01/25 01:09:07
>>130
ダメな問題だな
133:デフォルトの名無しさん
10/01/25 01:29:25
>>131
うおおお
無限ループです
134:デフォルトの名無しさん
10/01/25 02:33:51
>>127
まだいる?
135:デフォルトの名無しさん
10/01/25 03:23:22
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: vista(Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: visual studio2008
[3.3] 言語: C
[4] 期限: 1月27日
[5] その他の制限: 特になし
よろしくお願いします。
136:デフォルトの名無しさん
10/01/25 06:02:38
>>127
3箇所修正
(1) pivot関数の書き換え
return (left + right + 1) / 2;
(2)partition関数内の条件
while (a[j] > p) // 軸以下のデータを探索
(3)quick関数先頭にブロック
if (left >= right) return;
137:デフォルトの名無しさん
10/01/25 06:31:44
[1] 授業単元: プログラミング概論
[2] 問題文:"in_file"という名前のファイルの中に18個の整数データが空白や改行コードで区切られて並んでいると仮定した上で、この入力ファイルの中のデータを1行に5個ずつきれいに並べて"out_file"という名前のファイルに出力するCプログラムを作成せよ。
入力ファイルの内容が
-1111111111 2222222 333333 4444 55 6 7 8 9 0 1 2 3 4
5 6 7890123
-5666
の時には、例えば次のような内容を"out_file"に書き出す
_-1111111111_____2222222______333333________4444__________55
_________________6_______________7______________8_____________9___________0
________________ 1_______________2______________3_____________4___________5
_________________6_____7890123________-5666
[3] 環境
[3.1] OS:windows7
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2010年1月26日まで
[5] その他の制限: とくにありません
問題文ではアンダーバーではなく半角の空白記号でしたが、見やすさを考慮して_に変えておきました
講義で構造体やファイル入出力等、基本的なことは終わっています
よろしくお願いします
138:デフォルトの名無しさん
10/01/25 07:34:39
[1] 再帰的データ構造
[2] URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C)
[4] 期限: ([2010年1月25日17:30まで])
[5] その他の制限:特になし
よろしくお願いします。
139:デフォルトの名無しさん
10/01/25 07:52:26
>>130
URLリンク(codepad.org)
これでどうでしょうか?
140:デフォルトの名無しさん
10/01/25 09:06:52
>>135
問題1
URLリンク(codepad.org)
問題2
URLリンク(codepad.org)
モレの頭ではうまいソート方法が思いつかんかったよ。
バグってたらごめん。
問題2のスペース,タブの扱いがよくわからんかったので,
そっとしておいたお。
こちらの環境は Cygwin,gcc なので問題あるかも。
141:デフォルトの名無しさん
10/01/25 09:55:59
[1] 授業単元:動画像の圧縮と復号
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windowsvita
[3.2] gcc バージョンはわかりません cygwinを使っています
[3.3] 言語: C
[4] 期限: ([2010年1月25日15:00まで] 時間なくてすみません;;
[5] 特にないです
必修課題なんです
どうかお願いします
142: ◆QZaw55cn4c
10/01/25 10:43:25
>>141
期待していただいては困るのであらかじめ行っておけば、
この種のプログラミングは専門性が高いので、
経験豊かな人間にしか手をつけられません。
必修というのであれば、ココに期待しないほうがいいと思います。
143:homi
10/01/25 13:38:14
[1] データ構造とプログラミング
[2]
演習問題4.5 逆ポーランド記法による入力文字列(空白で区切られている)に対して、
16進数と10進数で答えを返すプログラムrpnを作りなさい。
(入力例)rpn 5 2 + 7 *
(出力例)0x31, 49(decimal)
[3] 環境
[3.1] (Windows)
[3.2] (gcc)
[3.3] (C++)
[4] 期限: ([2010年1月25日23:59まで] )
[5] 特にないです
お願いします
144:homi
10/01/25 13:44:30
[1] データ構造とプログラミング
[2]
[1] データ構造とプログラミング
[2]
自然入力した数式を逆ポーランド記法に変換するアルゴリズムを考えなさい。アルゴリズムをPADやフローチャートで示すだけでもよい。プログラム化することができれば、ボーナスポイントです。
(入力例)./a (5+2)*7
(出力例)5 2 + 7 *[3] 環境
[3.1] (Windows)
[3.2] (gcc)
[3.3] (C++)
[4] 期限: ([2010年1月25日23:59まで] )
[5] 特にないです
145:homi
10/01/25 13:46:13
上ちょっとフォーマット崩れました。ごめんなさい。
[1] データ構造とプログラミング
[2]
自然入力した数式を逆ポーランド記法に変換するアルゴリズムを考えなさい。アルゴリズムをPADやフローチャートで示すだけでもよい。プログラム化することができれば、ボーナスポイントです。
(入力例)./a (5+2)*7
(出力例)5 2 + 7 *
[3] 環境
[3.1] (Windows)
[3.2] (gcc)
[3.3] (C++)
[4] 期限: ([2010年1月25日23:59まで] )
[5] 特にないです
よろしく願いたします
146:デフォルトの名無しさん
10/01/25 13:51:19
>>125
いえいえ、助かります。問2について解決致しました。
規制にて書き込みできず遅れましたが、ありがとうございました。
提出期限は過ぎてしまいましたが、どなたか>>102の問3をよろしければお願いします。
147:デフォルトの名無しさん
10/01/25 13:55:02
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
1.
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
2.
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VS2008
[3.3] 言語: C++
[4] 期限: 2010年01月31日まで
148:デフォルトの名無しさん
10/01/25 15:01:34
★依頼してから「納品」までは最低6時間は下さい。それ
以下の場合は、品質が著しく低い場合があります。
★依頼してからの宿題内容の修正はやめてください。
やむをえず行う場合は3時間以内にしてください。6時間
を経過した場合は依頼自体を取り消して貼り直して下さい。
(宿題をやって下さる方も、問題の内容自体の理解も覚束ない
人間が一発で問題文を正確に転記/略述することは出来ない
ので、少なくとも3時間以内までには修正が入るかもしれないと
いう前提でお願いできないでしょうか?)
★宿題をやってあげる方は仕事でやっているわけではないので
品質に文句を付けるのはやめてください(質問は構いません)
★複数やってくださった方が居た場合でも依頼者は全員に貼って
もらう必要はありません。時間を割いて片付けてくれた人を
比較するようなことは失礼に当たります。(宿題を貼る場合は
依頼者がまだ見ているかどうか確かめてから貼るように
お願いします。)最初に貼ってくれた人の回答で満足なら
回答をお寄せ下さった方にお礼と回答を貼ることを遠慮して
もらうようにして下さい。
149:デフォルトの名無しさん
10/01/25 15:05:27
> ★複数やってくださった方が居た場合でも依頼者は全員に貼って
> もらう必要はありません。
書いている意味がよくわからない。
複数回答が出た場合に、どこにだれが何を貼るって?
150:デフォルトの名無しさん
10/01/25 15:21:17
依頼者はどんなにひどい回答でも、喜んで受け取り、
以降その人以外から回答は受け取らないようにしろだと?
依頼者には酷かもしれないけど正論だな。
ようするに既に回答者が出てた場合は、最初の回答者を通
す形にしてやったほうがいいかも。
但し最初の回答者になる為に意図的に糞コード貼ってる
と認識された場合は袋叩きにあうかも知れないんで
回答者も少し辛くなる。
151:デフォルトの名無しさん
10/01/25 15:23:36
いやそれ構わなくていいから・・・
152:デフォルトの名無しさん
10/01/25 15:34:29
>>148
が一体何を望んでいるのか、サッパリ分からない。
153:デフォルトの名無しさん
10/01/25 15:35:33
>>152
ただ、仕切りたいだけだろ
154:デフォルトの名無しさん
10/01/25 16:27:07
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):URLリンク(www.acm-japan.org)
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: C/C++/どちらでも可
[4] 期限: ([2010年01月26日23:00まで]
[5] その他の制限
Problem A の問題です。
頑張ってみたのですが、わかりませんでした。
どなたか、よろしくお願いします。
155:デフォルトの名無しさん
10/01/25 17:24:48
>>148
とりあえず赤くしておく
156:デフォルトの名無しさん
10/01/25 18:00:15
>137
URLリンク(kansai2channeler.hp.infoseek.co.jp)
・入力例に全角スペースが含まれていますが、全角スペース対応はしていません。
・出力例が意味不明だったので、独自解釈をしました。
・ファイル読み込み(fscanf)のエラーチェックとバッファーオーバーラン対策はしていません。
・ファイル書き込み(fprintf)のエラーチェックはしていません。
問題があれば具体的に指摘してください。たぶん、対応します。
157:デフォルトの名無しさん
10/01/25 18:01:21
>>154
URLリンク(kansai2channeler.hp.infoseek.co.jp)
158:デフォルトの名無しさん
10/01/25 19:36:12
>>153
最近こんな生徒さんが多いですね。こういうのが学校ではやっているんですかね?
159:デフォルトの名無しさん
10/01/25 19:37:27
>>154
さすがにこれに答えちゃいけないでしょう。自力でなんとかしなさい。
160:デフォルトの名無しさん
10/01/25 19:51:47
>>136
遅くなりました
ありがとうございました
161:デフォルトの名無しさん
10/01/25 20:11:44
[1] 授業単元: プログラミング演習(木構造と数式処理)
[2] 問題文(含コード&リンク):
累乗の計算の逆を行うプログラムを作ってください。
例
x*x*xと入力されればx^3と画面に出力する。
x*x*x*aなどの場合はx^3*aと出力されればよい。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2010年1月28日12:00まで
162: ◆NPjWSW9EXI
10/01/25 20:28:20
103です
>>113
遅くなりました
有難うございました。
どなたか2番を解いてくださいお願いします。
163:デフォルトの名無しさん
10/01/25 20:46:36
>>129
すみません…ありがとうございます。あと、昨日聞き忘れてしまったんですが、
意味的に同じであると思うんですが、この2つを書き方分けてる理由は何ですか?
cout << "{(a+b)c-a(b-c)}/{(c/b)a+abc-ca} = ";
cout << ((a+b)*c-a*(b-c))/((c/b)*a+a*b*c-c*a) << '\n';
164:93
10/01/25 20:51:51
言い忘れてしまいました。これを考察というのをするんですが、この2つを比較でもしようかなと思うんですが、
プログラムの文章の書き方が違うとかそういう事以外で何かありますか?
165:120
10/01/25 22:20:29
>>146
素材はそのまま生かしましたw
URLリンク(kansai2channeler.hp.infoseek.co.jp)
166:デフォルトの名無しさん
10/01/25 22:24:24
>>162
#include <stdio.h>
void mult_array(int a0[4][4],int a1[4][4],int result[4][4]){
int x,y,k;
for(y=0;y<4;y++){
for(x=0;x<4;x++){
for(k=0;k<4;k++){
result[y][x]+=a0[y][k]*a1[k][x];
}
}
}
}
int main(){
int a0[4][4]={0};
int a1[4][4]={0};
int result[4][4]={0};
int y;
for(y=0;y<4;y++)scanf("%d%d%d%d",&a0[y][0],&a0[y][1],&a0[y][2],&a0[y][3]);
for(y=0;y<4;y++)scanf("%d%d%d%d",&a1[y][0],&a1[y][1],&a1[y][2],&a1[y][3]);
mult_array(a0,a1,result);
for(y=0;y<4;y++)
printf("%d %d %d %d\n",result[y][0],result[y][1],result[y][2],result[y][3]);
return 0;
}
167:hoge
10/01/25 23:07:26
上の105ですが、もう一度質問させて頂きます。
なぜなら、課題2対しての回答がないからです。
皆様よろしくお願いします。
[1] データ構造とプログラミング
[2]b01, b001 のように二進数をb で始まるように表記する。二進数の集合を、できるだけ少ないノード数
の二分木に分類するためには、二分木のノードに蓄積する二進数の桁数を可変にすることが有効である。こう
することで二進数表記した値(たとえばキーワードとか、位置とか、日付とか)に紐づけられたデータを少な
い検索で見つけることができる。
扱う二進数の集合を、たとえば
b00, b001, b0011, b00111, b1000, b11100, b0
として、これらを図1に示すようにニ分木に分類して、帰りがけ(ポストオーダ)で次のように出力するプロ
グラム(tree) を作成し、C のソースコードを提出しなさい。
>./tree
>1 1 1 0 0 000 1100 0 1 b
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C++)
[4] 期限: ([2010年1月26日23:59まで])
[5] その他の制限
168: ◆QZaw55cn4c
10/01/25 23:15:59
>>143
コマンドラインで * を入力すると、シェルが解釈していまうので、
実行後、標準入力から式を入力してください。
URLリンク(codepad.org)
169: ◆NPjWSW9EXI
10/01/26 00:39:43
>>166
助かりました
有難うございます
170:homi
10/01/26 00:46:56
>>168
ありがとうございます!!><
171:homi
10/01/26 00:50:11
前にこれを上げたものです。
課題1はすでにやってもらったのですが、
課題2がまだです。
再UPになりますが、もしできる方いらっしゃいましたらよろしくお願いします><
[1] データ構造とプログラミング
[2] URLリンク(www.geocities.jp)
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C++)
[4] 期限: ([2010年1月26日23:59まで])
[5] その他の制限
失礼しました
172:デフォルトの名無しさん
10/01/26 00:56:37
>>171
あなたはそのために単発スレまで建てたんだからそっちでやりなよ
173:137
10/01/26 01:27:20
>>156
返事が遅くなってすいません
全角スペースは対応しなくても大丈夫だと思います
私の独自解釈では、おそらく"in_file"内の整数18個を5*3+3の4行に分け、最も長くなる行に揃えて出力すればいいのかと…
適当に入力した数値が綺麗に並んで出力されたので、問題ないと思います
助かりました
ありがとうございました
174:デフォルトの名無しさん
10/01/26 01:30:22
[1] データ構造とプログラミング
[2]
リングバッファを使って、9個のキューを作り、データを追加したり、
データを取り出すプログラムを完成させなさい。
以下の添付にあるプログラムを完成させろという課題です。
URLリンク(www.geocities.jp)
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C++)
[4] 期限: ([2010年1月26日23:59まで])
[5] その他の制限
よろしくお願いいたします
175:デフォルトの名無しさん
10/01/26 02:40:07
いつから質疑応答スレになったんだ?
宿題を依頼し、片付けてもらうスレだろ?
176:デフォルトの名無しさん
10/01/26 02:48:16
>>175
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。
気に入らない質問やその他の発言はスルーの方向で。
気に入らない質問やその他の発言はスルーの方向で。
気に入らない質問やその他の発言はスルーの方向で。
177:デフォルトの名無しさん
10/01/26 03:18:10
気に入らない依頼やその他の質問はスルーの方向で。
178:デフォルトの名無しさん
10/01/26 05:25:11
>>174
URLリンク(codepad.org)
179:83
10/01/26 07:46:44
>>97,98
遅くなりましたがどうもありがとうございました。
180:デフォルトの名無しさん
10/01/26 08:27:07
問題文の曖昧さと回答の多様性の擦り合わせの先に真の回答が
あるんじゃね?
ことプログラム作文に関しては
問題、回答、終了という気持ちのよいスケジュールが
立てられるとは思わないほうがいいかも
数学問題の影響受け過ぎ(てか数学が異常な学問)
181:デフォルトの名無しさん
10/01/26 09:17:28
>>161
URLリンク(codepad.org)
木構造ってあったから,2分木を使ったけど,
配列を使った方が,入力サイズは限られるが,楽だと思う。
問題文から察するにソートする必要ないし。
エラーチェックは甘いけど,バグってたりしたら,
教えて下さい。治さないかもしれないけど。
182:デフォルトの名無しさん
10/01/26 09:19:50
>>180
が一体何を望んでいるのか、サッパリ分からない。
183:デフォルトの名無しさん
10/01/26 09:23:35
>>161
URLリンク(codepad.org)
ごめん。余分な出力が入ってたので修正した。
184:デフォルトの名無しさん
10/01/26 09:33:44
>>182
が>>180の望みをわかることも>>180は望んでいる
んだろう。しかしね。ここは2chでプログラミング
の宿題を片付けるスレで、いろいろと制約も多い
んで、質疑応答形式になってしまっているんだ。
185:デフォルトの名無しさん
10/01/26 09:42:30
>>184
が一体何を望んでいるのか、サッパリ分からない。
186:デフォルトの名無しさん
10/01/26 09:46:52
>>180にもわからないだろね
187:デフォルトの名無しさん
10/01/26 10:19:16
>>180
>問題文の曖昧さと回答の多様性の擦り合わせの先に真の回答が
>ある
そうなんだろうが、誰もがそういう水準に到達出来るわけじゃ
ない。国語の作文の授業みたいに完全に自由か、
数学の入試問題のように極度に不自由かのいずれ
か一つじゃないと皆やらないだろ?
188:デフォルトの名無しさん
10/01/26 10:49:19
>>178
遅くなりましたが
ありがとうございました!
189:デフォルトの名無しさん
10/01/26 10:52:56
[1] データ構造とプログラミング
[2]
ツリーにノードを追加するプログラムを完成させなさい。またプログラム中 に使われている要素 mitsugi, emura, satou, yonemura, murai, nakamura, kwkt がツリー上でどのように配置され ているか書きなさい。
以下の添付にあるプログラムを完成させろという課題です。
URLリンク(www.geocities.jp)
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C++)
[4] 期限: ([2010年1月26日23:59まで])
[5] その他の制限
よろしくお願いいたします
190:デフォルトの名無しさん
10/01/26 11:00:16
[1] データ構造とプログラミング
[2]
以下の添付にあるプログラムを完成させ配列のrotateを完成させろという課題です。
URLリンク(www.geocities.jp)
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C++)
[4] 期限: ([2010年1月26日23:59まで])
[5] その他の制限
よろしくお願いいたします;;
191:デフォルトの名無しさん
10/01/26 11:43:16
>>189
void AddChild(struct NODE** p, char* name){
if (!*p) {
*p = (struct NODE *)malloc(sizeof (struct NODE));
(*p)->left = (*p)->right = 0;
strcpy((*p)->name, name);
} else {
AddChild(strcmp(name, (*p)->name) < 0 ? &(*p)->left : &(*p)->right, name);
}
}
192:デフォルトの名無しさん
10/01/26 13:15:50
>>191
大変ありがとうございます
193:デフォルトの名無しさん
10/01/26 13:23:04
[1] 授業単元:プロトタイプ宣言とか引数
[2] 問題文(含コード&リンク):[3~6]∫x^2 dx(これだと正解は63)を計算するプログラムを作成せよ。
尚、積分本体(始点と終点)と関数本体f(x)に分けること。dx=1/N N=(10,1000…10000)誤差評価を行う事。積分範囲を変更すること。x^2の関数を変更すること。
[3] 環境
[3.1] OS:xbuntu
[3.3] 言語:C++
[4] 期限: 2010年1月25日
[5] その他の制限:出力→cout,入力→cin,あと、簡単にお願いします。始まりは、
#include <iostream>
using namespace std;です。
194:デフォルトの名無しさん
10/01/26 14:15:37
>>193
URLリンク(codepad.org)
積分範囲とか積分関数変えるのは適当に自分でやってくれ
(積分関数:6行目、積分範囲:20~22行目、厳密解:27行目)
195:デフォルトの名無しさん
10/01/26 14:31:19
>>193
期限後なのに1時間も経たずにやってくれた人が
居たのはラッキーだったと思うべし
つーか期限後の宿題を片付けるのはややルール違反
気味
196:デフォルトの名無しさん
10/01/26 14:33:44
>>195
もういいからお前は消えろ。
二度とこのスレに来るな。
197:よろしくお願いします(m_m)
10/01/26 14:55:29
[1] 計算機概論
[2] 8bit整数が8つ与えられている。これをunsigned char配列と
みなしa[]と名付ける。
unsigned char 整数のor,not演算だけを用いて1<=n<=8からa[n]を
計算するC計算式を出力するプログラム
例:a[]={1,2,3,4,5,6,7,8}; 出力 return n;
a[]={1,0,1,0,1,0,1,0}; 出力 return !(!n or 11111110b);
[3.1] OS:Mac OS-X
[3.2] XCode 3.0(gcc 4.0)
[3.3] C言語
[4] 1/25 正午(厳守)
[5] 出来るだけ短いコードを出力するプログラムを書く事
198:デフォルトの名無しさん
10/01/26 16:41:15
仕切り男が不快だから、次のスレのテンプレから期限を外そうじゃないか。
199:デフォルトの名無しさん
10/01/26 17:15:36
気に入らない質問やその他の発言はスルーの方向で。
200:デフォルトの名無しさん
10/01/26 17:29:34
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
A組、B組、C組にそれぞれn人の生徒がいて、
A組の生徒が一列に並んでいる。
このとき、B組の生徒をA組の生徒の隣に並ばせたいが
なるべく隣同士で身長に差がないようにしたい。
どうやって計算すればいいでしょう?
加えて、C組の生徒もB組の隣に並ばせたい場合はどうすれば?
(身長の配列) double height_a[n], height_b[n], height_c[n];
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 2010年1月28日(木)16:00
[5] その他の制限: 特にありません
B組だけを考える場合はn!、C組も考える場合はn!×n!の並び方を生成して、
身長差の合計を計算して最小ならその並び方を保存って感じでいいと思うんだけど
そのやり方が思いつかない・・・
B組のみの場合
(B組をn!通り並ばせるループ){
diff = sum(n人の身長差の合計);
if(diffが最小){
B組の並び順を保存
}
}
こんな感じになると思うんだけど・・・
お助けください。
201:デフォルトの名無しさん
10/01/26 17:30:10
>>197
意味不明だな・・・
202:デフォルトの名無しさん
10/01/26 17:34:13
>>201
a[n-1] と等価となる NOT, AND, OR の連結で得られる式を作るプログラムを作れ
だと思うが… 俺には難しい。 a[n] が 0~255 を取り得るからなぁ
203:デフォルトの名無しさん
10/01/26 17:36:59
>>200
A<Bの時
A:1 2 3 4 5 6
B:1 2 3 4
こういう並びはアリですか?
ナシならA=Bの時と同じで
Bがどのように並んでも身長差の合計は同じですよね
204:デフォルトの名無しさん
10/01/26 17:41:09
★期限の過ぎた問題を依頼してはいけません
205:デフォルトの名無しさん
10/01/26 17:48:42
>>202
オレは加算演算子や添え字を使わずに
a[n],*(a+n)をnot,orのみで表現しろと言う事か
添え字が1からなので減算も必要だしめんどくさそうだね
206:200
10/01/26 17:54:01
>>203
すいませんA<Bっていうのがよくわかりません
B組のほうが平均身長が高いという意味でしょうか?
身長の値については定まったものではなく任意です。
A,B,C組で人数は同じn人です。n=6だとすると下のようになります。
A:1 2 3 4 5 6 は固定で隣同士の身長差の和が最小となる
B:5 1 6 2 4 3 みたいな並び方をn!で総当りで調べる・・・
B組の並び順をint narabi_b[n]として、
narabi_b[n]にn!通りの1~nの数字を入れる?
うーん・・・
207:デフォルトの名無しさん
10/01/26 18:02:27
>>206
人数の事ね。
不等号が逆だったごめん。
A,B,C組で人数は同じn人で
身長差の和が最小となる
という条件ならどう並んでも同じだよ。
(A1-B1)+(A2-B2)+(A3-B3)=(A1+A2+A3)-(B1+B2+B3)
208:デフォルトの名無しさん
10/01/26 18:04:18
>>207
絶対値を取る可能性もあるぞ
209:デフォルトの名無しさん
10/01/26 18:05:09
>>202
添字n(1,2,3,4,5,6,7,8)から対応するa[n](これは任意の0~255
となり得る)をor とnotからなる式で表す。nと定数は
使っても良い。
(n or (! n or 11110011b) ) or !( !n or 10110111b) ....
という式のn=1,2,3,4,...,8 に対する値が指定したものに
なるように式を選ぶプログラムを作れ
って意味じゃないかなと思うが、これは多分不可能じゃないかと...
a[n] = n >> 1 とかの場合はどーすんだ?
ネタじゃないかとは思ってはいるが...
210:デフォルトの名無しさん
10/01/26 18:05:42
>>208
あぁ、それなら納得
211:200
10/01/26 18:07:01
>>207
確かにその通りです。
ちょっと私の書き方がよくなかったです。
身長差の絶対値の和というべきでした。
すいません。
212:デフォルトの名無しさん
10/01/26 18:52:01
よろしくお願いします。
[1] 授業単元: Cプログラミング入門演習Ⅱ
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: WindouwsVista
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2010年1月28日(木)
[5] その他の制限: 特にありません
213:デフォルトの名無しさん
10/01/26 18:57:51
[1] 授業単元: プログラミングとコンパイラ
[2] 問題文:kadai.cを単項演算子の+-、剰余演算子%に対応するように改造せよ
サイトURLリンク(kansai2channeler.hp.infoseek.co.jp)のC/C++の宿題片付けます132代目の10446.zip
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2010年1月29日まで
[5] その他の制限:パーサがどのようにして解析コード生成されていくかの説明も添付
214:デフォルトの名無しさん
10/01/26 19:37:47
>>212
#include <stdio.h>
#include <stdlib.h>
int average(int *nums, int size) {
int i, sum = 0;
for (i = 0; i < size; i++) sum += nums[i];
return size ? sum / size : -1;
}
static int min_distance_target;
int min_distance_cmp(const int *a, const int *b) {
int diff = abs(min_distance_target - *a) - abs(min_distance_target - *b);
return diff ? diff : (*a - *b);
}
void min_distance_sort(int *nums, int size, int target) {
min_distance_target = target;
qsort(nums, size, sizeof (int), (int (*)(const void*, const void*))min_distance_cmp);
}
void scan(int *nums, int size) {
int i, tmp;
for (i = 0; i < size; i++) {
scanf("%d", &tmp);
nums[i] = tmp;
}
}
215:デフォルトの名無しさん
10/01/26 19:39:49
>>212つづき
void print(int *nums, int size) {
int i;
for (i = 0; i < size; i++) printf("%s%d", i ? " " : "", nums[i]);
puts("");
}
int main() {
int size, nums[100];
scanf("%d", &size);
if (100 < size) size = 100; // (最大で100とする)
scan(nums, size);
min_distance_sort(nums, size, average(nums, size));
print(nums, size);
return 0;
}
注:肝心のソートが手抜き(qsort頼り)だから先生によっては怒られるかも。
やむをえずstatic int min_distance_target; というグローバル変数も使ってしまってる。
216:備忘録
10/01/26 20:49:27
★関連スレ
大学のプログラミング演習の課題を添削するスレ
スレリンク(tech板)
217:デフォルトの名無しさん
10/01/26 21:33:02
C++でOpenGLの勉強してます。OpenGLなんですが、言語はC++なのでこちらで質問していいのかな?
218:デフォルトの名無しさん
10/01/26 21:40:03
OpenGLに限らずそういう専門的なものはあんまり期待しない方が良いよ。
ダメとは言わないけど
219:誘導
10/01/26 21:46:59
OpenGLスレ Part14
スレリンク(tech板)
でどーぞ
220:デフォルトの名無しさん
10/01/26 21:47:03
[1] 再帰リスト構造
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C)
[4] 期限: (1月29日0時まで)
[5] その他の制限: (特になし)
上のソースでプログラムは実行しますが、
name、emailに2文字以下だと大丈夫なのですが、3文字以上入力すると
出力のテンプレートが崩れてしまいます。
どこがおかしいかお願いします。
221:デフォルトの名無しさん
10/01/26 21:58:12
>>212
URLリンク(kansai2channeler.hp.infoseek.co.jp)
222:デフォルトの名無しさん
10/01/26 22:03:21
>>220
age2 = (char*)malloc(sizeof(char));
これでは、char一文字分しか確保されない。
文字数nの文字列の場合、
age2 = (char*)malloc(sizeof(char) * n + 1);
と書く。+1は終端文字'/0'のために準備。
getline(age2, sizeof(age2));
これでは、int nとして渡すには不十分。
sizeof (char *)の意味になる。
文字数nの文字列の場合、
getline(age2, n);
と書く。getlineが実際にどう動くかは想像しかしてないけど。
223:212
10/01/26 22:13:29
>>214-215
素早い回答感謝します
224:デフォルトの名無しさん
10/01/26 22:16:39
やはりここでOpenGLの質問は、あまりよくないようですねorz
>>219様の誘導先は質問スレではないのでダメかな?
って思ってやめておいたのですが、そちらのスレに質問を書かせていただきました。
もしOpenGLのことも分かる方が居ましたらOpenGLの掲示板に書かせていただきましたので
ご回答していただけるとすごく嬉しいです><
225:デフォルトの名無しさん
10/01/26 23:00:20
[1] 授業単元:情報科学Ⅱ
[2] 問題文(含コード&リンク):URLリンク(www.f.csce.kyushu-u.ac.jp)
[3] 環境
[3.1] OS: Windows Vista
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2010年1月27日23:59まで
[5] その他の制限:特にありません
どうしてもわかりません。すみませんがよろしくお願いします。
226:デフォルトの名無しさん
10/01/26 23:15:18
>>225
void DspArray(int *p,int n){
while(n--){
printf("%d ",*(p++));
}
printf("\n");
}
こう言う事?
227:デフォルトの名無しさん
10/01/26 23:15:23
[1] 授業単元:(大学専門課程某講座)
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン:Visual studio .NET
[3.3] 言語: C
[4] 期限: 2010年1月31日まで
[5] その他の制限:特にありません
228:226
10/01/26 23:19:42
>>225
よく読んでなかった。
void DspArray(int array[],int n){
int i;
for(i=0;i<n;i++){
printf("%d ",array[i]);
}
printf("\n");
}
229:デフォルトの名無しさん
10/01/27 00:19:45
>>222
ありがとうございます。
230:デフォルトの名無しさん
10/01/27 01:00:28
>>213
URLリンク(kansai2channeler.hp.infoseek.co.jp)
231:デフォルトの名無しさん
10/01/27 01:17:34
>>194
ありがとうございました。
232:デフォルトの名無しさん
10/01/27 01:27:49
[1] 授業単元:プロトタイプ宣言とか引数
[2] 問題文(含コード&リンク): 得点を入力して以下のルールに従った成績を返す関数を実装せよ。
90点以上 S
80点以上 A
60点以上 B
それ未満 C
()の中に何か入るらしいです () score(int sc) {
[3] 環境
[3.1] OS:xbuntu
[3.3] 言語:C++
[4] 期限: 2010年1月28日
[5] その他の制限:出力→cout,入力→cin,あと、簡単にお願いします。始まりは、
#include <iostream>
using namespace std;です。
233:デフォルトの名無しさん
10/01/27 01:29:01
[1] 授業単元:プロトタイプ宣言とか引数
[2] 問題文(含コード&リンク): 入力された数字が偶数なら、trueを返す関数。それ以外ならfalse
()の中に何か入るらしいです () even(int sc) {
[3] 環境
[3.1] OS:xbuntu
[3.3] 言語:C++
[4] 期限: 2010年1月28日
[5] その他の制限:出力→cout,入力→cin,あと、簡単にお願いします。始まりは、
#include <iostream>
using namespace std;です。
234:デフォルトの名無しさん
10/01/27 02:29:00
>>227
URLリンク(codepad.org)
左端の数字は元の行数。修正した行には/*修正*/
修正内容は
・後半のソートの呼び出しの引数が逆になっていたのを修正(26行目)
・ & を && に変更(42行目)
・ ++p などを p++ に変更(11,42-45行目)
N=10000だと表示がアレなんだがN=100くらいだとちゃんと表示される
235:デフォルトの名無しさん
10/01/27 02:30:50
>>232
char score(int sc){
if(sc>=90) return 'S';
if(sc>=80) return 'A';
if(sc>=60) return 'B';
return 'C';
}
236:デフォルトの名無しさん
10/01/27 02:31:52
>>233
bool even(int sc){
return (sc%2 == 0);
}
237:デフォルトの名無しさん
10/01/27 03:28:16
>>235
実行してみたんですが、できないんですが、どうしてでしょうか
238:デフォルトの名無しさん
10/01/27 04:37:48
>>237
「できないんです」 は禁句
何を期待したか、どんな操作をしたか、そしてどんな結果になったかの 3 点を書かないと
何が問題なのか見た人には分からない
239:デフォルトの名無しさん
10/01/27 07:51:08
>>230
ありがとうございました!
240:227
10/01/27 12:07:55
>>234
ありがとうございます。大変面倒な課題のほうたった2時間余りで
迅速にやって頂けて試験前なので助かりました。
(1月31日位になるかと思ってました)
実はもっと長いもの(数値計算関連で長さ約300行)も出てい
るので(そちらのほうは必須ではないですが試験が出来なかっ
た場合に提出していれば不可になる確率がずっと低くなるそうで)
そちらもやって頂けると非常に嬉しいのですがよろしいでしょうか?
241:147
10/01/27 13:09:03
147をどなたかお願いできないでしょうか?
よろしくお願いします。
242:デフォルトの名無しさん
10/01/27 13:37:16
>>232
#include <iostream>
using namespace std;
char score(int sc){
if(sc>=90) return 'S';
if(sc>=80) return 'A';
if(sc>=60) return 'B';
return 'C';
}
fatal error LNK1120: 外部参照 1 が未解決です。
未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
とでるんですが…
243:デフォルトの名無しさん
10/01/27 13:38:14
>>238でしたすみません。
244:デフォルトの名無しさん
10/01/27 14:22:57
>>147
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
245:デフォルトの名無しさん
10/01/27 17:23:10
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
キーボードから正の整数nを入力し、n!を計算して画面表示するプログラムを
作成せよ。ただし、階乗を計算する関数のプロトタイプを「void kaiyo(int , int *)」
とし、第1引数にnを、第2引数に計算結果を格納する変数のポインタを指定すること。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 2010年1月28日木
[5] その他の制限: よろしくお願いします
246:デフォルトの名無しさん
10/01/27 17:32:11
>>245
#include <iostream>
void kaiyo(int , int *);
int main() {
int n, ret;
std::cin >> n;
kaiyo(n, &ret);
std::cout << ret;
}
void kaiyo(int n, int *ret) {
*ret = 1;
for (int i = 1; i <= n; i++) {
*ret = *ret * i;
}
}
247:デフォルトの名無しさん
10/01/27 17:47:37
>>246
ありがとうございます!
248:デフォルトの名無しさん
10/01/27 17:55:11
>>234
よくこんな糞問題に手を出すなぁw
show()が2つあるのはソート前後の比較用でしょ
ソート途中を示すものじゃないと思うよ
N=10000でもエディタの設定で折り返しなしにすれば
見れないことは無いけど1行8000バイトだからひどいもんだ
249:デフォルトの名無しさん
10/01/27 18:02:03
>>242
main() を書きましたか?
250:デフォルトの名無しさん
10/01/27 20:23:38
[1] 授業単元:情報処理演習
[2] 問題文(含コード&リンク):
次のプログラムで作成される縞パターンを縦にした画像を作成するプログラムを作成せよ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: (Windows/Linux/等々)
Linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc 3.4
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
提出期限2010年1月29日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
特にないです
よろしくお願いします。
251:デフォルトの名無しさん
10/01/27 21:09:22
>>250
txtでうpしてるのに何でインデント潰すの?
必要なスペースまで潰すのは嫌がらせ?
//if(i>=75 && i<=125){
if(j>=150 && j<=250){ //元々の数字がマジックナンバーなので好きに替えてくれ
252:デフォルトの名無しさん
10/01/27 21:11:05
sin のマクローリン展開とコンピュータ定義のsinとの誤差を求めよとの問題なのですが
エントリーポイントを定義しなければならないとエラーが出ているのですが解決方法がわかりません
#include <stdio.h>
#include <math.h>
#define gosa 0.00001
double sa(double x){
double d,dt;
int k;
k=1;
d=0;
dt=x;
d=d+dt;
while(1){
if(fabs(sa(x)-cos(x))<gosa)break;
}
dt=dt*(-1)/((k+1)*(k+2))*x*x;
k=k+2;
return fabs(sa(x)-cos(x));
}
int main(){
double x;
x=0.00;
while(1){
printf("x=%3f cosの差=%12f\n",x,sa(x));
x=x+0.01;
if(x<=1.00)break;
}
}
どうかよろしくお願いします
計算式が間違ってる・・・とかはスルーして貰って結構です
[3] 環境 [3.1]windows vista[3.2] visual C++ 2008[3.3] C++[4] [無期限]
253: ◆QZaw55cn4c
10/01/27 21:21:49
>>145
URLリンク(codepad.org)
期限切れでしたか。残念です。
254:デフォルトの名無しさん
10/01/27 21:34:44
>>249
#include <iostream>
using namespace std;
char score(int sc){
if(sc>=90) return 'S';
if(sc>=80) return 'A';
if(sc>=60) return 'B';
return 'C';
}
mainをどこに入れるんですか?
255:デフォルトの名無しさん
10/01/27 21:35:57
依頼者が見てるか確認してから貼るのがマナーだよん
見てるかどうか確かめても返事がない場合や、見てそうにも
ない場合で、世間を騒がせたまま逃げ出した依頼者の尻拭い
をしたいという気持ち(大抵の場合は杞憂)でコードを貼る
場合はアンカーは>>1にしようぜ
256:デフォルトの名無しさん
10/01/27 21:43:16
>>252
スレタイ嫁
hello worldからやり直して貼り付けろカス
257:デフォルトの名無しさん
10/01/27 21:44:21
>>254
URLリンク(codepad.org)
問題自体は関数を実装せよ、ということでしたから、回答者は関数 score() だけを回答した(と思います)のですが、
実際に score() の動作を確かめたいというのであれば、こんな感じで main() から書かないといけないでしょうね。
>>255
> 依頼者が見てるか確認してから貼るのがマナーだよん
そんなマナーがあるのですか?そんなマナーにどんな意味があるのですか?
258:デフォルトの名無しさん
10/01/27 21:49:36
>>252
エラーは要約しないで、丸ごとコピペしろ。
259:デフォルトの名無しさん
10/01/27 22:05:15
>>257
プログラムを作成せよじゃないから多分そうですね。一応、>>236はどうすると実行ができますか?
260:デフォルトの名無しさん
10/01/27 22:23:44
>>253
いえいえ!ありがとうございます!!
261:デフォルトの名無しさん
10/01/27 22:33:34
>>200
順列を生成するクラスだけで十分そうなので、後はご自分でどうぞ。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
262:デフォルトの名無しさん
10/01/27 22:38:52
>>261
next_permutation使えば?
C限定ならまだ分かるけど。
263:デフォルトの名無しさん
10/01/27 22:48:15
>>262
それは>>200の人に言ってあげてください。
264:デフォルトの名無しさん
10/01/27 22:49:39
>>263
>[3.3] 言語: C++
>[5] その他の制限: 特にありません
え?
265:デフォルトの名無しさん
10/01/27 22:50:58
>>264
だから>>200の人に言ってあげてください。
266:200
10/01/27 22:54:07
>>261
うおおーありがとうございます!
Cの最低限しか学んでないんで
C++っぽいclassとかの使い方の勉強にもなります。
>>262
ぐぐるとそれ使えばいけそうですね。ありがとうございます!
いやーそうか、やりたいことのキーワードで検索すれば
ライブラリであったりするんだな。
今回は順列でpermutationか。
そういった意味でも勉強になりました。ありがとうございました!
267:デフォルトの名無しさん
10/01/27 22:58:38
>>252
これで動くと思うけど問題の意味を取り違えてるような
あとなぜかcosが出てきたけどsinに書き換えといた。
#include <stdio.h>
#include <math.h>
#define gosa 0.00001
double sa(double x){
double d,dt;
int k;
k=1;
d=0;
dt=x;
d=d+dt;
while(1){
if(fabs(d-sin(x))<gosa)break;
dt=dt*(-1)/((k+1)*(k+2))*x*x;
d=d+dt;
k=k+2;
}
return fabs(d-sin(x));
}
int main(){
double x;
x=0.00;
while(1){
printf("x=%3f sinの差=%12f\n",x,sa(x));
x=x+0.01;
if(x>1.01)break;
}
}
268:デフォルトの名無しさん
10/01/27 22:58:43
>>265
え?理由は?
269:デフォルトの名無しさん
10/01/27 23:40:40
>>268
理由は、必要としているのは私ではないから。
便利な道具があることを教えるのもいいことだと思います。
個人的には、(テーマが「宿題」ということもあり)ブラックボックスのままよりは、
多少勉強のネタになる状態で提供するのも、悪くはないかなという意見ですが。
270:200
10/01/27 23:52:51
わたし非常に勉強になりましたのでいいじゃないですか!
271:デフォルトの名無しさん
10/01/28 00:15:16
>>269
えと、あなたのレスに疑問を抱いたのに
質問者にあれこれ問い質しても意味不明ですよね?
自分が学生時代のころは
特に明記の無い限り標準関数の車輪は減点対象でしたので。
272:デフォルトの名無しさん
10/01/28 01:07:12
>>270
私もちょっと困惑気味…
>>271
「next_permutation使えば?」と言われましたが、使う機会の無い私に言われるのも
意味不明ですから、質問者へのアドバイスとして言われればよいと判断したまでです。
また、何が減点対象で何が加点対象かは、時代背景も無いとはいいませんが、主には
講義や目的や教授の方針に依るよるでしょうから、質問者が適切に判断されれば良いと
思いますけれど。車輪を自分で発明をするのも勉強のうちですし。
273:デフォルトの名無しさん
10/01/28 01:12:27
「講義や目的や」は「講義の目的や」の間違いです。すみません。
274:デフォルトの名無しさん
10/01/28 01:24:25
基本的にここ、質疑応答スレじゃないんで。
知力、実力共に実態が質問者と教授回答者
であっても、形式的かつ論理的かつ法的には
依頼者と作業実行者の関係になります。
275:デフォルトの名無しさん
10/01/28 01:32:55
要するに宿題代行を依頼する人もコード記述を代行する人も
かかる行為が世に100%賛同されているとは
言い切れないという認識は常に頭の片隅にでも...
276:デフォルトの名無しさん
10/01/28 02:09:45
>>272
明らかな糞ソースを張って突っ込みが入ったとしても
苦情は質問者に言ってくれ!ってことね。おkw
277:デフォルトの名無しさん
10/01/28 02:10:52
誰か>>259を教えてください
278:デフォルトの名無しさん
10/01/28 02:18:28
依頼者が代行者のコードに苦情を言うのはマナー違反
だが程度問題
偶然の別代行者が代行者のコードを見てあれこれ
アドバイスするのは美徳でないとは言い切れない。
別の代行者からコードを受け取ったことがわかって
いる時点でコードを渡すのは美徳とは言い切れない。
複数の代行者が同調していたとしても
依頼者の依頼の仕方が悪いと決めつけられ
るかは状況依存
279:デフォルトの名無しさん
10/01/28 02:33:20
>>278
不毛だな
宿題スレ代行者のレスを添削するスレ
とか出来そうだ
280:233
10/01/28 03:01:29
>>236で回答もらったんですがboolってやつを習ってないんですよね…double.int.charとかは習ったんですが…しかしそれ以外だと出来ないとするとそれが正解ですよね
281:デフォルトの名無しさん
10/01/28 07:41:59
>>280
bool を int に置き換えればOK
282:デフォルトの名無しさん
10/01/28 16:20:52
>>281
それをintに変えたんですが>>257で書いてもらった感じで実行もするんですよね…
283:257
10/01/28 18:04:29
>>282
ん、そうです。自力でかけば力がつくことでしょう。
284:デフォルトの名無しさん
10/01/28 18:16:16
>>283
これじゃダメなんですよね…
#include <iostream>
using namespace std;
int even(int num) {
if(0 == sc%2) {
return true;
}
return false;
}
285:デフォルトの名無しさん
10/01/28 18:25:57
>>284
int main() から実行されますから、int main() を書かなくてはいけません。>>257 をちょっと変えればいいです。がむばってください。
286:デフォルトの名無しさん
10/01/28 18:26:41
>>284
じれったいw
boolをintに書きかえれ、と教えてもらってるでしょうに。
booをintに。
bool even(int sc){
return (sc%2 == 0);
}
を
int even(int sc){
return (sc%2 == 0);
}
に。
287:デフォルトの名無しさん
10/01/28 18:26:56
>>284
//int even(int num) {
int even(int sc) {
にしましょう
true/falseで返すなら
bool even(int sc) {
にしたほうがいいと思います。
int even(int sc) {
ならば
return 1;
return 0;
としたほうがいいと思います。
288:286
10/01/28 18:30:39
あ、失礼。
元々、
>>233
> [2] 問題文(含コード&リンク): 入力された数字が偶数なら、trueを返す関数。それ以外ならfalse
> [3.3] 言語:C++
なのか。だったら
bool even(int sc){
return (sc%2 == 0);
}
か。
289:デフォルトの名無しさん
10/01/28 18:33:01
>>288
return に括弧はいらない。
290:デフォルトの名無しさん
10/01/28 18:41:19
自分で書いて使うだけなら括弧はいらないが、
省略する癖はつけないほうが良い
291:デフォルトの名無しさん
10/01/28 18:43:15
だからといって
return (0)とか
return (1.0)とか
return ("aho-desuka?")
とかはやり過ぎ
式には括弧を付ける癖をつけましょう
失礼しました
292:デフォルトの名無しさん
10/01/28 18:50:37
#include <iostream>
using namespace std;
int even(int sc){
return (sc%2 == 0);
}
int main() {
int num;
cout << "> ";
cin >>num;
cout << even(num);
return 0; }
これじゃダメなんですよね…boolっていうの使えないからもう滅茶苦茶ですよね
293:デフォルトの名無しさん
10/01/28 18:52:44
return 0とかreturn 1とかは何か習ったみたいですがboolとかどこにもないんですよね
294:デフォルトの名無しさん
10/01/28 19:14:32
>>292
#include <iostream>
using namespace std;
bool even(int sc){
return sc%2==0;
}
int main(){
int num;
cout << ">";
cin >> num;
cout << boolalpha << even(num) << endl;
return 0;
}
習っていようがいまいが、true/falseで返せってのはboolを使えと言う事だから使うしかない。
295:デフォルトの名無しさん
10/01/28 19:55:20
1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限:2010年1月29日16:00まで
[5] その他の制限: 特にありません
よろしくお願いします。
296:デフォルトの名無しさん
10/01/28 19:57:42
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
10個の要素を持つ動的な整数配列を作るプログラムを作成しなさい。
動的な配列へのポインタを整数ポインタに代入しなさい。
次に、ポインタ算術または配列の添字を使って、1から10までの値を配列を構成する整数に代入しなさい。
最後に、代入した値を表示し、メモリを解放しなさい。
[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限:2010年1月29日16:00まで
[5] その他の制限: 特にありません
よろしくお願いします。
297:デフォルトの名無しさん
10/01/28 20:01:53
>>294
三行目に書いたところは、scじゃなくてnumでした。すみません。boolalphaってなんですか?
298:デフォルトの名無しさん
10/01/28 20:04:45
>>296
#include <iostream>
int main() {
int *p = new int[10]; // 動的な配列へのポインタを整数ポインタに代入
for (int i = 0; i < 10; i++) {
p[i] = 1 + i; // ポインタ算術または配列の添字を使って、1から10までの値を配列を構成する整数に代入
}
for (int i = 0; i < 10; i++) {
std::cout << p[i] << std::endl; // 代入した値を表示し
}
delete p; // メモリを解放
return 0;
}
299:デフォルトの名無しさん
10/01/28 20:28:30
[1] 授業単元:コンピュータリテラシー
[2] 問題文(含コード&リンク):
あるファイルの名簿を呼びだし、名前もしくは名字で検索しその結果を新しいファイルに保存する。あるファイルの名簿は特に決められていない。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名とバージョン:BCC Developer Borland C++ 5.5.1
[3.3] 言語:C++
[4] 期限:2010年1月29日12:00まで]
[5] その他の制限: 上記のプログラミングの他に fp while float else puts gets
strlen strcpy strcat 以外は使用しないでください。授業で習っていないので…
よろしくおねがいしまつ。
PC規制で携帯からですみません…
300:デフォルトの名無しさん
10/01/28 20:38:42
>>295
URLリンク(kansai2channeler.hp.infoseek.co.jp)
301:デフォルトの名無しさん
10/01/28 20:40:23
>>193
今更なんですが、『厳密解』って所に『double exact=63』ってあるんですが、これを計算するプログラムを作るんじゃないんですか?これをプログラムに書いてもいいんですかね?
302:301
10/01/28 20:42:52
でも
//厳密解 の部分は出力される結果は同じですね。入れるとどう違うんですか
303:298
10/01/28 20:43:48
て、訂正! >>296さん気をつけて。
×delete p; // メモリを解放
○delete[] p; // メモリを解放
304:デフォルトの名無しさん
10/01/28 20:44:22
>>301
大丈夫?中学校からやり直す?
305:デフォルトの名無しさん
10/01/28 20:52:41
>>304
?
306:デフォルトの名無しさん
10/01/28 20:56:54
ごめんなさい。納得しました
307:デフォルトの名無しさん
10/01/28 20:57:01
[1] Cプログラミング入門:
[2] URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Linux
[3.2] gcc(すいませんバージョンがわかりません)
[3.3] 言語:C
[4] 期限: 2010年1月31日23:59まで
[5] その他の制限: 特にないです。
お願いします。
308:デフォルトの名無しさん
10/01/28 21:10:31
>>299
> fp while float else puts gets
>strlen strcpy strcat 以外は使用しないでください。
その条件じゃオレには無理。
//(前略)
fin=fopen(filename1,"r");//fout=fopen(filename1,"r");
fout=fopen("kojin.txt","w");//fin=fopen("kojin.txt","w");
for(i=0;i<100;i++)
if(fscanf(fin,"%s%s%s%s",&date[i].myouji,&date[i].name,&date[i].jusho,&date[i].denwa)==EOF)break;
fclose(fin);//fclose(fout);
printf("名前もしくは名字=");
scanf("%s",&ss);
for(i=1; i<=5; i++){
if(strcmp(ss,date[i].myouji)==0){
//printf("%s %s %d %d\n",date[i].myouji,date[i].name,date[i].jusho,date[i].denwa);
fprintf(fout,"%s %s %d %d\n",date[i].myouji,date[i].name,date[i].jusho,date[i].denwa);
k=k+1;
}
if(strcmp(ss,date[i].name)==0){
//printf("%s %s %s %s\n",date[i].myouji,date[i].name,date[i].jusho,date[i].denwa);
fprintf(fout,"%s %s %s %s\n",date[i].myouji,date[i].name,date[i].jusho,date[i].denwa);
k=k+1;
}
}
fclose(fout);//fclose(fin);
}
309:デフォルトの名無しさん
10/01/28 21:21:00
[1] C言語プログラミング演習(大学任意科目)
[2] コマンドラインで指定された各テキストファイルに対して個別に以下の処理を行うCプログラムを作成
☆テキストファイルを通読し、各行のインデント深度の最大値を求める(それをNとおく)
☆テキストファイルの先頭から再度読み出し、それぞれの行についてインデント深度がnなら
ば、インデント深度をN-nに変更したものを標準出力する。
☆新しいテキストファイルのNが判明した時点で、その改行とファイル名、改行を標準出力する。
ここでインデント深度とは、行頭からタブ、空白以外の文字が現れるまでがn回(n>=0)現れた場合
深度=nとする。
[3]
[3-1] Windows XP Professional Edition
[3-2] Visual-C++ 6.0 SP6
[3-3] C言語
[4] 2/1迄
[5] stdio.hを使用可 (他は暗黙的にNG)
310:309
10/01/28 21:24:53
すみません。転記ミスです
×
☆新しいテキストファイルのNが判明した時点で、その改行とファイル名、改行を標準出力する。
ここでインデント深度とは、行頭からタブ、空白以外の文字が現れるまでがn回(n>=0)現れた場合
深度=nとする。
○
☆新しいテキストファイルのNが判明した時点で、改行とそのファイル名、改行を標準出力する。
ここでインデント深度とは、行頭からタブ、空白以外の文字が現れるまでタブがn回(n>=0)現れた場合
深度=nとする。
311:デフォルトの名無しさん
10/01/28 21:32:45
>>308
わざわざご返答ありがとうございます。そうですか…無茶振りすいません。
一応引き続き、>>299お答え出来る方いらっしゃいましたら厚かましいですが宜しくお願い致します…
312:デフォルトの名無しさん
10/01/28 21:40:54
>>310
スペースがいくら続こうともタブが一つも無ければ深度=0ですか?
313:デフォルトの名無しさん
10/01/28 21:50:33
>>311
freopenもダメなんでしょ?
314:デフォルトの名無しさん
10/01/28 22:02:09
>>313
すみません。習ってないのでわからないです…
315:デフォルトの名無しさん
10/01/28 22:03:34
[1] 授業単元:プログラミング応用
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp) 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual studio 2003
[3.3] 言語:C
[4] 期限:2010年2月2日正午まで
[5] その他の制限: 特にありません
よろしくお願いします。
316:デフォルトの名無しさん
10/01/28 22:04:06
>>307
URLリンク(codepad.org)
ヒントがひどいよ(´;ω;`)
一応ヒントに沿う形で書いたけどいろいろ酷い…。
こちらの環境では動いてるけど、そちらの環境で動くかどうか不明。
codepadでOutput: 1 Segmentation faultとか出ちゃってるから。
317:デフォルトの名無しさん
10/01/28 22:06:10
>>315
問題文URLでミスしました。再投稿します。
[1] 授業単元:プログラミング応用
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual studio 2003
[3.3] 言語:C
[4] 期限:2010年2月2日正午まで
[5] その他の制限: 特にありません
今度こそ、よろしくお願いします。
318:316
10/01/28 22:08:10
あ、Resultsの中の
for (i = 0; i < N; i++) printf("%d:%d\n", i, COM[i]);
for (i = 0; i < n; i++) printf("%d:%d\n", i, MAN[i]);
printf("count = %d\n", count);
この三行はデバッグ用なので不要です。消しておいてください。
319:デフォルトの名無しさん
10/01/28 22:26:00
>>311
その条件で問題を解くのは不可能だから、
あきらめるか、条件を見直すしかないね。
320:デフォルトの名無しさん
10/01/28 22:39:27
>311
あ、コマンドラインパラメタとパイプ・リダイレクトを使えばいけるな。
type 入力ファイル | 宿題.EXE 検索語句 > 出力ファイル
こんな起動方法はあり?
321:デフォルトの名無しさん
10/01/28 22:43:19
>>307
どうぞ。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
322:デフォルトの名無しさん
10/01/28 22:44:06
>>316 >>318
どうもありがとうございます。一人ではどうにもなりませんでした。
323:デフォルトの名無しさん
10/01/28 22:49:08
>>321
ありがとうございます!
なんとかのりきれそうですm(_ _)m
324:デフォルトの名無しさん
10/01/28 22:52:05
>>320
あの…
名簿の人数が大体5人と考えてみても無理でしょうか?
その中から一人検索するので…
条件が習ってる範囲なので変えることができないのですが。
325:デフォルトの名無しさん
10/01/28 23:03:15
>324
データ数は関係ない。
その条件だとファイルの読み書きができない。
使用可能関数に記述もれは無いのか?
fで始まる名前の関数を習って無いのか?
326:デフォルトの名無しさん
10/01/28 23:07:18
>>299
> fp while float else puts gets
>strlen strcpy strcat 以外は使用しないでください。
これだけだと、ファイルに入出力できない。
>>320 タソが言ってる方法もあるが・・・
> 名簿の人数が大体5人と考えてみても無理でしょうか?
人数は関係ないかと。
というか、名簿のフォーマットは決められていないですか?
ファイルの入出力関数について何も習ってないならば、
この問題は解けないと思います。
とりあえず、講義資料とかノートとか読み返して、
fgetsとかfputsとかを習っていないか確認してください。
327:デフォルトの名無しさん
10/01/28 23:15:56
>>324
>上記のプログラミングの他に fp while float else puts gets
>strlen strcpy strcat 以外は使用しないでください。授業で習っていないので…
それ、あなたが勝手に付けた条件だよね?
上記に記載されていない
fopen,fclose,scanf,printf,struct等使ってるけど
それはいいの?
fopenやfcloseは使ってるのに
fprintf,fgets,fputs等のファイル入出力関数は使っちゃダメなの?
・問題文は、出題されたまま全文を書いてください。
328:デフォルトの名無しさん
10/01/28 23:16:59
翻弄された回答者が(´・ω・)カワイソス
329:デフォルトの名無しさん
10/01/28 23:17:22
>>320
>>326
すみません!!見直したところfscanf、fprintf、fputsとfgetsも使ってました。
不注意でご迷惑お掛けしました…
330:デフォルトの名無しさん
10/01/28 23:18:53
>>329
なら308でいいよね?
331:デフォルトの名無しさん
10/01/28 23:29:58
>>330
それがEOFとbreakがつかえないもので…すみません。
332:デフォルトの名無しさん
10/01/28 23:45:17
連投すみません。これ以上書くと私物化も甚だしいので控えます。
頂いたヒントで頑張ります。情報不足でご迷惑お掛けしました。
本当にありがとうございました。
333:デフォルトの名無しさん
10/01/29 04:07:06
下痢便飲みたいのかそうか
334:デフォルトの名無しさん
10/01/29 16:23:54
[1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3]環境
[3.1] OS:WindouwsXP
[3.2] コンパイラ名とバージョン:Microsoft VisualC++2008 Express Edition
[3.3] 言語:C
[4] 期限: (2010年1月31日17:00まで
[5] その他の制限:特になし
ファイルの入出力について理解したいので、
すみませんが、よろしくお願いします。
335:デフォルトの名無しさん
10/01/29 17:43:11
>>334
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
FILE *fp,*fin;
char s[256]="gomibako";
char fname[256], buff[256];
long pos;
printf("出力するファイル名を入力せよ。\n");
fgets(fname,256,stdin); //スペース入りファイル名なので
fname[strlen(fname)-1]='\0'; //\n → \0
strcat(fname, ".txt");
fp = fopen(fname, "a"); fin = fopen("word.txt","r");//fpは"a"追記モード
if ((fp == NULL)||(fin == NULL)) {
printf("ファイルオープン失敗。\n");
exit(EXIT_FAILURE);
}
fseek(fp,0,SEEK_END); //ファイル名出力は最初の1回目のみのようなので
pos=ftell(fp);
if(pos==0)
fprintf(fp,"%s\n",fname);
while(fscanf(fin,"%s",buff)!=EOF)
if(strcmp(buff,s)!=0)
fprintf(fp,"%s\n",buff);
fclose(fin);
fclose(fp);
printf("読み込み完了/書き込み完了。\n\n");
return 0;
}
336:デフォルトの名無しさん
10/01/29 20:20:50
[1] 授業単元: 情報処理B
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows vista
[3.2] Cygwin
[3.3] 言語: C
[4] 期限:2月9日まで
[5] その他の制限: とりあえずstrcpyは習っています。
課題5以外はプログラム中の省略を補っていただきたいです。多いですがよろしくお願い致します。
337:200
10/01/29 22:56:13
>>200ですがおかげさまでプログラムを完成させられました。
do{
}while(next_permutation(intary.begin(), intary.end()));
を使いました。
ところで>>200ではn!もしくはn!×n!の組み合わせを計算することになりますが
nが10だとn!×n!は1.31681894 × 10^13もの組み合わせになります。
この辺をうまいことごまかす方法ってないものでしょうか。
厳密な解でなくともそこそこの解を短時間で計算できる、みたいな・・・。
338:デフォルトの名無しさん
10/01/29 23:26:09
>>335さん。
詳しい解説助かります。本当にありがとうございました。
339:デフォルトの名無しさん
10/01/30 01:16:49
>>337
「B組の隣にA組を並ばせる」「身長差を最小にする」
の2つを同時に満たす解があるとは限らないので、よくあるのは重みWを利用して
点数=(1-W)×(Bの隣にAがいるか?)+W×(身長差が最小か?)
で並びを評価する。2つの条件のどちらを重視するかでWの値を調節する。
あとは色々とアルゴリズムあると思うけど、ランダム山登り探索でもすればいいんじゃないかね
①今の並びの点数を計算
②ランダムに2つ選んで交換してみる
③交換したあとの点数を計算
④点数が高くなっていたら交換を採用、低くなっていたら元に戻す
を繰り返していって、何回か連続で失敗したら終了。
340:デフォルトの名無しさん
10/01/30 03:04:51
>>336
課題1 URLリンク(codepad.org)
課題2 URLリンク(codepad.org)
課題3 URLリンク(codepad.org)
341:デフォルトの名無しさん
10/01/30 09:16:33
>>339
これは組み合わせ最適化ってカテゴリになるんですかね?
う~ん、なかなか手の込んだことしないといけないっぽいなぁ。
342:デフォルトの名無しさん
10/01/30 11:14:15
>>337
計算途中で、過去の最小を超えたら中止したらいいんじゃね?
少しはラクになるはずw
343:デフォルトの名無しさん
10/01/30 11:19:52
身長順にソートして、
隣の組の子と手を繋がせて、
A組の子を元の順に並べる。
これじゃダメなの?
344:342
10/01/30 11:33:03
あ、中止つうのは、端折って次へ、という意味。
345:デフォルトの名無しさん
10/01/30 12:09:33
>>341
宿題のレベル超えるから最適化アルゴリズムでも調べてくれ
>>342
それをやったとしても計算量のオーダーには寄与しないよ
テクニックとしては重要だが。
>>343
そのやり方だと「AとBが隣り合う」という条件を完全に満たして、
「身長差が小さい」についてはそこそこ、という解が得られる。
そういう解が欲しいときにはその手の方法がベストだと思う。
>>200の問題文を見る限り、その解釈でいいと思う。
346:デフォルトの名無しさん
10/01/30 13:21:56
Microsoft社 Visual Studio C++のソフトウェアを用いて
チャットアプリケーションを作れと言われたのですが、
当方C言語系がとても苦手で困っています;;
システムの仕様は
・1対1の環境でのみ動作。
・サーバ側はポート番号を指定して、クライアントからの接続を待つ。
・クライアント側はサーバのIPアドレスとポート番号を指定して、サーバに接続する。
・この時の通信はTCPで行う。
・クライアントが通信をやめたい場合は"endc"
・サーバ側がやめたい場合は"ends"と入力。
・WinSockを使用してWindowsのコンソールプログラムとして基本的な簡易なチャット
以上の条件でプログラミングしていただけると幸いです。
よろしくお願いします m__)m
347:デフォルトの名無しさん
10/01/30 13:38:34
>>346
>>1
348:200
10/01/30 14:21:39
身長順にソートできれば確かに楽になりそうですね。
ただ>>200の問題はもっと複雑なものの一部分を抜き出したもので、
本当は身長順というよりも2次元平面上で距離が近いもの同士って感じなんです。
そうなると・・・ちょっと安易にはソートできないかな?
なんにしても宿題としては提出してしまっているので自分が気になってるだけです。
最適化アルゴリズムでいろいろ見てみようと思います。
349:デフォルトの名無しさん
10/01/30 14:45:58
Cマガのプログラミング研究会を思い出した。
350:デフォルトの名無しさん
10/01/30 15:26:06
>>345
343じゃないけど、>>343のやり方で、
身長差が最小とならない場合って、どんな場合?
計算してみたら、常に最小になりそうなんだが。
それとも「そこそこ」ってのは
「最小にならない場合がある」って意味ではない?
351:デフォルトの名無しさん
10/01/30 15:29:09
[1] 授業単元:プログラミング演習Ⅱ
[2] 問題文(含コード&リンク):
□1□2□3□4□5□6□7□8□9
の□に四則の演算子(+,-)や空白を入れて100なるような
小町算の全ての解を求めるプログラムを作成すること
例えば
12 + 3 - 4 + 5 + 67 + 8 + 9 = 100
123 - 45 - 67 + 89 = 100
[3] 環境
[3.1] OS: Windows
[3.2] VC3.5SP1
[3.3] 言語: C++
[4] 期限: 本日4時まで
[5] その他の制限: 特にないです
かなり切羽詰まってるのでお願いします…
352:350
10/01/30 15:42:36
と、思ったけど、AとBが隣り合わない場合を考慮すると、
343のやり方では、身長差が最小とならない場合がある、
という意味だったのね。
失礼、読み違えてました。
353:デフォルトの名無しさん
10/01/30 16:14:36
[1] 授業単元:コンピュータグラフィック
[2] 問題文(含コード&リンク):10468.txt
モノクロ画像を読み込み,(319,239) の画素値を 0 とする
画像を関数を使用して読み込み,それを 2 次元配列に格納する関数を作成する.
指定した画素の画素値をセットする.
2 次元配列に格納していた画像を 1 次元配列に再度格納し,関数を使用して画像ファイルとして書き戻す.
[3] 環境
[3.1] OS:WindowsXP
[3.2] VC 05
[3.3] 言語:C
[4] 期限: ([2010年2月1日01:00まで]
[5] その他の:
前スレで24日辺りに回答を頂いた問題なのですが、差し戻されました
自分なりに分かる部分を書き直してみましたが、一向に解決しないので回答をいただけないでしょうか?
354:デフォルトの名無しさん
10/01/30 16:16:35
>>351
31分でコードを作ってもらおうという考えは非常識
355:デフォルトの名無しさん
10/01/30 17:51:17
>>351
前にIPAの試験に出てたので、そのまま作ってみたよ
URLリンク(codepad.org)
356:デフォルトの名無しさん
10/01/30 18:07:34
[1]情報科学特論 (大学院講義レポート課題)
[2]URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] OS:Solaris GNU-C-compiler 4.0 C言語
[4] 2/11迄
[5] 面倒なのでよろしく
357:デフォルトの名無しさん
10/01/30 18:28:17
[1] 授業単元:計算機自論
[2] 問題文(含コード&リンク):
LISPはCと同じで関数型言語ではないということを200文字以内で表現してください
[3] 環境
[3.1] OS: すべて
[3.2] コンパイラ名とバージョン: すべて
[3.3] 言語: 日本語
[4] 期限: 無期限
358:デフォルトの名無しさん
10/01/30 19:15:44
[1] 授業単元:プログラミング演習Ⅱ
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:WindouwsXP
[3.2] コンパイラ名とバージョン:VisualC++2008 Express Edition
[3.3] 言語:C
[4] 期限:2010年2月2日15:00まで
[5] その他の制限:特になし
なんとか途中まで頑張りましたが、今の自分ではこれが限界でした・・・。
問題文リンク先の≪問題と条件≫の全てを満たすソースを、お教え下さい。
お手数かけますが、よろしくお願いします。
359:デフォルトの名無しさん
10/01/30 19:21:19
>>351
なんか変数いっぱい散らかしてもっちゃりしてるけど。
処理もなんかぐねぐねぐねぐねとしてるし。駄目だな。
URLリンク(codepad.org)
>>355さんのを見て勉強しなおしてきます。
360:デフォルトの名無しさん
10/01/30 19:44:31
>>358
#include <stdio.h>
int main(int argc,char *argv[]){
FILE *fp1=NULL,*fp2=NULL;
char buf;
int i=1;
int result=0;
if(argc!=3){
printf("引数が不正\n");
result=-1;
goto EXIT;
}
fp1 = fopen(argv[1],"rb");
fp2 = fopen(argv[2],"w");
if(fp1==NULL || fp2==NULL){
printf("file open error\n");
result=-1;
goto EXIT;
}
while(fread(&buf,1,1,fp1)){
fprintf(fp2,"%02X ",buf);
if(i%16==0)
fprintf(fp2,"\n");
i++;
}
EXIT:
if(fp1) fclose(fp1);
if(fp2) fclose(fp2);
return result;
}
361:デフォルトの名無しさん
10/01/30 20:26:12
360さん。回答ありがとうございます。
早速、このソースでコンパイルしたところ問題なくビルドは出来ました。
しかし、その後の「デバックなし」で実行してみましたが、
「引数が不正」と表示されてしまい、上手く出来ません。
これは何故でしょうか?しょぼい質問ですいません・・・。
362:デフォルトの名無しさん
10/01/30 20:38:24
>>361
≪問題と条件≫
第1引数に指定したファイルからバイナリーモードで1バイトずつファイルを読み込み、
ファイルの内容を16進数で示したものを第2引数に指定したファイルに書き込むプログラムを作成せよ。ただし、16バイトごとに改行を入れること。
(実行)
>free1.exe test.txt test2.txt
でしょ?
363:デフォルトの名無しさん
10/01/30 20:41:50
>>361
横からだけど、
今の場合引数っていうのは、プログラム実行時にプログラム名の後に続けて書くもの
>free1.exe test.txt test2.txt
この場合はtest.txtが第1引数で、test2.txtが第2引数
例えばここを
>free1.exe hoge.txt fuga.txt
にしても、ちゃんとhoge.txtから読み込んでfuta.txtに出力するような
プログラムを作れっていうのが、この課題なんじゃないかな