トップページ⇒tech
1001コメント426KB

C/C++の宿題を片付けます 112代目

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2008/07/07(月) 23:04:05
あなたが解けない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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】        http://chomework.sakura.ne.jp/
【wiki】               http://www23.atwiki.jp/homework/

【前スレ】C/C++の宿題を片付けます 111代目
http://pc11.2ch.net/test/read.cgi/tech/1214563642/
0002デフォルトの名無しさん2008/07/07(月) 23:04:37
重複しませんようにー
0003デフォルトの名無しさん2008/07/07(月) 23:05:39
乙。
前スレ埋まる前に立てようとしたんだけど、スレ立て規制に引っかかった。
0004デフォルトの名無しさん2008/07/07(月) 23:07:31
前スレの未解答文あったら貼った方がいいんじゃない?
0005デフォルトの名無しさん2008/07/07(月) 23:08:20
出題者もしくはまとめるのが好きな方が貼ればいいんでない?
0006デフォルトの名無しさん2008/07/07(月) 23:11:01
>>374
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7268.c
0007デフォルトの名無しさん2008/07/07(月) 23:11:23
>>988
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7266.txt
0008デフォルトの名無しさん2008/07/07(月) 23:12:37
[1] 授業単元: C言語プログラミング
[2] 問題文メモリや実行時間の許容範囲内の、最大完全数、最大友愛数、および最大婚約数を算出プログラムを作成[3] 環境
[3.1] OS: Windows 
 [3.3] C言語・C++
