ぼるじょあがC/C++の宿題を片付けますYO! 39代目
■ このスレッドは過去ログ倉庫に格納されています
0001ぼるじょあ ◆yBEncckFOU
05/01/25 19:53:17――【注意点】―――――――――――――――――――――――――
・質問は必ず【質問テンプレ】に従ってください。
・問題文は、解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。解いてもらっている方に失礼です。
・複雑なAAはスレが荒れたり問題が埋もれる原因になりますので使用を控えてください。
―――――――――――――――――――――――――――――――
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS:
[3.2] コンパイラ(バージョン):
[3.3] 言語:C/C++/どちらでも可 のいずれか
[4] 期限:yyyy年mm月dd日hh:mmまで/無期限 のいずれか
[5] その他の制限:
【アップローダー】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【歴代スレは>>1-10辺り】
38代目 http://pc5.2ch.net/test/read.cgi/tech/1105541524/
37代目: http://pc5.2ch.net/test/read.cgi/tech/1103913840/
36代目: http://pc5.2ch.net/test/read.cgi/tech/1102753497/
35代目: http://pc5.2ch.net/test/read.cgi/tech/1101568895/
34代目: http://pc5.2ch.net/test/read.cgi/tech/1100530682/
33代目: http://pc5.2ch.net/test/read.cgi/tech/1097932699/
32代目: http://pc5.2ch.net/test/read.cgi/tech/1097592876/
31代目: http://pc5.2ch.net/test/read.cgi/tech/1095075678/
30代目: http://pc5.2ch.net/test/read.cgi/tech/1091954342/
29代目: http://pc5.2ch.net/test/read.cgi/tech/1090765027/
0002デフォルトの名無しさん
05/01/25 19:55:150003ぼるじょあ ◆yBEncckFOU
05/01/25 19:55:1627代目: http://pc5.2ch.net/test/read.cgi/tech/1089448445/
26代目: http://pc5.2ch.net/test/read.cgi/tech/1088860889/
25代目: http://pc5.2ch.net/test/read.cgi/tech/1087929711/
24代目: http://pc5.2ch.net/test/read.cgi/tech/1086612317/
23代目: http://pc5.2ch.net/test/read.cgi/tech/1085149383/
22代目: http://pc5.2ch.net/test/read.cgi/tech/1083050221/
21代目: http://pc5.2ch.net/test/read.cgi/tech/1078157730/
20代目: http://pc5.2ch.net/test/read.cgi/tech/1075217631/
19代目: http://pc5.2ch.net/test/read.cgi/tech/1073566342/
18代目: http://pc5.2ch.net/test/read.cgi/tech/1071407728/
17代目: http://pc5.2ch.net/tech/kako/1070/10704/1070469896.html
16代目: http://pc5.2ch.net/tech/kako/1069/10698/1069837000.html
15代目: http://pc5.2ch.net/tech/kako/1068/10689/1068950713.html
14代目: http://pc5.2ch.net/tech/kako/1067/10671/1067175933.html
13代目: http://pc5.2ch.net/tech/kako/1064/10645/1064541405.html
12代目: http://pc5.2ch.net/tech/kako/1060/10607/1060706382.html
11代目: http://pc5.2ch.net/tech/kako/1058/10582/1058283913.html
10代目: http://pc5.2ch.net/tech/kako/1057/10570/1057070174.html
9代目: http://pc5.2ch.net/tech/kako/1055/10559/1055944101.html
8代目: http://pc5.2ch.net/tech/kako/1055/10550/1055056940.html
7代目: http://pc5.2ch.net/tech/kako/1053/10539/1053963794.html
6代目: http://pc5.2ch.net/tech/kako/1053/10530/1053045530.html
5代目: http://pc5.2ch.net/tech/kako/1051/10515/1051594046.html
4代目: http://pc5.2ch.net/tech/kako/1045/10450/1045074808.html
3代目: http://pc5.2ch.net/tech/kako/1041/10419/1041992392.html
2代目: http://pc3.2ch.net/tech/kako/1039/10397/1039772622.html
1代目: http://pc3.2ch.net/tech/kako/1038/10380/1038024989.html
では、どうぞ。
0004ぼるじょあ ◆yBEncckFOU
05/01/25 20:02:120005デフォルトの名無しさん
05/01/25 20:05:160006デフォルトの名無しさん
05/01/25 20:26:45授業単元 大学の「情報処理」という講義名の課題
問題 1文字列をキーボードから読み取り、その文字列を暗号化した文字列を表示するプログラム。ただし、入力する文字列は英数記号のみとする。
2 暗号化は次の方法で行う。文字列中のローマ字を大文字小文字を問わず下記に示すとおりの置き換えを行う。
3 ローマ字以外の文字は暗号化しない。
a b c d e f g h i j k l m
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
n o p q r s t u v w x y z
環境 Borland C++5.5.1 WinXP
期限 2005年1月27日
なにとぞよろしくお願いします。
0007デフォルトの名無しさん
05/01/25 20:29:33うざいマルチ
0008デフォルトの名無しさん
05/01/25 20:31:32乙
00096
05/01/25 20:34:000010デフォルトの名無しさん
05/01/25 20:36:06トリプルマルチ、暴言吐き。
00116
05/01/25 20:44:24読まずにお願いしてしまい誠に申し訳ありません。以後気をつけます。
0012デフォルトの名無しさん
05/01/25 20:48:25浮気するなら離婚してこい
0013デフォルトの名無しさん
05/01/25 20:57:4200146
05/01/25 21:12:2100156
05/01/25 21:20:29前スレ見て解き方が分かりました。どうもありがとうございました。
00166
05/01/25 21:25:310017 ◆0vfXsQKCwI
05/01/25 21:33:540018デフォルトの名無しさん
05/01/25 21:40:210019ぼるじょあ
05/01/25 21:54:33| ('3`) マンドクセ
/ ̄ノ( ヘヘ ̄ ̄
0020デフォルトの名無しさん
05/01/25 22:01:11#include <stdlib.h>
#include <string.h>
int main(void)
{
char str[BUFSIZ], str2[BUFSIZ];
int len, i;
if(fgets(str, sizeof(str), stdin) == NULL) exit(1);
if(sscanf(str, "%s", str2) != 1) exit(1);
len = strlen(str2);
for(i=0; i<len; i++)
if((str2[i] >= 'a' && str2[i] <= 'm') ||
(str2[i] >= 'A' && str2[i] <= 'M')) str2[i] += 13;
else if((str2[i] >= 'n' && str2[i] <= 'z') ||
(str2[i] >= 'N' && str2[i] <= 'Z')) str2[i] -= 13;
printf("%s\n", str2);
return 0;
}
0021デフォルトの名無しさん
05/01/25 22:09:22動作確認しました。本当にありがとうございました!
0022ぼるじょあ ◆yBEncckFOU
05/01/25 22:53:18(・3・)エェー 乙だYO!
0023デフォルトの名無しさん
05/01/25 22:55:040024デフォルトの名無しさん
05/01/25 22:57:430026デフォルトの名無しさん
05/01/25 23:13:30のだが。タイムマシン?
0027デフォルトの名無しさん
05/01/25 23:16:410028デフォルトの名無しさん
05/01/25 23:21:090029デフォルトの名無しさん
05/01/25 23:26:330030デフォルトの名無しさん
05/01/25 23:28:050031デフォルトの名無しさん
05/01/26 00:19:47アスキーを仮定するのはいいとして、せめて13でなく'N'-'A'にしようや。
0032デフォルトの名無しさん
05/01/26 00:32:02EBCDICだったらどうすんだよ。
0033デフォルトの名無しさん
05/01/26 00:46:270034デフォルトの名無しさん
05/01/26 00:46:31それなら元のスレで私が書いたのでできる。
0035デフォルトの名無しさん
05/01/26 01:22:22>>939
どうもありがとうございました。
まだ少し時間があるので、お手本にして自分でも作ってみます。
お世話になりました。
0036前スレ730
05/01/26 01:57:20[1] 授業単元:C++研究
[2] 問題文(含コード&リンク):
テキストボックスに文字を入力し、"い"が入力されたら画像1を、"ろ"なら画像2を、
"は"なら画像1を1秒表示後、画像2に切り替え表示するプログラムを作成せよ。
画像の保管場所はそれぞれ、画像1="C:\1.bmp"、画像2="C:\2.bmp"とする。
[3] 環境
[3.1] OS:XP
[3.2] コンパイラ(バージョン):Visual C++ 6.0
[3.3] 言語:C++
[4] 期限:2005年2月1日
製作にはMFCを使用するようなのですが担当教官にもわからないらしく、
締め切りは延ばしてもらったもののお手上げ状態です。
どうかよろしくおねがいします。
0037デフォルトの名無しさん
05/01/26 01:59:11学校側へ直接抗議して下さい
無能な教官へ金を流す事はありません
絶対にクビにしてあげてください
0038デフォルトの名無しさん
05/01/26 02:14:490039デフォルトの名無しさん
05/01/26 02:52:27[2] 問題文(含コード&リンク): n次の正方行列の行列式を消去法を行い、全てのピボットの積で求めるプログラム
[3] 環境
[3.1] OS: win xp
[3.2] コンパイラ(バージョン): bcc 32
[3.3] 言語:C
[4] 期限:2005年1月31日hh:mmまで/
[5] その他の制限:はじめにnを入力し、次に各要素を入力してから、答えが出てくるようにしていただきたいです。
よろしくお願いします。
0040デフォルトの名無しさん
05/01/26 02:57:58ソースを貼るので、どなたかわかる人がいましたらご指摘おねがいします。
まだ勉強途中なので模範ソースを貼っていただけたらうれしいです。
少し長くなりますがよろしくお願いします。
#include<stdio.h>
#define YSIZE 640
#define XSIZE 480
#define HIGH 255
#define LOW 0
#define L_BASE 100 /*連結成分のラベルのベース値*/
main(){
FILE *fp,*fg;
unsigned char in[YSIZE][XSIZE];
unsigned char out[YSIZE][XSIZE];
unsigned char image[YSIZE][XSIZE];
char str[1000];
int i,j,cnt,xs,ys,label;
int w,h; /* 画像の大きさ */
int d; /* 画像の階調 */
for(j=0;j<YSIZE;j++) {/*配列の初期化*/
for(i=0;i<XSIZE;i++){
in[i][j]=out[i][j]=0;
image[i][j]=0; } }
fp=fopen("nitika.pgm","rb");/*ファイル開く、読み込み*/
if(fp == NULL){
printf("open error");
exit(1); }
0041デフォルトの名無しさん
05/01/26 02:59:32fscanf(fp,"%d %d",&w,&h); /* 画像の大きさの読み込み */
fscanf(fp,"%d",&d); /* 画像の階調の読み込み */
for(j=0;j<h;j++){
for(i=0;i<w;i++) {
fscanf(fp,"%d",&in[j][i]); } }
fclose(fp);/*ファイル閉じ*/
labeling(in,out,cnt);/*ラベリング*/
fp=fopen("label.pgm","rb");/*書き込みファイル開く*/
fprintf(fg, "P2\n%d% d\n%d\n",XSIZE , YSIZE, 255);
for(j=0;j<h;j++) {/*書き込み*/
for(i=0;i<w;i++){
fprintf(fg,"%d",out[i][j]);}}
fclose(fg);/*ファイル閉じ*/}
labeling(in,out,image,cnt)
unsigned char in[YSIZE][XSIZE];
unsigned char out[YSIZE][XSIZE];
unsigned char image[YSIZE][XSIZE];
int cnt;
0042デフォルトの名無しさん
05/01/26 03:01:04int i,j,label,ys,xs;
for(i=0;i<YSIZE;i++)
for(j=0;j<XSIZE;j++)
out[i][j]=in[i][j];
label=L_BASE;
for(i=0;i<YSIZE;i++){
for(j=0;j<XSIZE;j++){
if(out[i][j]==HIGH){
if(label>=HIGH){
printf("Error!!too many labels.\n");
return -1;}
image[ys][xs]=label;
for(;;){
cnt=0;
for(i=0;i<YSIZE;i++)
for(j=0;j<XSIZE;j++)
if(image[i][j]==label){
if(image[i][j+1]==HIGH){
image[i][j+1]=label;cnt++;
}
if(image[i-1][j+1]==HIGH){
image[i-1][j+1]=label;cnt++;
}
if(image[i-1][j]==HIGH){
image[i-1][j]=label;cnt++;
}
0043デフォルトの名無しさん
05/01/26 03:02:11image[i-1][j-1]=label;cnt++;
}
if(image[i][j-1]==HIGH){
image[i][j-1]=label;cnt++;
}
if(image[i+1][j-1]==HIGH){
image[i+1][j-1]=label;cnt++;
}
if(image[i+1][j]==HIGH){
image[i+1][j]=label;cnt++;
}
if(image[i+1][j+1]==HIGH){
image[i+1][j+1]=label;cnt++;}}
if(cnt==0)break;}}
label++;
}}
cnt=label-L_BASE;
printf("number of labels:%d\n",cnt);
return 0;}
0044デフォルトの名無しさん
05/01/26 03:12:03>>授業単元:C++研究
・・研究…ですか…いや、いいんですけどね。
というか、この問題ってC++とあまり関係ないんじゃないか?
37の言うとおり。その教官はかなりやばいぞ。
>>38
しかもC:直下に保存。イヤすぎる・・
0045デフォルトの名無しさん
05/01/26 03:24:120046デフォルトの名無しさん
05/01/26 03:25:04講師に教わったって将来ネタに出来るからいいじゃないか
0047デフォルトの名無しさん
05/01/26 03:28:13模範ソースよろ
004840
05/01/26 03:36:08すいません、C言語苦手なのでなかなか綺麗なソースってかけないものでして・・・
0049デフォルトの名無しさん
05/01/26 03:43:08長いんだからうpろーだつかえ
どうせ>>1のテンプレもよんでねーんだろ
0050デフォルトの名無しさん
05/01/26 03:46:03005140
05/01/26 03:58:48アップローダーの方に貼りましたのでよろしくお願いします。
0052デフォルトの名無しさん
05/01/26 04:02:551言われて0.5しかできねーのかてめーは
リンクぐらいはれや
なんで回答者がわざわざ探さないとならんのだ
0053デフォルトの名無しさん
05/01/26 04:07:41確かにおっしゃるとうりです、もうしわけない!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=130
0054デフォルトの名無しさん
05/01/26 04:16:51日本語も不自由な人なんですね
0055デフォルトの名無しさん
05/01/26 04:22:59全然ダメだよこれじゃ…コンパイル通るわけ無い。もうね、アボガド。
やりたいことはわかる。問題は基本がなってないって事。
基礎からやり直せ、話はそれからだ。ガンガレ
0056デフォルトの名無しさん
05/01/26 04:34:05そうですか、ありがとうございます。
自分でもひどいプログラムだとは思ってるんですけどね・・・・
できれば模範ソースだけでも貼っていただけませんか?
0057デフォルトの名無しさん
05/01/26 04:36:360058デフォルトの名無しさん
05/01/26 04:45:59またお前か!!!
進歩の無い人間に教えるのは無駄なので、模範ソースは作りません。
0059デフォルトの名無しさん
05/01/26 05:02:07ん?
二値化を教えてくれた人ですか? あのときはありがとうございました!
これ以上質問すると迷惑っぽいのでもう少し自分で考えてみます。
ありがとうございました
0060デフォルトの名無しさん
05/01/26 05:07:050061デフォルトの名無しさん
05/01/26 05:14:24とりあえず機械的にインデントを直してみたのを
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=130
に貼ってみたよ。中身は見てないっす。gccでコンパイル/リンクは通ってるよ。
0062デフォルトの名無しさん
05/01/26 05:15:59もどってきたら基礎も何もやってなかったらガッカリだよな
0064デフォルトの名無しさん
05/01/26 05:26:20実行はエラーがでてできなかったけどコンパイルはできました。
ありがとうございます!
なんとかいじって見ます。
>>62
教えてくれたのは普通の二値化でしたよね?
それを判別分析法で閾値求めるプログラムにするので必死だったんですよ・・・
特に分散のあたりが・・・・。
言い訳じみてごめんなさい。
0065sage
05/01/26 06:27:13君が教えてもらってたのは画像ファイルを読み込んでタダ表示するだけのものだっただろ?
あの段階でよくそこまでいけね
0066デフォルトの名無しさん
05/01/26 08:58:402値化も教えた。
他にも、エラーチェックしろとかpgmは桁数制限があるぞとかエラー処理しろとかもうね……
情けなくて泣きたくなってきたよ_/ ̄|○
0067デフォルトの名無しさん
05/01/26 09:22:41判別分析法で閾値もとめるプログラムはできてるんだろうし。
>>64
ラベリングならここ参考になるよ
http://cutie.dip.jp/pc/image/13.php#
006867
05/01/26 09:27:47まぁ誰かヒマだったらやってあげて
0071デフォルトの名無しさん
05/01/26 10:26:08データは番号(整数、名前(文字型10文字、とする。
このデータをハッシュテーブルへ
1)登録 2)削除 3)探索 4)表示
が行える機能を有すること。
なお同じ番号がある場合は登録エラーとなる表示を行う。
ハッシュ関数は、kmod Lとし、Lは13とする。
�A上記の課題をオープンアドレス法で実現せよ。
ただしデータ数は15件できるように設計せよ。
これをプログラミングしてください!
どなたかお願いします!
0072デフォルトの名無しさん
05/01/26 10:32:07言語の指定くらいしろよ!
0073デフォルトの名無しさん
05/01/26 10:42:42C言語です!
0074デフォルトの名無しさん
05/01/26 10:44:40期限の指定くらいしろよ!
0077デフォルトの名無しさん
05/01/26 10:59:09ググル方法を勉強しろよ
007871
05/01/26 11:07:460079デフォルトの名無しさん
05/01/26 11:39:16問題文を易しめの文章でおながいします。
0080デフォルトの名無しさん
05/01/26 11:42:440081学部精
05/01/26 11:43:14二つの配列に文字を入力してそれが一致しているか 判定するプログラムです
strstr strlen のヘッダファイルは使ってはいけないんです
これの代わりをうまく書いて作成してもらいたいです
例 kyou ha iitenki 入力 iitenki 結果 seikai!
あと○×ゲームの配列を使ってのプログラム作成をお願いします
(できるだけヘッダファイルを使わずにおねがいします)
0082デフォルトの名無しさん
05/01/26 11:47:43言語の指定くらいしろよ!
0083デフォルトの名無しさん
05/01/26 11:50:46って事だろうな
0084デフォルトの名無しさん
05/01/26 11:51:01こんなやつばっかりだよorz
0085デフォルトの名無しさん
05/01/26 12:02:25だめだ。数�Tまでしかやってないから分からん・・。
0086学部精
05/01/26 12:02:37C言語です
0087学部精
05/01/26 12:04:14[1] 授業単元: 情報工学
[2] 問題文(含コード&リンク): さっきのです
[3] 環境
[3.1] OS: UNIX
[3.2] コンパイラ(バージョン): cc
[3.3] 言語:C/C++/どちらでも可 のいずれか
[4] 期限:2004年1月28日[5] その他の制限: はやくしないとアボンに(;´∀`)
0088デフォルトの名無しさん
05/01/26 12:08:591つ目の入力は、複数の文字列、2つ目の入力は1つの文字列で、
一つ目の文字列のどれかと、2つ目の文字列が一致すれば正解という事?
0089デフォルトの名無しさん
05/01/26 12:18:54http://www.mit.msn.to/matrix/determinant.html
ここの入力部を作ればいいだけの話じゃないんだろか
0090デフォルトの名無しさん
05/01/26 12:20:18http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/132.txt
0091デフォルトの名無しさん
05/01/26 12:20:29これなんかむかつくw
0092デフォルトの名無しさん
05/01/26 12:21:59> [4] 期限:2004年1月28日[5] その他の制限: はやくしないとアボンに(;´∀`)
ふ〜ん。で?
0093デフォルトの名無しさん
05/01/26 12:32:45おそらく
printf("kyouha %s\n >",str1);
scanf("%s",str2);
printf("%s\n",strcmp(str1,str2)==0?"seikai":"huseikai");
だと思うけど
本人が問題の意味分かってなさそうだし書き込みムカつくから俺はやらない
0094デフォルトの名無しさん
05/01/26 12:38:290095デフォルトの名無しさん
05/01/26 12:43:28char s[]="できるだけヘッダファイル使わないで$";
asm{
mov dx,offset s
mov ah,09h
int 21h
};
0096学部精
05/01/26 12:47:35>>88
>>81>>87
1つ目の入力は、複数の文字列、2つ目の入力は1つの文字列で、
一つ目の文字列のどれかと、2つ目の文字列が一致すれば正解という事?
二つ目も複数でもいいんです。 1つ目と二つ目の長さを比較して短い方を
keywordにします
0097学部精
05/01/26 12:48:330098デフォルトの名無しさん
05/01/26 12:51:26ここでの質問者の態度たるものをわかっていないね
0099デフォルトの名無しさん
05/01/26 12:53:250100デフォルトの名無しさん
05/01/26 12:58:49int strcmp(const char *, const char *);
int printf(const char *, ...);
int main() { ... }
0101デフォルトの名無しさん
05/01/26 12:59:12難しくてわかる人いないだろうなここには。
■ このスレッドは過去ログ倉庫に格納されています