C/C++の宿題を片付け ..
116:30
08/04/19 17:34:40
>>40
すいません、できてはいたのですが,
警告 W8066 StrCmnd.c 81: 実行されないコード(関数 main )と、でてましたが
この警告を消す方法はないでしょうか?
そして、前スレで解いていただいたのですが、
「Q.0〜255の整数を入力し、数値に変換して unsigned char型配列に格納する。
この数値に対して1ビット左にシフトした結果、全ビット反転した結果をそれぞれ
10進数、16進数、2進数で表示する(入力された数値に対しても表示しておくこと)」
という問題で、
URLリンク(kansai2channeler.hp.infoseek.co.jp)
と、解答していただいたのですが、unsigned(left,right,return)
など使わずに 結果をunsigned nのみで表示する方法はないでしょうか?
117:デフォルトの名無しさん
08/04/19 17:42:21
>>66 >>92 さらに海底版
URLリンク(kansai2channeler.hp.infoseek.co.jp)
118:66
08/04/19 17:46:30
>>117
ありがとうごぜーます
コードかけないけれど改造だけは得意なのでがんばってみます
119:デフォルトの名無しさん
08/04/19 17:51:33
神がひとりの名無し住人として宿題に挑む
↓
名無し住人として書き込んだ為、神のソース投稿に際して無粋な突っ込みが入る
↓
宿題投稿者からの懇願が奏し、神がソースをアップロード
↓
神が書いたソースのあまりの素晴らしさに息を呑む住人
↓
レスする暇もなく神のソースをしゃぶっている住人から、レスポンスがない事に神は腹を立てる
↓
更に無能な住人から嫉妬されてしまう
↓
完璧な論理で一蹴
↓
非の打ち所がないほどのソースをまさかの連続改良
↓
神様万歳 ←今ここ
↓
神がトリップをつけ2chで数々の功績を残す
↓
神の功績は2ch程度では留まらず、やがて世界の舞台で活躍
↓
神を中心に世界が変わる
120:デフォルトの名無しさん
08/04/19 18:13:12
>>1
> あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。
> 気に入らない質問やその他や発言はスルーの方向で。
読めない新入りがいるよなぁ
121:デフォルトの名無しさん
08/04/19 19:44:02
少しは治療の効果があったようにも見えたが、実際はぜんぜんかわってねーな
また暴れてPC取り上げられんなよw
122:デフォルトの名無しさん
08/04/19 20:05:00
[1] プログラミング実習
[2] 目盛りのついてない水差しが3つあり、それぞれ3L、5L、8Lの容積をもっている
8Lの容器には既に満杯の水が入っているが、半分の4Lずつに分けたいと考えている。
なお、資源を大切にしたいので、水をいくらでも使えるということは出来ない。
最初の8Lをうまく3つの容器に分ける必要がある。
その手順を求めるおプログラムを作成せよ。
また完成後1Lと7Lや5Lと2Lにも分けられることを確認せよ
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: BorlandC++
[3.3] 言語: C言語
[4] 期限: 2008年4月20日24:00まで
[5] その他の制限: 特にないです
123:デフォルトの名無しさん
08/04/19 20:45:04
[1] 授業単元:
[2] 問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:出来れば4/21,無理なら4/24でお願いします
[5] その他の制限:特にありません
宜しくお願いします
124:デフォルトの名無しさん
08/04/19 21:22:36
>>123
>前回のプログラムデータを使用する宿題
ここんとこ詳しく
125:デフォルトの名無しさん
08/04/19 21:58:48
あ、前回>>76さんにやって頂いた課題>>64のことです
それを複数の画像に使用してDBを作ってます
DBの内容については書いてあるとおりです
126:デフォルトの名無しさん
08/04/19 22:04:27
DBは自前で用意しろってことか?
正直面倒そうなんで俺はパスする
127:デフォルトの名無しさん
08/04/19 22:09:37
>>122
URLリンク(kansai2channeler.hp.infoseek.co.jp)
ごめん、勢いで作ってしまったらC++だった。
どなたか引き続きCでお願いします。
128:デフォルトの名無しさん
08/04/19 22:12:01
>>122
やっとでけた
URLリンク(kansai2channeler.hp.infoseek.co.jp)
129:デフォルトの名無しさん
08/04/19 22:36:29
>>128 の訂正
int queue[STATE_NUM], queue_top=0, queue_last=0;
↓
int queue[QUEUE_SIZE], queue_top=0, queue_last=0;
130:122
08/04/19 22:52:42
>>128
しっかり実行できました!
ありがとうございます!
131:デフォルトの名無しさん
08/04/19 23:10:44
>>122
綺麗じゃないけどせっかく作ったので
途中までどれかが4になればいいのかと思ってた
URLリンク(kansai2channeler.hp.infoseek.co.jp)
132:123
08/04/19 23:12:15
URLリンク(kansai2channeler.hp.infoseek.co.jp)
スミマセン,DB作ってきました
お願いします
133:131
08/04/19 23:17:08
ああミスった
#define FIN 7
#define REQUIREMENT if(b[1][1]==4 && b[2][1]==4){
に訂正
WFSやったのとないからDFSで求めたんだけど、WFS勉強したいから参考サイトとか教えてもらない?
134:デフォルトの名無しさん
08/04/20 01:43:22
>>133
WFS ってなんでしょうか。幅優先探索?
135:デフォルトの名無しさん
08/04/20 02:15:59
Width First SearchではなくBreadth First Searchという方が一般的なのか
幅優先探索と初めから言えばよかったが
136:デフォルトの名無しさん
08/04/20 03:12:57
>神が書いたソースのあまりの素晴らしさに息を呑む住人
神のコードは、時に読んだ人を妊娠させるとか‥‥‥。
137:デフォルトの名無しさん
08/04/20 04:33:34
>>117 住所:不貞無職童貞になっているな・・・本人いたら消しておくようにw
>>118
138:デフォルトの名無しさん
08/04/20 11:33:05
>>117はEOF対策をしたつもりが、EOFを入力すると無限ループ・・・
EOF入力したダメー
139:デフォルトの名無しさん
08/04/20 14:42:29
>>138
普通、EOFは入力できないのだが。
# 入力をクローズすれば、fgetc()などの戻り値がEOFになることを期待できるが。
140:デフォルトの名無しさん
08/04/20 15:00:13
[Ctrl+Z][Enter]で入力できなかったっけ?
141:デフォルトの名無しさん
08/04/20 15:03:54
いいえ、それは一部の環境において入力を閉じる行為です。
142:デフォルトの名無しさん
08/04/20 15:07:19
まぁ、fread(buffer, 1, 1, stdin)とかすれば戻り値からEOFが入力されないことがわかるな。
143:デフォルトの名無しさん
08/04/20 15:59:06
[1] 授業単元:Cプログラミング言語
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン:CPad for Borland
[3.3] 言語: (C)
[4] 期限:4/21まで
[5] その他の制限:
入力はgetcharで行い、atoi関数は不可。
@〜Bまでありますが、過程ではなくそれぞれ1つのプログラムですので、
よろしくお願いします。
@余力があれば、>>116の下の段もお願いします;
144:デフォルトの名無しさん
08/04/20 16:14:27
>@余力があれば、>>116の下の段もお願いします;
それぞれ、printf("\n");の行の次に以下の行を入れればいい。
--
n = a;
n <<= 1;
--
n = a;
n >>= 1;
--
n = a;
n = ~n;
--
# 勿論、left, rightなどはnに変更することをお忘れなく。
ってことでいいのかな?
145:デフォルトの名無しさん
08/04/20 16:27:23
>>143
>@余力があれば、>>116の下の段もお願いします;
何のために1つの変数で表示する必要があるの?
変数の使いまわしは思わぬミスを招くから回答者はそれを避けたんだと思うんだけど
146:デフォルトの名無しさん
08/04/20 16:55:48
>>139
>>141
こいつまた知ったかで墓穴掘ってるよ・・・ナンバーサイン野郎は以後放置な
147:デフォルトの名無しさん
08/04/20 17:09:18
っつか、EOFは何かのファイルの終わりのことだけだと思っているんだろうか・・・
一応、入力されたデータもファイル(何かデータの資料)として扱えるんだがね。
148:デフォルトの名無しさん
08/04/20 17:23:30
URLリンク(www9.plala.or.jp)
URLリンク(www.geocities.jp)
ここにあるソースをコンパイルして実行すれば一目瞭然
149:デフォルトの名無しさん
08/04/20 17:38:00
>>143
違ってたらすまそ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
「CPad for Borland」君の問題、前スレからいくつか解いてきたけど、
教えてる人間が3、4流っぽい気がする。
150:デフォルトの名無しさん
08/04/20 17:40:55
>>143
@
URLリンク(kansai2channeler.hp.infoseek.co.jp)
151:デフォルトの名無しさん
08/04/20 17:45:38
>>149
自己レスです。
累計出力するの忘れてました。
一行だけ追加してください。
p[j++] = _p;
printf("累計件数:%d\n", j); <- 追加
} while (j < DATA_SIZE);
152:デフォルトの名無しさん
08/04/20 17:48:27
>>143
A
URLリンク(kansai2channeler.hp.infoseek.co.jp)
153:149
08/04/20 17:49:56
すんません、3つプログラム作らないとダメなんですね。
読み間違ってました。
154:デフォルトの名無しさん
08/04/20 18:13:49
>>146
次のソースで試してみました。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
環境:
WindowsXP/cygwin(gcc.3.4.4)
Vine Linux 4.1(kernel 2.6.15) / gcc
FreeBSD 6.2 / gcc
MS-DOS ver6.2(NEC) / lsic(3.30c), borland c(3.1), ms-c(6)
結果をみるかぎり、>>139, >>141 が正しいように思えるのですが、如何に?
155:デフォルトの名無しさん
08/04/20 18:16:08
>>143
B
URLリンク(kansai2channeler.hp.infoseek.co.jp)
>>149
すいません、横から仕事取っちゃいました。
156:デフォルトの名無しさん
08/04/20 18:28:04
>>149
>3、4流っぽい気が
それはお手本のソースを見ない限りなんともいえませんが、それは提示されてましたっけ。
157:デフォルトの名無しさん
08/04/20 18:29:25
>>123
URLリンク(kansai2channeler.hp.infoseek.co.jp)
意外に手こずってしまった
間違ってたらごめんね
158:デフォルトの名無しさん
08/04/20 19:09:34
>>157
ありがとうございます!
ちょっと家のPC不調なんで学校行って実行してみます
159:デフォルトの名無しさん
08/04/20 19:19:23
>>154
ここ、宿題スレ。あとな、お前何が言いたいの?
あのリストを作るプログラムをちゃんと見たか?w
getchar() が使われているんだが???
160:デフォルトの名無しさん
08/04/20 20:07:23
>>149
それをいうならアンダースコアから始まる変数名を使って欲しくはない
(わざとやってるんじゃなければ)
161:デフォルトの名無しさん
08/04/20 20:12:35
自分の信じている土台が揺らぎ始めたのを本能的に察知して相手をたたき出すことにしたようですね。
なるほど、なるほど。
162:149
08/04/20 20:15:42
外部に公開する必要のないシンボルや、どうでもいいテンポラリな変数は先頭_で始めてます。
163:デフォルトの名無しさん
08/04/20 20:21:12
>>162
アンダースコアで始まる名前は処理系のために予約されていることになってるから
使わないほうがいいと思うよ
164: ◆wIggSzRFEU
08/04/20 20:26:38
1 情報
2 人数a人のクラスで野球チーム(9人)をbチーム作成した。
このとき残りのメンバーでバレーチーム(6人)を何チーム作れ、何人あまるかを出力する。
3 Windows
テラタームを使ってます
C
4 2008年4月21日06時
5 scanfを用いるみたいです・・・
難しい関数は習ってません
よろしくお願いします。
165:デフォルトの名無しさん
08/04/20 20:28:17
プログラムの問題なのか?算数の問題じゃなくて?
166: ◆wIggSzRFEU
08/04/20 20:29:59
そうです・・・
167:149
08/04/20 20:32:57
>>163
そのような話は聞いたことがないのですが、それは処理系依存の話でしょうか?
よく見る他人のソースがlinuxのkernelソースだったもんで普通に使ってました。
168:デフォルトの名無しさん
08/04/20 20:33:06
>>164
#include<stdio.h>
int main(void)
{
int a, b, c; // a:クラスの人数 b:野球チーム数 c:バレーチーム数
printf("クラスの人数を入力してください : ");
scanf("%d", &a);
if(a<0) return 1;
for(b=0;b*9<=a;b++)
{
c=(a-b*9)/6;
printf("野球チーム数:%d バレーチーム数:%d あまり人数:%d\n", b, c, a-b*9-c*6);
}
return 0;
}
169:デフォルトの名無しさん
08/04/20 20:35:14
>>168
ありがとうございます!
170:デフォルトの名無しさん
08/04/20 20:36:20
bも入力するんじゃないの?
171:デフォルトの名無しさん
08/04/20 20:41:53
野球チーム一つ分の人数を数値から引いて、
その数でバレーチームが何人作れて、
何人余るかじゃないの?
172:デフォルトの名無しさん
08/04/20 20:44:54
>>167
処理系のために予約されてるんだから、当然規格で決まってる
ただまぁアンダースコアで始まるすべての名前が予約されてるわけじゃないけど
173:デフォルトの名無しさん
08/04/20 20:59:16
>>123です
>>157さんのプログラム拝見させて頂きました
恐らく>>64での課題とまとめたソースだと思うのですが
既に>>64を実行してとっているデータ(>>132のような)
を読み込んで演算を行うようにしたいのですが
どうすればいいでしょうか?
あとオーバーフローチェックのところのLLONG_MAXが使用されてなく
エラーが出てしまいます
174:デフォルトの名無しさん
08/04/20 21:00:54
>>170
>>171
すみません
おっしゃるとおりです;
175:デフォルトの名無しさん
08/04/20 21:15:18
>>164をお願いします・・
176:デフォルトの名無しさん
08/04/20 21:15:32
>>167
すまん、ググってみたが確かなソースにたどり着けなかった
177:デフォルトの名無しさん
08/04/20 21:21:58
>>175
aとbを入力する場合
#include <stdio.h>
int main(void)
{
int a, b;
scanf("%d", &a);
scanf("%d", &b);
a -= b * 9;
if(a < 0) return 0;
printf("チーム数:%d\nあまり:%d\n", a / 6, a % 6);
return 0;
}
178:デフォルトの名無しさん
08/04/20 21:24:15
>>177
ありがとうございます
179:デフォルトの名無しさん
08/04/20 21:27:15
>>177
if を使わないではできませんか?
180:デフォルトの名無しさん
08/04/20 21:30:10
#include<stdio.h>
void main (void)
{
int a,b,c,d,e;
printf("人数入力:");
scanf("%d",&a);
printf("野チーム数:");
scanf("%d",&b);
c=a-(b*9);
d=c/6;
e=c%6;
printf("人数:%d 野数:%d バレ数:%d 余:%d",a,b,d,e);
}
だめ?
181:デフォルトの名無しさん
08/04/20 21:42:33
if文削除すればいいだけだろ。
野球チーム数多すぎた場合変なことになるけど。
182:デフォルトの名無しさん
08/04/20 23:05:37
[1] 授業単元:プログラミング演習1
[2] 問題文(含コード&リンク):
キーボードからABCDと円周率を入力して「ABCD3.14と」表示させるプログラム
変数は1つで
[3] 環境
[3.1] OS:問わず
[3.2] コンパイラ名とバージョン:VC++6.0
[3.3] 言語:C++だけど基本範囲?
[4] 期限:[2008年04月21日23:59まで]
[5] その他の制限:基本領域なのでstdio.hのみ
よろしくお願いしますm(__)m
183:デフォルトの名無しさん
08/04/20 23:08:50
C++なのにstdio.hでいいんだな?別にやっちゃいけないわけじゃないけどいいんだな?
184:デフォルトの名無しさん
08/04/20 23:11:23
C++ならcstdioだろうな。
185:デフォルトの名無しさん
08/04/20 23:12:41
それより問題文が意味不明なのだが
186:デフォルトの名無しさん
08/04/20 23:24:21
>ABCDと円周率
と入力すると
>ABCD3.14と
になるように変換すればいいんだろ
円周率という文字を3.14に置き換えて、「と」を後ろにすればいいんじゃないかな?
187:デフォルトの名無しさん
08/04/20 23:31:52
>>182
できた。
#include <stdio.h>
int main()
{
char buf[100];
scanf("%s", buf);
puts("ABCD3.14と");
return 0;
}
188:182
08/04/20 23:58:08
>>183-187
素早いレスサンクス。
>>183-184
stdioで桶です
>>185-186
プロセスとしては
起動>入力「ABCD」>入力「3.141592653」で
出力「ABCD3.14」
入力ミスで「」のなかに と を入れてしまいますたorz
>>187ので通るかどうか…多分先生笑顔で×くれてきそう(涙
189:デフォルトの名無しさん
08/04/21 00:00:25
なんてくだらない設問なんだ。
190:デフォルトの名無しさん
08/04/21 00:04:44
>>188
文字列と小数に関する入力・出力の課題というわけだな。
しかし、
> 変数は1つで
この条件はマジ?
191:デフォルトの名無しさん
08/04/21 00:22:16
>>182
#include <stdio.h>
void main() { char buf[16]; gets(&buf[0]); gets(&buf[4]); buf[8] = '\0'; puts(buf); }
192:182
08/04/21 00:31:51
>>190
マジですorz
193:デフォルトの名無しさん
08/04/21 00:33:39
>>182
できた。
#include <stdio.h>
int main()
{
char buf[100 + sizeof(float)];
scanf("%s", buf);
scanf("%f", buf+100);
printf("%s%.2f\n", buf, *(float*)(buf+100));
return 0;
}
194:デフォルトの名無しさん
08/04/21 02:19:26
>>182
これで基本?
#include<stdio.h>
int main(void)
{
char buf[100+1];
setvbuf(stdout, NULL, _IOFBF, 1024);
fprintf(stderr, "入力「ABCD」>", buf);
scanf("%100s", buf);
printf("%s", buf);
fprintf(stderr, "入力「3.141592653」>", buf);
scanf("%lf", buf);
printf("%.2f\n", *(double*)buf);
fflush(stdout);
return 0;
}
195:デフォルトの名無しさん
08/04/21 08:35:07
139 名前:デフォルトの名無しさん 投稿日:2008/04/20(日) 14:42:29
>>138
普通、EOFは入力できないのだが。 < 出来るんだが・・・
141 名前:デフォルトの名無しさん 投稿日:2008/04/20(日) 15:03:54
いいえ、それは一部の環境において入力を閉じる行為です。 < 話が分かってない・・・
196:デフォルトの名無しさん
08/04/21 08:37:55
EOFっていったら普通Ctrl-Dで入力だな
197:デフォルトの名無しさん
08/04/21 08:44:35
EOFがキーボードから入力できないとしても、どのファイルには
ファイルの終わりを意味するEOFコードが記録されていますし
それを入力受付として使うことも可能ですが何か?w
これだから初心者、素人は・・・ナンバーサイン野郎の妄想に惑わされるなよ。
198:デフォルトの名無しさん
08/04/21 08:49:57
あと、そいつが言っているのはEOF対策として、freadが指定したFILEストリームから
指定したポインタへ取り込まないという性質についてだろ?だったら最初から
EOFが 入力 出来ないという勘違いは言わなきゃ良かったんだよ。
言いたいことが相手に的確に伝えられない、誤解を生じさせて損をして生きている奴って
世の中普通にいるしなw こんなところでだから、見ず知らずの人に理解してもらおうと
必死になったんだろうけど、それを相手のエスパーで理解してもらわなきゃ通じないって
どんだけコミュニケーションが下手なんだよ、ナンバーサイン君は?
199:デフォルトの名無しさん
08/04/21 11:35:31
ナンバーサイン君って誰?
200:デフォルトの名無しさん
08/04/21 12:01:24
いちいち蒸し返すなよ
201:デフォルトの名無しさん
08/04/21 12:22:47
[1] 授業単元: プログラミング実習
[2] 問題文
数学関数を使って,0以上10未満の範囲で平方根(sqrt)の対応表を出力しなさい.小数点の刻みを0.01とすること.
[3] 環境
[3.1] OS:Windows/Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 4/22
202:デフォルトの名無しさん
08/04/21 13:45:07
#include <stdio.h>
#include <math.h>
int main(void)
{
double a;
for(a=0; a<10; a+=0.01) printf("√%.2f = %f\n", a, sqrt(a));
return 0;
}
って書くと減点されるんだろうな。
203:デフォルトの名無しさん
08/04/21 14:56:39
>>202
負の方が表示されないからな。
>>201
#include <stdio.h>
#include <math.h>
int main()
{
int i;
for(i=0;i<1000;i++)
printf("√%.2f = %f, -%f\n",i/100.0,sqrt(i/100.0),sqrt(i/100.0));
return 0;
}
204:デフォルトの名無しさん
08/04/21 15:03:24
>>203
負?フッ
205:デフォルトの名無しさん
08/04/21 15:25:35
sqrt()2回とかw
206:182
08/04/21 15:30:31
>>192-194
作成ありがとうございます。
先生に出したら一つめの方がやり直し、二つ目は「同時に表示できてないな(藁」
とあっさり×&デコピンを頂戴致しました(泣
文字列と小数を同時ディスカ・・・orz
207:デフォルトの名無しさん
08/04/21 15:35:03
>>182は何を意図した問題なのかさっぱりわからん。
208:デフォルトの名無しさん
08/04/21 15:35:07
>>206
#include <stdio.h>
struct hoge{
char str[100];
double value;
};
int main(void){
struct hoge foo;
scanf("%s", foo.str);
scanf("%lf", &foo.value);
printf("%s%.2f\n", foo.str, foo.value);
return 0;
}
209:デフォルトの名無しさん
08/04/21 15:42:37
エスパーktkr
210:デフォルトの名無しさん
08/04/21 15:52:59
>>206
>>194 は同時に表示するはずだが…
211:デフォルトの名無しさん
08/04/21 17:23:33
>>208
変数3つ使ってるじゃん
212:デフォルトの名無しさん
08/04/21 17:24:59
>>211
三つってどれ?
213:デフォルトの名無しさん
08/04/21 19:46:48
>>173
URLリンク(kansai2channeler.hp.infoseek.co.jp)
要望どおりに変更してみたが、ちゃんとチェックしてないので手痛いミスがあるかもしれん
>>あとオーバーフローチェックのところのLLONG_MAXが使用されてなく
>>エラーが出てしまいます
いまんいち意味がわからない
コンパイルできないなら、その部分削除したらいいよ
ためしにカッコつけて入れてみただけだから
214:デフォルトの名無しさん
08/04/21 19:50:32
>>212
char
double
struct hoge
215:デフォルトの名無しさん
08/04/21 20:12:55
それは変数じゃなくて型名
216:154
08/04/21 20:13:52
>>111
当方で確認した環境は WindowsXP, 処理系は cygwin(gcc 3.4.4) です。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
プログラミングにあたっては、次を参照しました。
Wikipedia項目リンク
この説明にそって書いたのですが、どうやらわかりにくくなってしまったようです。
>>159
>ここ、宿題スレ。
#これは失礼。では宿題をときながらではいかが?
>getchar() が使われているんだが???
#たしかに getchar() の返り値を int で受けていない、EOF をチェックしてない、など些細ですがまずいところはありますね。
>>197
>どのファイルにはファイルの終わりを意味するEOFコードが記録されていますし
#いいえ、記録しておく必要はありませんし記録していません。
#>>139 の記述がおおむね正しいのです。
>>200
>いちいち蒸し返すなよ
#ごめんなさい。宿題解きながらということで、ご勘弁ください。
217:デフォルトの名無しさん
08/04/21 20:18:12
>>216
バカか・・・んじゃどうしてプログラムはEOFを検出して動作したんだ?ん?
お前は入力は 印字可能な文字 のみだと思ってんの?w
コンピュータ、電子計算機がやっている基本だよ、入出力って。
その中に人間が決めた定義、その中にEOFも改行コードなども
印字不可能でも存在するデータがあるんだがw
いい加減失せろ、ナンバーサインバカw
218:デフォルトの名無しさん
08/04/21 20:19:01
蒸し返すな!値を返せ!by return
219:デフォルトの名無しさん
08/04/21 20:20:18
URLリンク(www.google.co.jp)
普通にEOFの入力が可能です、ありがとうございました。
220:デフォルトの名無しさん
08/04/21 20:22:51
リダイレクトも知らなさそうだな、ナンバーサインは・・・
221:デフォルトの名無しさん
08/04/21 20:24:03
そんなことよりコナン観ようぜ
222:デフォルトの名無しさん
08/04/21 21:27:20
[1] 授業単元:アルゴリズムとデータ構造
[2] 問題文:URLリンク(jubilo.cis.ibaraki.ac.jp)
6.課題を全て
[3] 環境
[3.1] OS:Windows
[3.3] 言語:C
[4] 期限:4月27日まで
[5] 問題のプログラムの赤枠を埋める感じでお願いします。
どなたかよろしくお願いします。
223:デフォルトの名無しさん
08/04/21 21:40:10
ここに投稿したことたぶんバレるぞ
224:デフォルトの名無しさん
08/04/21 22:22:31
[1] 授業単元:OSプログラミング入門
[2] 問題文:OSにおけるセキュリティーホールを検出するプログラムを作成せよ
[3] 環境
[3.1] OS:Windows
[3.3] 言語:C
[4] 期限:4月27日まで
[5] セキュリティーホールが発見された場合は自動で修正するように
機能を付けること
225:デフォルトの名無しさん
08/04/21 22:31:51
ねーよw
226:デフォルトの名無しさん
08/04/21 23:03:20
ゲイツ自重wwwwwwww
227:デフォルトの名無しさん
08/04/21 23:05:39
#include<stdio.h>
int main(void)
{
int a = 5, b = 3;
double d;
d =(int)(((double)a / b) + 0.5));
printf("%f\n", d);
return 0;
}
これで何故かエラーがでるんですがどこがおかしいのでしょうか?
228:111
08/04/21 23:07:21
>>154
丁寧なレスありがとうございます。
本当に助かりました。
せっかくなので頑張って解読してみます!
229:デフォルトの名無しさん
08/04/21 23:10:51
>>227
VIPで聞けばいいじゃん
あとどんなエラーが出てるのか位書かないと答えようが無い
まあどうせ)とかだろうけど
230:デフォルトの名無しさん
08/04/21 23:11:18
d =(int)(((double)a / b) + 0.5));
) が一個余分
231:デフォルトの名無しさん
08/04/21 23:12:21
7行目にステートメント;がないといわれます。
232:デフォルトの名無しさん
08/04/21 23:37:24
>>206
じゃあ次は>>191を提出してみましょう
233:デフォルトの名無しさん
08/04/21 23:42:01
[1] 授業単元: C++
[2] 問題文
サイコロのプログラムをつくりなさい
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン: borland C++ 5.5.1 for win
[3.3] 言語: C++
[4]特になし、長いので分けて書きます。
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
Class Dice{
int face;
int value;
public:
Dice(int f)
{
face=f;
srand((unsigned)time(NULL));
value=rand()%face+1;
}
Dice()
{
face=6;
srand((unsigned)time(NULL));
value=rand()%face+1;
}
234:デフォルトの名無しさん
08/04/21 23:45:11
>>233の続きです
void throwDice()
{
srand((unsigned)time(NULL));
value=rand()%face+1;
}
int read()
{
return value;
}
}
int main()
{
Dice d6;
Dice d10(10);
d6.throwDice(6);
d10.throwDice();
cout<<"6面体の目:"<<d6.read()<<endl;
cout<<"10面体の目:"<<d10.read()<<endl;
return 0;
}
エラー2141 dice2.cpp5:宣言の構文エラーとでます
ソースの問題でしょうか?
お願いします
235:デフォルトの名無しさん
08/04/21 23:48:31
>>233
Classじゃなくてclass
小文字だよ。
236:デフォルトの名無しさん
08/04/22 00:04:22
throwDice()にsrand()はいらないだろ。
237:デフォルトの名無しさん
08/04/22 00:07:19
素早く振ると同じ目ばかり出るよな。
さらに言えば、コンストラクタでもsrandしないほうがいい。
mainで1回だけやればいい。
238:デフォルトの名無しさん
08/04/22 00:11:39
Main関数で5つの整数を読み込み,
その平均(double)を
画面に出力するプログラムです
また5つの引数を受け取り,
平均を返す関数mean_calc5(・・・)
を呼び出し,返された平均値をmain関数で画面出力すること
C言語です お願いします
239:デフォルトの名無しさん
08/04/22 00:16:12
>>238
>1
240:デフォルトの名無しさん
08/04/22 00:16:23
>>235
ありがとうございます。
またうっかりミスです。
>>236
>>237
ご指摘ありがとうございます。
<問題>の部分で省略したのですが
オブジェクト指向で
物体としてのサイコロをプログラムで作りなさいという項目
があったので、あえてコンストラクタでsrandをいれました。
実際のサイコロも置いた瞬間に目がででいるという事だそうです
241:デフォルトの名無しさん
08/04/22 00:19:27
>>222
当方で確認した環境は WindowsXP, 処理系はcygwin(gcc 3.4.4) です。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
最後の2つは、私は出題者の狙いをはっきりとは汲み取ることができませんでしたので、もしかするとはずれているかもしれないこと、ご容赦ください。
>>217
>その中にEOFも改行コードなども印字不可能でも存在するデータがあるんだが
##では、実際にファイルを覗いて見てください。
##1) すべてのファイルに共通の EOF がありますか?
##2) あなたの環境の include\stdio.h にある EOF はどう define されていますか?それがすべてのファイルの末尾におかれていますか?
##私の環境では #define EOF (-1) ですが、すべてのファイルの末尾 1 バイトが -1 = 0xffというわけではありません。
##3) ^D や ^Z の値が -1 なのでしょうか?
>>198
>freadが指定したFILEストリームから指定したポインタへ取り込まないという性質についてだろ?
##getchar()≒getc(stdin) or fgetc(stdin) ですから、getchar() も fread() と同じくストリームを見ています。stdin だろうとファイルだろうと同じことなんですが。
##で、>>154 で示したとおり、stdin には EOF は格納されていません。
>>220
##リダイレクトに関係する関数, pipe() や dup() あるいは dup2() (POSIX) は fd です。今はCライブラリ関数の fp を問題にしています。
>>218
>蒸し返すな
##宿題を解きながら、ですのでご勘弁を。
242:デフォルトの名無しさん
08/04/22 00:24:12
ん、リダイレクトに pipe() はかんけいないですね。しつれい。
243:173
08/04/22 00:28:15
>>213
お手数かけてスミマセン
どうもありがとうございました!
244:デフォルトの名無しさん
08/04/22 00:30:42
>srand
は乱数関数の"初期化"だ
乱数関数を実行して値を取得するのが
>実際のサイコロも置いた瞬間に目がででいる
という事だ
245:デフォルトの名無しさん
08/04/22 01:18:48
>>238
#include <stdio.h>
void Main( int* data, int num )
{
int i;
for( i = 0 ; i < num ; i ++ )
{
printf( "値%d:", i+1 );
scanf( "%d", data+i );
}
}
double mean_calc5( int v0, int v1, int v2, int v3, int v4 )
{
return ((double)v0 + v1 + v2 + v3 + v4) / 5;
}
int main()
{
int data[5];
Main( data, 5 );
printf( "平均値=%f\n", mean_calc5( data[0], data[1], data[2], data[3], data[4] ) );
return 0;
}
246:デフォルトの名無しさん
08/04/22 02:16:19
入力を閉じることを「EOFを入力する」と表現することがあると、
146が認めればすむだけのことに思える。
ちなみに、DOSやCP/Mには、テキストファイルの終わりに0x1Aの1バイトを置く風習があった。
URLリンク(support.microsoft.com)
DOSでのC処理系の実装では、テキストモードでファイルを読み取るとき、
0x1Aが現れたら(後ろにまだデータがあっても)ファイルの終わりとし、
getcでEOF(もちろん値は-1)を返したり、fgetsでNULLを返すという風にしていた。
(もちろんバイナリモードではやらない)
標準入力からも、Ctrl+Zで0x1Aを入力可能で、あとはファイルの場合と同じ。
そして、Windowsでは、ファイルに0x1Aを置く習慣も廃れ、
また、コンソール(標準入力)でのCtrl+Zは、0x1Aの入力ではなく、
OSがストリームの終わりに達したという扱いに変換するようになっているというのは
Win32コンソールを触ったことがあれば想像の通り。
247:デフォルトの名無しさん
08/04/22 02:42:06
スレ違いウザイ
248:デフォルトの名無しさん
08/04/22 06:04:25
>>246
入力 の意味を理解してから出直せ、ボケ初心者
249:デフォルトの名無しさん
08/04/22 06:09:41
>>248
おまえが考えてる入力の意味ってなに?
250:デフォルトの名無しさん
08/04/22 06:17:08
>>249
自分で調べろよw 基本はデータを読み込む、取り込む。それが文字だろうと数値データだろうと
デジタル機器においては、入出力されるデータは全て数値データ、もっと追求すると
2進法で記録された0と1の組み合わせだよ。その0と1の組み合わせを人間が都合よく
解釈、理解できるように実装されたコンピュータで扱いっているが、EOFが値として
どのように定義されていうと思う?-1と記されて言る資料がほとんどだろ?
EOFがファイルの終わりというのは、人間が都合よく定義した決まりごとであって
所詮は数値データに過ぎないんだよ、これくらい大学に通った奴なら普通に分かるw
っつか、お前はナンバーサインじゃないだろ?何そんな知ったかの肩を持って
このスレにこんな時間まで粘着して、自分の無知を晒してんの?w
251:デフォルトの名無しさん
08/04/22 06:22:05
URLリンク(www.google.co.jp)
EOFの入力は可能です、ありがとうございました。
この粘着はgetcharやfread、fgetc、fgetsなどの ライブラリ の動作について
いちいち話をするが、それらがプログラムの動作において EOF を検出して
どう動作するかについて話をしているが、完全に思い違い。
指定したポインタ、変数へ格納するかどうか?についても話をしているんだろうけど
EOF、すなわちファイルの終わり、それを検出してファイルに書き出す、あるいは
ファイルを読み込んでいるという基本的な処理の例があるにもかかわらず
まだ EOF が入力されないという大ボケをかますプログラマ以前に
コンピュータを扱う技術者としては相応しくない知ったか。いるよな、こういう
聞き分けのない、自分が思ったことをいつまでも相手に理解してもらおうという奴。
完全に筋の通る理論で論破されているのにw
ちなみに、標準入力からはキーボードによる入力でも可能だし、リダイレクトや指定の
ライブラリによるファイルの読みは可能。誰かさん、墓穴を掘ったがファイルの終わりが
全てのファイルにあるのか?って突っ込み、痛すぎ・・・原則として、ファイルの終わりを
示すコードは存在するよw 存在しない例外とも言えるファイルを持ち出そうと必死になるが
本題を崩すなよ。
EOFが入力されるかどうか?についてだろ。すでに昔から存在する事実を
何をいまさら、かじり始めた青二才が必死に反論してんだ?????
頼むからこんなところに来る、自分に反論する人だけに対して
わけのわからん理論で反論せんで、大学の教授にでも質問しろよw
ちなみに、自分は通っていた大学には東大、京大卒の教授が何人もいましたよ。
252:249
08/04/22 06:24:37
>>248が何を食いついてるのかよく分からなかった
EOFに関して>>246>>250ともおかしなこと言ってる訳じゃないのに
議論がかみ合わないのは不思議だと思いますた
253:デフォルトの名無しさん
08/04/22 06:37:24
Wikipedia項目リンク
URLリンク(yougo.ascii.jp)
初心者は用語集でも見てろってw
こういう視野の狭い奴って、自分にとっての入力はこうだって話を始めて
広義を無視して異例でも話をしようとするから困る。あれだろ、路上じゃ
違反者がいれば自分もその違反をしても、自分だけしか取り締まらない
警察にいちゃもんをつける奴w ほかにもいるから取り締まれ、そうでなきゃ
警察は怠惰だとか当り散らすんだろw ちゃんと最初から基本ルールを守れよ、理解しろよw
これ以上は、汎用電子計算機の基本的な仕組みを学ばずに、コードを記述して
プログラムを作っただけで知ったような口を聞いている奴らは放置な。
後ナンバーサインはマジで無視しとけ。こんな奴がもし講師だったら、
とんでもない学校だ。生徒だってことで。
EOFが入力されなかったら、どうやってEOFを検出してファイルの読み込みを
やめたのか、説明せよw 以上終了とか言ったら、もう学校を辞めて
今からでも進路を変更しろ。人生を大きく左右するぞ、いい加減な人生の
舵取りは。
254:249
08/04/22 06:41:57
> EOFが入力されなかったら、どうやってEOFを検出してファイルの読み込みを
> やめたのか、説明せよw
Wikipedia項目リンク
ところでナンバーサインって何?
255:デフォルトの名無しさん
08/04/22 06:48:52
文字も画像も映像も、人間が都合よく解釈、理解できるようにしたプログラム、ソフトによって
表現が可能な機能を実装したコンピュータで展開していうんであって、所詮はどれも
数値データだよ。今こうやって文字を入力していうが、それも元を正せば、人間が
文字として解釈できる形に、使用している環境の文字コード体系に応じて
文字として見えるだけだよ。所詮、数値データ。EOFだけ何か特別扱いせんでも・・・
まさか、それらのデータが最初から色がついている、文字の形をしている、音声として
存在しているとでも思ったの?ファイルのダンプくらい、プログラムの授業でもやらんのか?
教本にも普通に載っているぞ、そんなの。
256:249
08/04/22 06:56:43
>>255
おれ国語の読解力あんまいい方じゃないんで確認なんだけど、
これおれに対するレスじゃないよね?
>>253へのレスなら納得なんだけど
257:デフォルトの名無しさん
08/04/22 07:53:21
>ところでナンバーサインって何?
行頭の'#'のことでしょ。尤も、>253の言う「ナンバーサイン」氏こと>139、>144と>216、>246では使い方が違う罠。
どうやら、「ナンバーサイン」氏は特定個人ではなく、>253の脳内にのみ存在している抽象人格のようだ。
258:デフォルトの名無しさん
08/04/22 09:12:23
EOFが無いファイルって、どうやってOSはファイルを個別のものと
認識、管理してんだよ・・・どこのIT土方の意見だ、EOFが入力できない
なんて言っている奴は?所属、肩書きを示してみろ?
259:デフォルトの名無しさん
08/04/22 09:23:45
横槍でスマンけどEOFってOSのファイルシステム管理が
勝手に入れるもんだと思ってるんだけど。
いちいちアプリ実装者が最後にEOF書く必要が無い、
ということは普通fread()(あんま使ったことないからしらんけど)などで
EOFを検出する必要もない(=fread()内で勝手に止めるからでEOFを受け取ることはできない)
ってことなんじゃないの?
たかだかその程度で何を荒れとるのかと思ったのでw
260:デフォルトの名無しさん
08/04/22 09:38:18
>>258
今時、ファイルシステムはファイルの大きさをバイト単位で持っており、
その場合はファイル上に必ずしもEOFが実在する必要はない。
たからEOF入力なんて存在しないなどというつもりはないけど気になったので。
261:249
08/04/22 09:56:14
>>258>>259
windows系ファイルシステムは知らないけど、Linuxのext3ではEOFなんて
全く関知してないと思う(たぶんwindowsも)。
getchar()などでEOFが返ってくるのは、ライブラリ(libc)がopenされたファイルの終了を検知してるから。
ライブラリ側がEOFの面倒を見てくれるので、アプリ開発者はライブラリ提供のヘッダファイルをincludeすれば問題ないです。
もし、OSがEOFを管理してて個々のアプリがEOFをハンドルしなければならないなら、
アプリ毎にOSのヘッダをincludeしなければならないんじゃないかな。
262:デフォルトの名無しさん
08/04/22 10:02:28
朝から元気なのは結構だがスレ違いなので続けるなら他所へ行ってください
263:249
08/04/22 10:02:35
>>261
> getchar()などでEOFが返ってくるのは、ライブラリ(libc)がopenされたファイルの終了を検知してるから。
自己レスです。
ファイルの終了と言うのはファイル自身にEOFコードが存在するという意味ではないです。
バイナリエディタでファイルの途中に0xFFを書き込んでも、int c; while ((c = getchar()) != EOF) してる限り、
途中の0xFFはスルーされるはずです。
char c; while ((c = getchar()) != EOF) だと途中の0xFFが当然のことながら、EOFになりますね。
264:デフォルトの名無しさん
08/04/22 10:53:07
[1]プログラミング演習
[2]3つのポインタ型変数と3つの変数が
char c, *pc;
int i, *pi;
double d, *pd;
と定義され、
pc = &c;
pi = &i;
pd = &d;
と初期化されたポインタに対して
pc++; pi++; pd++;
加算したときに,格納されている値が(つまり格納しているアドレスが) 何バイト増えたか表示するプログラムを作成せよ.
[3.1]問わず
[3.2]borland
[3.3]C
[4]4/23
お願いしますm(._.)m
265:デフォルトの名無しさん
08/04/22 11:40:03
printf("%d,%d,%d\n", sizeof(char), sizeof(int), sizeof(double));
266:デフォルトの名無しさん
08/04/22 12:02:52
EOFがあるとかないとかどうでも良いんじゃい。
EOFの入力がプログラムへ可能か?って話は
可能だって結論が出てんだろが。何他人を装って
分が悪くなるとうざってぇみたいなことを言ってんだ?
お前がEOFの入力が出来ないと食い下がってきたんだろが。
267:デフォルトの名無しさん
08/04/22 12:25:23
Linux = EOFが入力できる
Win = EOFが入力できない
というわけで
Linux > 越えられない壁 >>>>>>>>>>>>>>>>>> Win
てことだ
268:デフォルトの名無しさん
08/04/22 13:19:09
>>267
標準入力からEOFをいれる方法
Linux Ctrl+D
Windows Ctrl+Z
269:デフォルトの名無しさん
08/04/22 13:33:14
>>268
Wordでそれをやってみろ。
ドザは知識がなさすぎる。
270:デフォルトの名無しさん
08/04/22 13:41:14
ならemacsでやってみたら?
標準入力からって書いてあるだろう。
271:デフォルトの名無しさん
08/04/22 13:46:48
>>270
できないと思ってるのかw
272:デフォルトの名無しさん
08/04/22 13:54:23
はいはい、できなくはないですよ。論点はそこじゃない。
273:デフォルトの名無しさん
08/04/22 13:59:29
一般人に使われないlinuxをちょっと齧って
windowsユーザーを馬鹿にしたくなる年頃なんだろう。
煩わしいコマンドをターミナルに打ち込んで「俺玄人wwwwwwうはwwwww」とか本気で思ってそう。
274:デフォルトの名無しさん
08/04/22 14:11:30
どんなOSを使ったことがあるかとかどうでも良いわ。
俺は大学でUNIXは普通に使ってたよ。ってか、使えないと授業にならねーし。
275:デフォルトの名無しさん
08/04/22 14:50:53
論点=ドザはクリックしかできない
276:デフォルトの名無しさん
08/04/22 14:57:34
やっぱりヤツがいると荒れるな。
277:デフォルトの名無しさん
08/04/22 15:01:48
そうだな、論点ズレまくりのナンバーサインがいると。以後放置よろ。
278:デフォルトの名無しさん
08/04/22 15:13:17
EOFをファイルデータとして持ってたのは昔のメインフレームくらいじゃないの?
今はほとんどファイルシステムで管理してるでしょ
279:デフォルトの名無しさん
08/04/22 15:16:21
またそれかよ・・・EOFが何なのかなんてどうでも良いんだよ。
入力されることがあるかないか?ナンバーサインがズレてんのは
getcharとfreadのライブラリの性質に話を持ち込んで、キーボードからの
EOF入力さえも否定したから悪いんだよw
普通にEOF入力なんてあるわ、とっくの昔からw
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5286日前に更新/147 KB
担当:undef