[4] 期限: ([2008年7月8日12:00まで

よろしくお願いします。
0009デフォルトの名無しさん2008/07/07(月) 23:14:37
[1] 授業単元: C言語プログラミング
[2] 問題文メモリや実行時間の許容範囲内の、最大完全数、最大友愛数、および最大婚約数を算出プログラムを作成
[3] 環境
[3.1] OS: Windows 
[3.3] C言語・C++
[4] 期限: ([2008年7月8日12:00まで

よろしくお願いします。
0010 ◆kMUdcU2Mqo 2008/07/07(月) 23:28:20
[1]授業単元:データ構造
[2]問題文:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7267.txt
[3]環境: OS:vista
コンパイラ名:visual stadio2008
言語:C++
[4]期限:7/9 17:00
[5]その他制限:特になしです。どうか宜しくお願いします。
0011デフォルトの名無しさん2008/07/07(月) 23:32:21
[1] 授業単元:ソフトウェア
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7270.txt
教科書752.2 KB (770253 バイト)
http://up2.viploader.net/pic/src/viploader694225.jpg
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Microsoft Visual C++ 2005 ExpressEdition
 [3.3] 言語: C
[4] 期限: 2008年07月09日23:59まで
[5] その他の制限: 初心者です。急ぎです。よろしくお願いします。
0012デフォルトの名無しさん2008/07/07(月) 23:47:51
[1] 授業単元:c言語
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7271.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 7月8日 午前11時
[5] その他の制限: 構造体の問題です。急ぎの問題ですよろしくお願いします
0013デフォルトの名無しさん2008/07/07(月) 23:48:34
[1] 授業単元:プログラム実習
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7262.txt
[3] 環境
 [3.1] OS: windows XP
 [3.2] コンパイラ名とバージョン:VC6.0
 [3.3] 言語: C++
[4] 期限:
[5] その他の制限:条件はtxtに記載しています

よろしくお願います
0014デフォルトの名無しさん2008/07/07(月) 23:54:20
>>11
画像死んでる
0015デフォルトの名無しさん2008/07/08(火) 00:02:57
>>8-9 は要するに、順番に虱潰しに力任せでやれってことで良いのかな?
0016デフォルトの名無しさん2008/07/08(火) 00:02:58
[1] 授業単元:応用プログラミング
[2] 問題文(含コード&リンク):http://apple.ee.uec.ac.jp/PROG/text/kadai/kadai09forInt.c
                  http://apple.ee.uec.ac.jp/PROG/text/kadai/bitmap.bmp
[3] 環境
 [3.1] OS: (WindowsXP)
 [3.2] コンパイラ名とバージョン: (VisualC++ 2008 Express Edition)
 [3.3] 言語: (C)
[4] 期限: ([2008年8月1日24:00まで)
[5] その他の制限: ()
0017デフォルトの名無しさん2008/07/08(火) 00:13:15
専ブラでマリオ見えるたび笑うw
0018デフォルトの名無しさん2008/07/08(火) 00:15:14
実に面白くないレスだな
0019デフォルトの名無しさん2008/07/08(火) 00:16:59
俺はお前の感想が聞きたくて書いたんじゃない!すっこんでろ!
というレスをする気持ちがさっぱり沸かない
0020デフォルトの名無しさん2008/07/08(火) 00:19:08
実に必死なレスだな
0021デフォルトの名無しさん2008/07/08(火) 00:21:50
>>8-9
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7273.c
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7274.c
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7275.c
すべて力任せなんで、適当に求める値の上限を指定しておきました
0022デフォルトの名無しさん2008/07/08(火) 00:26:28
http://ja.wikipedia.org/wiki/%E5%A9%9A%E7%B4%84%E6%95%B0
http://ja.wikipedia.org/wiki/%E5%8F%8B%E6%84%9B%E6%95%B0
http://ja.wikipedia.org/wiki/%E5%AE%8C%E5%85%A8%E6%95%B0
参考までに。完全数はメルセンヌ素数を用いれば 33550336 でも一瞬で求められるけどね。
0023112008/07/08(火) 00:39:26
長持ちする画像うpろだ教えてください。
http://bbs.2ch2.net/freedom_uploader/
ここ以外で
0024デフォルトの名無しさん2008/07/08(火) 01:02:12
>>12
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7277.txt
0025デフォルトの名無しさん2008/07/08(火) 01:12:57
前スレの>>950の方どうもありがとうございます。
0026デフォルトの名無しさん2008/07/08(火) 01:14:10
回答テンプレ
[1]回答レベル:ヒント/コンパイル済み/動作確認済み/
清書済み(ケチ付けること不可)
[2]コード:リンクのみの場合は、質問者の問題内容を簡潔に書いて
リンクミス事故防止対策を取る。
[3]処理系: OS/コンパイラ名/コンパイル時パラメータ等
[4]コメント
ノーコメントでなおかつ回答レベルが書いていない場合は、
清書済みとみなす。
0027デフォルトの名無しさん2008/07/08(火) 01:14:53
>>24ありがとうございます。qsortはまだ習っていないのですが、配列の単純選択法のようにはできないですかね?
0028デフォルトの名無しさん2008/07/08(火) 01:22:23
>>26
乙。
ただ、関数だけとかの場合は「コンパイル済み」ではなく
「ヒント」とするという文を付けてほしかったな
0029デフォルトの名無しさん2008/07/08(火) 01:28:28
おまいら、本当にテピュール(テンプレ)が好きなんだなぁ・・・
↑(自分宛に)実に面白くないレスだな
0030デフォルトの名無しさん2008/07/08(火) 01:29:47
ttp://www.tempur-japan.co.jp/t_goods/pillow/pillow.html
テンピュッーーーール
0031デフォルトの名無しさん2008/07/08(火) 01:56:43
>>27
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7278.txt
0032デフォルトの名無しさん2008/07/08(火) 02:09:24
前スレ>>791
ありがとうございました
0033デフォルトの名無しさん2008/07/08(火) 03:08:49
http://pc11.2ch.net/test/read.cgi/tech/1214563642/945
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <ctype.h>
double calc_pi( int k ){
int i, count = 0, log_count = 10;
for ( i = 0; i < k; ++i ) {
double x = rand() / (RAND_MAX + 1.0), y = rand() / (double)(RAND_MAX + 1.0);
count += ( x * x + y * y < 1.0 ) ;
if ( i == log_count ) {
double pi = 4.0 * count / (double) i;
printf( "(%8d) pi=%f (%f)\n", i, pi, fabs( M_PI - pi ) / M_PI );
log_count *= 10;
}
}
return 4.0 * count / (double) k;
}
main( ){
int k = 10000000;
char line[ 5 ] = {0};
srand( time( NULL ) );
while ( tolower( line[ 0 ] ) != 'n' ) {
double pi = calc_pi( k );
printf( "(%8d) pi=%f (%f)\nagain?(y/n)", k, pi, fabs( M_PI - pi ) / M_PI );
fgets( line, sizeof line, stdin );
}
}
0034デフォルトの名無しさん2008/07/08(火) 03:45:00
>>8-9
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7279.c
メルセンヌ素数を用いて符号無しint型の範囲内で
0035デフォルトの名無しさん2008/07/08(火) 03:48:27
[1] 授業単元:プログラミング技術
[2] 問題文:char型の数字10桁「char suuzi[11]="1500867395\n";」を
intに直し、int型配列「int buf[10]」へ値をそれぞれ代入しなさい。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 特になし
[5] その他: 自分で挑戦してみたのですが、上手く動作しません・・・。
       アドバイスをいただけるとうれしいです。(未完成です)
       http://ranobe.com/up/src/up282628.txt
0036デフォルトの名無しさん2008/07/08(火) 03:48:41
っと、符号ありか。まぁ、そこで求められる最大は符号無しの範囲も超えているんで
とりあえずそういうことで。
0037デフォルトの名無しさん2008/07/08(火) 03:52:28
>>35
#include <stdio.h>
int main(void) {
char suuzi[11]="1500867395\n";
int buf[10],i,suuzi_sz=sizeof(suuzi)/sizeof(suuzi[0]);
for(i=0; i<suuzi_sz-1; i++) {
buf[i]=suuzi[i]-'0';
printf("%d ",buf[i]);
}
return 0;
}
0038デフォルトの名無しさん2008/07/08(火) 03:55:23
>>35
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7280.c
0039352008/07/08(火) 03:57:48
>>37-38
本当にありがとうございます。
0040デフォルトの名無しさん2008/07/08(火) 04:04:36
>>35
[1]未コンパイル
[2]
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char suuzi[11]="1500867395¥n";
int buf[10],i,j;
j=atoi(suuzi);
for(i=0; i<10; i++) buf[i]=j;
return 0;
}
[3]略
[4]問題文をそのまま解釈すると上のコードになる筈です。
0041デフォルトの名無しさん2008/07/08(火) 04:18:51
>>40 そのクソースにはお前の著作権を認めてやるから、コピペ流用されないようにね
0042デフォルトの名無しさん2008/07/08(火) 04:36:32
>>35の添付コードを見る限り>>40のコードのほうが妥当な気がする
0043デフォルトの名無しさん2008/07/08(火) 04:44:51
またヘタレ小僧の言い訳妥協か。レスするだけ自分が理解力のない馬鹿だと
露呈するだけだから、口閉じてろ、あっ、指を休めてろか
0044デフォルトの名無しさん2008/07/08(火) 04:46:44
>>42
あぁ〜はいはい、自分を擁護しなくて良いよ。
>>40 はコンパイルが通らないのに、妥当以前の問題だから。
エラーを解消しても、結果みると、コーヒーをディスプレイに
ぶっ掛けてしまいそうになるから、やってみそ
0045デフォルトの名無しさん2008/07/08(火) 04:50:32
>>39 のレスからして、目的のものが得られたようだが、
言い訳にもならん自己弁護なんてすんなよ・・・
0046デフォルトの名無しさん2008/07/08(火) 04:53:50
初心者の書いたコードを見て、勝手にやりたいことを推測して
補うのは事故の元だからやめとけよ
0047デフォルトの名無しさん2008/07/08(火) 04:59:50
だから時には、そんなのわけわかんねぇ〜とか言わずに
エスパーも必要だってw もう何年もこのスレにいると
それくらい普通に身につくからw
0048デフォルトの名無しさん2008/07/08(火) 05:48:20
>>16
if( (buffer[n] == 0) & (buffer[n+1] == 0) & (buffer[n+2] == 255) )
else if( (buffer[n] == 0) & (buffer[n+1] == 127) & (buffer[n+2] == 255) )
else if( (buffer[n] == 0) & (buffer[n+1] == 127) & (buffer[n+2] == 127) )
else if( (buffer[n] == 255) & (buffer[n+1] == 255) & (buffer[n+2] == 255) )

0049デフォルトの名無しさん2008/07/08(火) 07:53:01
500 名前:デフォルトの名無しさん 投稿日:2008/06/14(土) 02:32:10
>>497
大学名教えてw
教えてくれなかったら脳内大学とみなす


501 名前:デフォルトの名無しさん 投稿日:2008/06/14(土) 02:34:39
いねを知らなかった馬鹿が入れる大学なんてないだろ
0050デフォルトの名無しさん2008/07/08(火) 08:41:03
>>48
ありがとうございます
0051デフォルトの名無しさん2008/07/08(火) 09:10:50
まぁ、ちょっと黙って、いちいちこの書き込みにレスしないで聞いてろや。
10年前ってーと、俺は大学に通ってた頃でよ、最近このスレに現れる
何か言うとそれに対して、自分の(固執した)意見に合わないと
すぐに何か言い返し、しかも自分の考えが間違っていても
押し切る一言居士の(仮名)森川っつー喫煙もする奴がおったんよ。
そいつとは激しく口論したが、結局俺が理論的に正論を唱えていたわけよ。
そんときゃとっくにインターネットなんて利用してたし、
自分は先に情報を検索して事実関係を調べ、主観的な意見ではなく
客観的な意見を述べてたに過ぎないからな。
要するに、事実をそいつより先に知ったに過ぎない。
知った事実は、当然自分が生まれる遥か遠い昔に
とっくに世の中じゃ知られてた当たり前の事実。
学生だったし、世の中をまだよく知らなかったから、教科書を覚えて
出来た気になってたところはあったがな。
0052デフォルトの名無しさん2008/07/08(火) 09:15:23
30前後でこの有様かよw
日本語から勉強し直したほうがいいけど、もう手遅れだな。
0053デフォルトの名無しさん2008/07/08(火) 09:19:32
まぁ、とにかく、分かりきった答えの課題を解いて、
書店にでも行けば見つかるようなソースを書いて
自分の真似をしたなんていっているようなら、こんなところに
書き込むなよw お前が書かなくても、その他、不特定多数の
有志の回答者が暇つぶしに答えているからw
自分が頭を捻って考えたからって、それが効率の良いものとは
限らんだろ。汎用性を考慮して前進する人には敵わんよ。
そんなこと言っているようなら、まず書店で本を買ってこい。
ネットに転がっているソースなんて、ものによっちゃ
明らかにタブー、効率が悪い、意味不明、なんてものもいくらでもあるしな。
そしてそれを自分が書いてしまっているかもしれんよ、ここでw
0054デフォルトの名無しさん2008/07/08(火) 09:24:17
ほんと麻呂のクソースはいらねーよなw
0055デフォルトの名無しさん2008/07/08(火) 09:26:11
宿題スレなんだから回答者は多いほうがいいだろ。
お前のためにあるスレじゃねーんだから。
0056デフォルトの名無しさん2008/07/08(火) 09:30:10
んで、その大学だけど、京大、東大卒の教授の下で授業を受けられたんで
人生の中では貴重な体験をしたよ。やはり気質が違うね。人間性も。
専攻分野だけでなく、人間としても。下衆の集まる場所じゃ
やはりまともな人間が育たない理由が分かったよ。
所詮ここでのやり取りも、下界の人間のやり取りに過ぎないということを、ね。
上から下を見るようになると、人間は変わるよ。
下から上をにらんでいるようでは、いつまでも下っ端だぜ?
0057デフォルトの名無しさん2008/07/08(火) 09:37:19
京大、東大卒の教授、って教授は大体そうだろ。
帝大になりそこねたうちの大学ですら大半は東大卒で早慶やら帝大が一部混じる程度。
まあそんな事はどうでもいいんだが、こんなスレで長文を書く事程無駄な事はないと思うがね。
内容の大半もどうでもいい事だしな
0058デフォルトの名無しさん2008/07/08(火) 09:43:09
俺東大出てるんだw
0059デフォルトの名無しさん2008/07/08(火) 09:46:00
で
何やってるんだよ
0060デフォルトの名無しさん2008/07/08(火) 09:51:42
>>56
>>49
0061デフォルトの名無しさん2008/07/08(火) 09:52:36
[2] 問題文:char型の数字10桁「char suuzi[11]="1500867395\n";」を intに直し、
 >>38 Complete! char suuzi[11]="1500867395";
0062デフォルトの名無しさん2008/07/08(火) 10:12:31
教えてください

1. For 文を使って、次の図形を表示しなさい。

                   *
                   ***
                  *****
                  *******
                 *********
                 ***********
                *************
2. scanf 文を使ってキーボードから10人の得点データを入力し、11番目のデータはー999とする。そして、while 文を使って、この10人の得点の平均点を求めよ。
3. 2次元配列を使って、6人の身長と体重をstatic データで入力し、それぞれの平均を求め、次のような表をつくれ。P75参照。
       
       
                                  平均
身長  165  156  173  163  159  168
体重   45   48   54  56   49   55

4.ピタゴラスの定理を満たす1から100までの整数のうち、3つともが偶数になるものを出力せよ。for文とif文を使う。
5.自分の生まれた月の今年のカレンダーを作れ。printf文と改行の使い方。P55を参照。
0063622008/07/08(火) 10:14:12
追記です。
6.自分の名前を大文字でYAMADA HANAKOのように入力し、小文字で出力せよ。
0064デフォルトの名無しさん2008/07/08(火) 10:18:22
おしえてください。下のプログラムで"hell"と表示されるんですがどこを直すといいですか?

#include <stdio.h>

int main(void) {
  int len;
  char *msg;
  msg = "hello world\n";
  asm("nop");
  asm("movl $4, %eax\t\n");
  asm("movl $1, %ebx\t\n");
  asm("movl %0, %%ecx\t\n" :: "g"(msg): "cx");
  asm("movl %0, %%edx\t\n" :: "g"(len): "dx");
  asm("int   $0x80\t\n");
  return 1;
}
0065デフォルトの名無しさん2008/07/08(火) 10:43:13
[1] 授業単元:プログラミング演習�T
[2] 問題文(含コード&リンク):エスケープ文字の\n,\t,\f,\r,\bのJISコードを16進数で出力するプログラムを作成しなさい。
[3] 環境
 [3.1] OS:Linux
 [3.3] 言語:C
[4] 期限:2008年07月08日21:00まで
[5] その他:大学入りたてのレベルです。
期限短くて申し訳ないですがお願いします。
0066デフォルトの名無しさん2008/07/08(火) 10:51:19
>65
#include <stdio.h>
int main(void)
{
char c;
c=getchar();
printf(%X, c);
return 0;
}

今適当に書いたら問題の回答とちょっと違ったのに気付いた。
まあ、あとは分かるな?
0067デフォルトの名無しさん2008/07/08(火) 11:00:16
>>64
int len;
0068デフォルトの名無しさん2008/07/08(火) 11:13:27
/* Part112_63 */
#include <stdio.h>
#include <ctype.h>
#include <string.h>

void main(int argc, char *argv[]) {
    int i, j;

    for(i=1; i<argc; i++) {
        j = (int)strlen(argv[i])-1;
        for( ; j>=0; j--)
            argv[i][j] = tolower(argv[i][j]);
        printf("%s ", argv[i]);
    }
}
0069デフォルトの名無しさん2008/07/08(火) 11:15:56
どなたか>>10をお願いします;;
なにか問題ありですかね??
0070デフォルトの名無しさん2008/07/08(火) 11:22:05
>>67
わかりません。lenは使ってないので除いたのですが、こんどは出力がおかしくなります。
hello worldの後ろに沢山ゴミがついてきます。どうしたらいいでしょうか?

#include <stdio.h>

int main(void) {
char *msg;
msg = "hello world\n";
asm("movl $4, %eax\t\n");
asm("movl $1, %ebx\t\n");
asm("movl %0, %%ecx\t\n" :: "g"(msg): "cx");
asm("int $0x80\t\n");
return 0;
}
0071デフォルトの名無しさん2008/07/08(火) 11:25:15
asm("movl %0, %%edx\t\n" :: "g"(len): "dx");

つかっとるがな(´・ω・`)
0072デフォルトの名無しさん2008/07/08(火) 11:36:48
>>71

こうやってみたけどダメポ orz

#include <stdio.h>

int main(void) {
char *msg;
msg = "hello world\12\0";
asm("movl $4, %eax\t\n");
asm("movl $1, %ebx\t\n");
asm("movl %0, %%ecx\t\n" :: "g"(msg): "cx");
asm("movl $15, %%edx\t\n" :: : "dx");
asm("int $0x80\t\n");
asm("movl $1, %eax\t\n");
asm("movl $0, %ebx\t\n");
asm("int $0x80\t\n");
}
0073デフォルトの名無しさん2008/07/08(火) 11:42:40
>>71

こうやったらちゃんと動いた。つまり最初はdxがおかしかったの?

#include <stdio.h>

int main(void) {
char *msg;
msg = "hello world\12\0";
asm("movl $4, %eax\t\n");
asm("movl $1, %ebx\t\n");
asm("movl %0, %%ecx\t\n" :: "g"(msg): "cx");
asm("movl $12, %%edx\t\n" :: : "dx");
asm("int $0x80\t\n");
asm("movl $1, %eax\t\n");
asm("movl $0, %ebx\t\n");
asm("movl $0, %%edx\t\n" :: : "dx");


return 0;
}
0074デフォルトの名無しさん2008/07/08(火) 11:46:29
気がついたw
len=12;
が抜けてる!

#include <stdio.h>

int main(void) {
int len;
char *msg;
msg = "hello world\12\0";
len=12;
asm("movl $4, %eax\t\n");
asm("movl $1, %ebx\t\n");
asm("movl %0, %%ecx\t\n" :: "g"(msg): "cx");
asm("movl $12, %%edx\t\n" :: : "dx");
asm("int $0x80\t\n");

asm("movl $1, %eax\t\n");
asm("movl $0, %ebx\t\n");
asm("movl $0, %%edx\t\n" :: : "dx");

return 0;
}
0075デフォルトの名無しさん2008/07/08(火) 11:59:17
これだとエラーがでちゃう。lenの渡し方がわかりません。

#include <stdio.h>

int main(void) {
int len;
char *msg;
msg = "hello world\12\0";
len=12;
asm("movl $4, %eax\t\n");
asm("movl $1, %ebx\t\n");
asm("movl %0, %%ecx\t\n" :: "g"(msg): "cx");
asm("movl $0, %%edx\t\n" :: "g"(len) : "dx");
asm("int $0x80\t\n");

asm("movl $1, %eax\t\n");
asm("movl $0, %ebx\t\n");
asm("movl $0, %%ecx\t\n" :: : "cx");
asm("movl $0, %%edx\t\n" :: : "dx");

return 1;
}
0076デフォルトの名無しさん2008/07/08(火) 12:00:36
>>66
どうもgetcharでは一文字しか読まないらしく、最初の\のコードしか表示されません…
繰り返し処理入れたとしても、あくまで「入力した2文字」のコードであってエスケープ文字としてのコードにはならなそうだし…馬鹿で申し訳ない。
0077デフォルトの名無しさん2008/07/08(火) 12:06:42
わーい!動いた
>>71さん、感謝します!

#include <stdio.h>

int main(void) {
int len;
char *msg;
msg = "hello world\12\0";
len=12;
asm("movl $4, %eax\t\n");
asm("movl $1, %ebx\t\n");
asm("movl %0, %%ecx\t\n" :: "g"(msg): "cx");
asm("movl %0, %%edx\t\n" :: "g"(len) : "dx");
asm("int $0x80\t\n");

asm("movl $1, %eax\t\n");
asm("movl $0, %ebx\t\n");
asm("movl $0, %%ecx\t\n" :: : "cx");
asm("movl $0, %%edx\t\n" :: : "dx");

return 1;
}
0078デフォルトの名無しさん2008/07/08(火) 12:07:40
>>62
1
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7281.c
2
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7282.c
4
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7283.c
5
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7284.c
6
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7285.c
0079デフォルトの名無しさん2008/07/08(火) 12:11:21
/* Part112 >>65 */
#include <stdio.h>

void main(void) {
    char in[5+1] = "\r\f\n\t\b";
    char pr[5+1] = "rfntb";
    int i=5;
    for( --i; i>=0; i--)
        printf("\\%c %02X\n", pr[i], in[i]);
}
0080デフォルトの名無しさん2008/07/08(火) 12:12:03
たぶん正解はこれ。改行後にEOFがあるんだ。

#include <stdio.h>

int main(void) {
int len;
char *msg;
msg = "hello world\12\0";
len=13;
asm("movl $4, %eax\t\n");
asm("movl $1, %ebx\t\n");
asm("movl %0, %%ecx\t\n" :: "g"(msg): "cx");
asm("movl %0, %%edx\t\n" :: "g"(len) : "dx");
asm("int $0x80\t\n");

return 1;
}
0081デフォルトの名無しさん2008/07/08(火) 12:28:50
strlenを使うようにしてみた。やっぱりlenは12だった。strlenはEOFをカウントしないのか。

#include <stdio.h>

int main(void) {
int len;
char *msg;
msg = "hello world\n\0";
len=strlen(msg);
printf("%d\n",len);
asm("movl $4, %eax\t\n");
asm("movl $1, %ebx\t\n");
asm("movl %0, %%ecx\t\n" :: "g"(msg): "cx");
asm("movl %0, %%edx\t\n" :: "g"(len) : "dx");
asm("int $0x80\t\n");
return 1;
}
0082622008/07/08(火) 12:38:55
>>78
ありがとうございます!助かりました!感謝!!!
0083デフォルトの名無しさん2008/07/08(火) 13:11:43
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
次の処理を行うプログラムを作成しなさい。

キーボードから入力した2進数を
10進数に変換して出力する。
ただし,入力が2進数でなかった場合
エラーメッセージを出力して最初からやりなおす。


【実行例】
2進数を入力してください 10101
21

2進数を入力してください 12345
エラー(2進数ではありません)

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC
 [3.3] 言語: C++
[4] 期限:
[5] その他の制限: 入力、計算、全てint型で作成する場合も考えて下さい。
0084sage2008/07/08(火) 13:12:53
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
小数で入力される気温のデータを5℃単位の整数に丸めたい。
キーボードからdouble型変数kに気温を入力し、
丸めた数値はint型変数gに求め、gを画面に出力する。

ただし入力データに負の気温はないものとする。

また必要なら、
計算途中の中間結果を格納するint型変数wなど、
適宜変数を用意すること。

【実行例】
温度を入力 22.4
約20度です

温度を入力 22.5
約25度です
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC
 [3.3] 言語: C++
[4] 期限:
[5] その他の制限:繰り返しや分岐を使わず、簡単な計算で
0085sage2008/07/08(火) 13:13:36
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
大きさ10のint型の配列a[10]を宣言し、以下の処理を順に実行するプログラムを書きなさい。

i番目の要素a[i]にiを格納する(iは0〜9)
a[i] = i;
配列要素の内容を出力する
i番目の要素a[i]について、1つ前と2つ前の要素の合計とする。(iは2から)
a[i] = a[i-1] + a[i-2];
配列要素の内容を出力する
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC
 [3.3] 言語: C++
[4] 期限:
[5] その他の制限:
0086sage2008/07/08(火) 13:14:26
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
キーボードから100点満点のテストの点数を入力し(-1で終了)、
10点ごとの人数を int型の配列 count[11]に数えるプログラムを
作成せよ。 テストは100点満点とし、それ以外の入力はエラーと
して無視する。ただし -1 はデータの終了を表すものとする。
点数の入力が終了したら、度数分布を画面に出力して終了する。
出力は人数と,*(アスタリスク)によるグラフとする。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC
 [3.3] 言語: C++
[4] 期限:
[5] その他の制限:
0087デフォルトの名無しさん2008/07/08(火) 13:17:04
>>85
#include <iostream>
using namespace std;
main()
{
int a[10];
for(int i = 0; i < 10; i++) a[i] = i;
for(int i = 0; i < 10; i++) cout << i << ": " << a[i] << endl;
for(int i = 2; i < 10; i++) a[i] = a[i-1] + a[i-2];
for(int i = 0; i < 10; i++) cout << i << ": " << a[i] << endl;
}
0088デフォルトの名無しさん2008/07/08(火) 13:25:06
>>84
#include <iostream>
using namespace std;
main()
{
double k;
cout << "温度を入力 ";
cin >> k;
int g = int(k / 5) * 5;
cout << "約" << g << "度です" << endl;
}
0089デフォルトの名無しさん2008/07/08(火) 13:45:53
ここに置いてあるやつお願いします。
ttp://u.dynalias.org/download.php?no=00761

ダウンロードキーワード↓
xuniz.ur
0090デフォルトの名無しさん2008/07/08(火) 13:56:13
>>89 .zip Download dekinai
てんぷれ使ってない
0091デフォルトの名無しさん2008/07/08(火) 14:19:53
[1] 授業単元: C言語プログラミング
[2] キーボードから,分子,分母に相当する整数2つを入力し,その既約分数を表示せよ。
[3] 環境
[3.1] OS: Windows 
[3.3] C言語・C++
[4] 期限: ([2008年7月8日12:00まで
[5]条件
  分母が1の時には,分子のみを表示する。
  分子と分母の符号が異なるときにのみ,−符号を表示する。
  分母がゼロの入力エラーに対しては、再入力するように促す。
  正しく計算できる最大規約分数を示す。

<例>
  入力 200 300    出力  2/3
  入力 2 3   出力 2/3
  入力 10 5  出力 2
  入力 0 10  出力 0
  入力 -5 10  出力 -1/2
  入力 5 -10  出力 -1/2
  入力 -5 -10  出力 1/2
  入力 5 0  再入力を求める

 お願いします。


0092デフォルトの名無しさん2008/07/08(火) 14:47:57
/* Part112 >>83 */
#include <iostream>
#include <string>
using namespace std;

void main() {
    int i, len;
    int data;
    string in;

  while(true) {
    cout << "2進数を入力してください ";
    cin >> in;
    len = (int)in.length();
    data = 0;
    for( i=0; i<len; i++ ) {
        if(in[i] != '0' && in[i] != '1') {
            cout << "エラー(2進数ではありません)" << endl;
            goto loop;
        }
        data<<= 1;
        data += in[i]-'0';
    }
    cout << data << endl;
loop:;
  }
}
0093デフォルトの名無しさん2008/07/08(火) 15:08:56
質問者もテンプレ守らなくなって来たな。
回答者がテンプレ守らないからだよ。
0094デフォルトの名無しさん2008/07/08(火) 15:10:12
回答テンプレなんてごく最近に追加されたんだがな
0095912008/07/08(火) 15:15:35
>>91

期限
2008年 07月 15日(火曜日)12:00まで

の、間違いです。すみません
0096デフォルトの名無しさん2008/07/08(火) 15:20:36
>>21
>>22
>>34
ありがとうございます
0097デフォルトの名無しさん2008/07/08(火) 15:41:46
おまえら彼女とかいるの?
0098デフォルトの名無しさん2008/07/08(火) 15:59:25
>>13
をだれか…
0099デフォルトの名無しさん2008/07/08(火) 16:42:50
>>91,95
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7286.cpp
出来上がってから「C++」だと気づいてヘッダのみ変えました・・・。
もし使うなら<iostream>に自分で直してください。
0100デフォルトの名無しさん2008/07/08(火) 16:47:44
[1] 授業単元:画像処理
[2] 問題文(含コード&リンク):
次のプログラムを改良し、位置x,yの値を入力させ、画像の画素値r,g,bを表示するプログラムにせよ。
<<<<ここに各自の処理を実装する>>>>
の下部にコーディングするものとする。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7287.c
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C
[4] 期限: 2008/7/8 23:59まで
[5] その他の制限: 特になし
よろしくお願いします。
0101デフォルトの名無しさん2008/07/08(火) 17:03:06
>>13,>>98
すまん。わからん。メモリリークに詳しい人プリーズ。

http://codepad.org/XdsMf9NY
■ このスレッドは過去ログ倉庫に格納されています