11/12/05 16:05:49.08
>>257
URLリンク(codepad.org)
263:デフォルトの名無しさん
11/12/05 16:32:54.14
>>254
URLリンク(codepad.org)
264:デフォルトの名無しさん
11/12/05 16:34:11.56
>>262
ありがとうございます。
自分のものと比べつつ後学に使わせてもらいます。
265:デフォルトの名無しさん
11/12/05 16:35:41.28
>>263
ありがとうございます。
266:デフォルトの名無しさん
11/12/05 17:03:44.20
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
キーボードから10個の整数を整数型配列に入力し、1番大きな数、2番目に大きな数、3番目に大きな数…10番目に大きな数の順に画面表示するプログラムを作成しなさい。
(ただし、同じ数が入力されても対処できるようにすること)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:12月5日24:00
[5] その他の制限:宜しくお願い致します
267:デフォルトの名無しさん
11/12/05 17:29:50.64
>>263
コンパイルで弾かれるのですが、もう一度確認してもらってよろしいでしょうか
あと、gcc 2.95でした。すいません。
268:デフォルトの名無しさん
11/12/05 17:34:38.33
>>267
エラーメッセージも貼れないの?
269:デフォルトの名無しさん
11/12/05 17:38:34.39
>>266
URLリンク(codepad.org)
270:デフォルトの名無しさん
11/12/05 18:15:46.96
>>259さんのroman_to_int関数の解説を、どなたか頂けませんか。
271:デフォルトの名無しさん
11/12/05 18:29:04.24
>270
名前の通りだが?
読めない?
272:デフォルトの名無しさん
11/12/05 18:42:58.71
>>267
色々と間違えました。
>>257のエラーで、エラーメッセージは、
/tmp/ccTVCSf2.o: In function `distance':
9-15.c:(.text+0x7b): undefined reference to `sqrt'
collect2: ld はステータス 1 で終了しました
です。
273:デフォルトの名無しさん
11/12/05 18:45:09.90
…どなたかって本人でもいいのかな。
基本的には対応する数字(Xなら10)を加算して、
次の文字が今の文字よりも大きいとき(IVとか)はIを減算してる
次の文字が\0の場合は0が返ってくるので問題なし
18行目の;;はただのtypo
274:デフォルトの名無しさん
11/12/05 18:46:29.82
>>273
ありがとうございます!!
理解できました。
275:255
11/12/05 18:47:12.98
>>272
sqrtのリンクに失敗してんだよ
#include <math.h>
って行がソースにあったらコマンドラインの最後に
-lm
つけれ
276:デフォルトの名無しさん
11/12/05 18:47:53.01
あと、get_roman_valuesって名前はどうかと思いつつ、めんどくさくてそのままにした。
roman_to_intと、roman_string_to_intあたりがいいのかも
277:デフォルトの名無しさん
11/12/05 18:54:26.45
-lmって大抵の人が一回はまるよね。
278:デフォルトの名無しさん
11/12/05 18:55:04.09
あれ、俺ずっとageてたごめん
279:デフォルトの名無しさん
11/12/05 18:59:41.01
>>255
なるほど、できました。
ありがとうございます。
280:デフォルトの名無しさん
11/12/05 21:59:53.34
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):URLリンク(www1.axfc.net)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2011年12月06日18:00まで
[5] その他の制限:あまり高度な記述をしないで作成していただけると有難いです
281:デフォルトの名無しさん
11/12/05 23:22:01.47
>>277
そういえばMac OS Xだとlibc相当部分にlibm相当もリンクされているのではまらないw
これはいいことなのか悪いことなのか
282:デフォルトの名無しさん
11/12/05 23:22:23.34
[1]C言語
[2]xy平面上の2点の座標を2x2の2次元配列にキーボードから入力し、これら2点間の距離を計算して画面表示するプログラム
※√(x2-x1)^2+(y2-y1)^2で求められる。
[3]OS:win7
コンパイラ:?
言語:C
[4]12/6 0:00
283:282
11/12/05 23:23:45.60
自己解決しました
すいませんでした
284:デフォルトの名無しさん
11/12/05 23:24:07.86
>>280
URLリンク(codepad.org)
285:デフォルトの名無しさん
11/12/05 23:30:53.44
>>280
URLリンク(ideone.com)
286:デフォルトの名無しさん
11/12/05 23:38:20.38
>>280
URLリンク(codepad.org)
287:デフォルトの名無しさん
11/12/06 02:51:09.50
なんでBMI大人気なのw
288:デフォルトの名無しさん
11/12/06 03:35:35.06
>>287
まぁ、入門用の問題としていいからじゃないの?
289:デフォルトの名無しさん
11/12/06 06:31:03.70
[1] 授業単元:ポインタと関数
[2] 問題文(含コード&リンク):
数(整数)へのポインタsc を引数として,点数を
0 以上100 以下に修正する関数limit_sc(int *sc) を作成せよ.
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限:12/6
[5]・負の点数を0 点に,100 を超える点数を100 点に修
正するものとする
・関数の返却値はint 型とし,点数を修正した場合
には1,修正しなかった場合は0 を返す関数とすること.
以下の実行例のように,関数の動作を確認できるmain
関数も作成すること
実行例
・点数を入力してください:110
点数を修正しました。
点数:100
・例2,点数を入力してください:85
点数を修正しませんでした。
点数:85.
290:デフォルトの名無しさん
11/12/06 07:34:31.30
>>289
#include <stdio.h>
int limit_sc(int *sc)
{
if(*sc > 100){
*sc = 100;
return 1;
}else if(*sc < 0){
*sc = 0;
return 1;
}else{
return 0;
}
}
int main()
{
int n;
printf("点数を入力してください:");
scanf("%d",&n);
if(limit_sc(&n)){
puts("点数を修正しました。");
}else{
puts("点数を修正しませんでした。");
}
printf("点数:%d\n",n);
return 0;
}
291:デフォルトの名無しさん
11/12/06 08:10:53.55
>>284-286
ありがとうございます
292:デフォルトの名無しさん
11/12/06 12:00:29.44
【質問テンプレ】
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):多重配列を降順ソートする
[3] 環境
[3.1] windows 7
[3.3] C言語
[4] 期限: 12/7 17時
[5] 特になし
1列目をソートする方法は分かったのですが、2列目以降を基準としてソートする方法がわかりません
ソート前 ソート後
1 3 3 5 2 8
5 2 8 1 3 3
293:255
11/12/06 12:05:17.70
>>292
どうやってソートした?
294:デフォルトの名無しさん
11/12/06 12:05:19.64
>>292
3列目でソート
2列目でソート
1列目でソート
295:292
11/12/06 12:22:57.74
今のプログラムはこんな感じです
int aaa(const void *a, const void *b);
int i;
int *j;
typedef struct {
double abc;
double def;
double ghi;
} ponta;
int main(void){
ponta datee[10]={
{ 8, 4, 3 },
{ 6., 1, 7 },
{ 2, 2, 1 },
{ 5, 9, 6 },
};
qsort(datee, 3, sizeof(double), aaa);
for (i=0; i<=3; i++){
printf("%.1lf %.1lf %.1lf\n",datee[i]);}
return 0;}
int aaa(const void *a, const void *b){
if (*(double*)a<*(double*)b) return -1;
else if (*(double*)a == *(double*)b) return 0;
else return 1;}
296:292
11/12/06 12:25:03.62
色々いじってたらなんかまたおかしくなってますね…1列目でソートしたプログラムを誤って消してしまったようです
297:デフォルトの名無しさん
11/12/06 12:58:37.81
>>292
URLリンク(codepad.org)
298:デフォルトの名無しさん
11/12/06 12:59:04.81
多重配列じゃなくて構造体配列じゃね。
それならaaaを工夫すればいいよ
299:デフォルトの名無しさん
11/12/06 13:02:59.16
>>297
えっ
300:デフォルトの名無しさん
11/12/06 13:04:27.84
あっ
301:デフォルトの名無しさん
11/12/06 13:19:35.92
>>292
こうか
URLリンク(codepad.org)
302:デフォルトの名無しさん
11/12/06 13:28:14.89
>>292の書き込みだけで、おまえらよくエスパーできるな
303:デフォルトの名無しさん
11/12/06 13:29:53.93
>>295もあるよ!
304:255
11/12/06 13:43:42.27
>>295まででできてたら、もう自分でできそうな気もするんだが
aaaのなかでdouble*でなくて、pontaでキャストして
abc、def、ghiでそれぞれ比較するような感じの関数3つ作れ
305:デフォルトの名無しさん
11/12/06 13:46:31.35
名前消すの忘れてた・・・
306:デフォルトの名無しさん
11/12/06 13:46:37.46
関数3つ?
>>301でいいとおもうんだけど。
307:デフォルトの名無しさん
11/12/06 13:55:16.69
3つに分けたほうが読みやすくね?
308:デフォルトの名無しさん
11/12/06 13:56:37.04
qsort3回呼ぶってことか?
qsortって非破壊?
309:デフォルトの名無しさん
11/12/06 14:00:16.35
いや?破壊する。
310:292
11/12/06 14:49:00.12
皆さんのおかげで無事完成しました
ありがとうございました
311:デフォルトの名無しさん
11/12/06 20:02:31.00
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): URLリンク(www.kent-web.com)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 2011年12月8日
[5] その他の制限: リスト操作関数URLリンク(ideone.com)を用いてください。
よろしくお願いします。
312:デフォルトの名無しさん
11/12/06 21:41:19.43
>>311
アルゴリズムは低速でもおk?
313:デフォルトの名無しさん
11/12/06 23:07:01.56
アルゴリズム指定されてる気がするけど、いいんじゃない
314:311
11/12/06 23:08:20.67
>>312
全然構いません。
315:デフォルトの名無しさん
11/12/06 23:09:39.99
嘘吐き朝鮮、中国人がやってる報道機関 朝鮮人犯罪があまり報道されない理由
韓国文化放送(MBC) 〒135-0091 東京都港区台場2-4-8 18F
フジテレビジョン 、、 〒137-8088 東京都港区台場2-4-8
韓国聯合TVNEWS(YTN) 〒105-0000 東京都港区赤坂5-3-6
TBSテレビ 、 、、 .〒107-8006 東京都港区赤坂5-3-6
大韓毎日 、、、、、、、、、、、、 〒108-0075 東京都港区港南2-3-13 4F
東京新聞(中日新聞社東京本社) 〒108-8010 東京都港区港南2-3-13
京郷新聞 、、、、、、〒100-0004 東京都千代田区大手町1-7-2
産経新聞東京本社 〒100-8077 東京都千代田区大手町1-7-2
(サンケイスポーツ、夕刊フジ、日本工業新聞社)
朝鮮日報 、、、 〒100-0003 東京都千代田区一ツ橋1-1 4F
毎日新聞東京本社 〒100-8051 東京都千代田区一ツ橋1-1-1
韓国日報 、、、、 〒100-0004 東京都千代田区大手町1-7-1 8F
読売新聞東京本社 〒100-8055 東京都千代田区大手町1-7-1
東亜日報 、、、 〒104-0045 東京都中央区築地5-3-2
朝日新聞東京本社 〒104-8011 東京都中央区築地5-3-2(AFP、NYT)
韓国放送公社(KBS) 〒150-0041 東京都渋谷区神南2-2-1NHK東館710-C
NHK放送センター、 〒150-8001 東京都渋谷区神南2-2-1
316:デフォルトの名無しさん
11/12/06 23:23:57.22
[1] 授業単元:C
[2] 問題文(含コード&リンク):
URLリンク(codepad.org)
リンク先のコードのint searchを、以下のコードに書き換えて、プログラムを完成させなさい。
int bi_search(int target) {
int hi, lo, mid;
lo = 0;
hi = N - 1;
while (lo <= hi) {
mid = (lo + hi) / 2;
if (target == St[mid].num)
return mid;
else if (target < St[mid].num)
hi = mid - 1;
else
lo = mid + 1;
return -1;
}
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:12/8
[5] その他の制限:
317:デフォルトの名無しさん
11/12/06 23:24:50.35
[1] 授業単元:ソフトウェア設計
[2] 問題文(含コード&リンク):URLリンク(codepad.org)
[3] 環境
[3.1] OS: Windows vista
[3.2] コンパイラ名とバージョン: visual C++ 2008
[3.3] 言語: C++
[4] 期限: 2011年12月07日13:00まで
[5] その他の制限: 特に無し
助けて下さい。
よろしくお願いします。
318:デフォルトの名無しさん
11/12/06 23:38:53.45
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):URLリンク(www1.axfc.net)
リンク先のグラフを探索して最短経路を求めるプログラムを作ってください。
探索アルゴリズムは横型探索を用いてください。
[3] 環境
[3.1] OS:windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:2011年12月10日
[5]URLリンク(www1.axfc.net) 横型探索のアルゴリズム
に則って作成お願いします。OPENに探索可能なノードのリスト、CLOSEDに
既に探索したノードのリストを格納してください。
*横型探索なのでグラフにあるエッジを通るコストと予測コストは関係ないと思います。
エッジの向きだけ考慮して作成お願いします。
319:デフォルトの名無しさん
11/12/07 00:32:02.26
[1] 授業単元:プログラミング(c言語)
[2] 問題文(含コード&リンク):
ビンゴゲームで、ビンゴした列の数字を足し、その合計によってランクをつけるプログラムを作れ。
ビンゴカード(5*5)に書かれている数字はランダムで1から75まで、ランクはSからEまでとする。
S 365-310
A 309-251
B 250-192
C 191-133
D 132-74
E 73-15
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン:Dev-C++ 5
[3.3] 言語: C言語
[4] 期限: 2011年12月9日15:00まで
[5] その他の制限:
数人のチームでの課題で、私の担当は数字を足しランク付けするところです。
すみませんが、よろしくお願いします。
320:デフォルトの名無しさん
11/12/07 01:35:54.94
>>319
スコアすごいことになってるけど
URLリンク(codepad.org)
321:デフォルトの名無しさん
11/12/07 01:38:34.84
ビンゴってビンゴしたら終わりだったか( ;∀;)
322:デフォルトの名無しさん
11/12/07 02:05:16.14
>>319
こっちで
URLリンク(codepad.org)
323:デフォルトの名無しさん
11/12/07 02:21:40.38
>>322
エスパーすると、最高得点が365ってところから、同時に複数列ビンゴした場合は、
合計が最大となる列のもののみ対象とする気がする
validが
1 1 1 1 1
1 0 0 0 0
1 0 1 0 0
1 0 0 0 0
1 0 0 0 0
のときとか。
あと、これは本当にささいなことなんだけど、diagon → diagonalかもしれない
324:デフォルトの名無しさん
11/12/07 02:40:07.63
>>316
URLリンク(codepad.org)
325:デフォルトの名無しさん
11/12/07 03:59:03.83
>>319
やっぱりこれで
URLリンク(codepad.org)
>>323
エスパーしたはずだったんだけどなぁ( ;∀;) 忘れてた。
ありがとう!
書きながらダイアゴン横丁が浮かんでた。修正感謝。
326:デフォルトの名無しさん
11/12/07 04:00:29.49
>>319
URLリンク(codepad.org)
327:デフォルトの名無しさん
11/12/07 04:03:27.05
>>317
URLリンク(ideone.com)
328:デフォルトの名無しさん
11/12/07 06:16:38.22
>>319
URLリンク(codepad.org)
329:デフォルトの名無しさん
11/12/07 06:38:58.42
>>318
URLリンク(codepad.org)
330:デフォルトの名無しさん
11/12/07 09:05:40.43
[1] 授業単元:プログラミング演習 2
[2] 問題文(含コード&リンク)
テキストファイル bmi.txt を用意します
17人の名前と彼らの身長と体重が記入されています.
$ cat bmi.txt
Ackley,D.H. 181.5 65.1
Baker,J.E. 185.3 68.3
Keller,K.S. 175.2 63.4
Brent,R.P. 174.4 52.8
Jong,K.A. 186.2 73.4
Goldberg,D.E. 174.0 60.0
Forrest,S. 175.5 60.6
Fletcher,R. 180.3 73.8
Powell,M.J.D. 170.1 55.9
Smith,R.E. 178.7 69.6
Richardson,J. 167.7 51.5
Martin,F.G. 179.2 65.3
Wilson,S.W. 185.8 84.4
Lawler,E.L. 166.5 59.6
Reed,J. 176.3 58.8
Holland,J.H. 186.1 70.4
Jones,W.T. 171.4 63.7
C プログラム delcomma.c を書き,以下の要領でコンパイルし,実行モジュール delcomma を生成します.
delcomma は想像通り,delete comma の略です.
標準入力から受け取った名前の中で,カンマ以下を削除して標準出力に表示するコマンドです.
331:デフォルトの名無しさん
11/12/07 09:05:57.06
[1] 授業単元:プログラミング演習 2
[2] 問題文(含コード&リンク)
テキストファイル bmi.txt を用意します
17人の名前と彼らの身長と体重が記入されています.
$ cat bmi.txt
Ackley,D.H. 181.5 65.1
Baker,J.E. 185.3 68.3
Keller,K.S. 175.2 63.4
Brent,R.P. 174.4 52.8
Jong,K.A. 186.2 73.4
Goldberg,D.E. 174.0 60.0
Forrest,S. 175.5 60.6
Fletcher,R. 180.3 73.8
Powell,M.J.D. 170.1 55.9
Smith,R.E. 178.7 69.6
Richardson,J. 167.7 51.5
Martin,F.G. 179.2 65.3
Wilson,S.W. 185.8 84.4
Lawler,E.L. 166.5 59.6
Reed,J. 176.3 58.8
Holland,J.H. 186.1 70.4
Jones,W.T. 171.4 63.7
C プログラム delcomma.c を書き,以下の要領でコンパイルし,実行モジュール delcomma を生成します.
delcomma は想像通り,delete comma の略です.
標準入力から受け取った名前の中で,カンマ以下を削除して標準出力に表示するコマンドです.
332:デフォルトの名無しさん
11/12/07 09:06:07.91
[1] 授業単元:プログラミング演習 2
[2] 問題文(含コード&リンク)
テキストファイル bmi.txt を用意します
17人の名前と彼らの身長と体重が記入されています.
$ cat bmi.txt
Ackley,D.H. 181.5 65.1
Baker,J.E. 185.3 68.3
Keller,K.S. 175.2 63.4
Brent,R.P. 174.4 52.8
Jong,K.A. 186.2 73.4
Goldberg,D.E. 174.0 60.0
Forrest,S. 175.5 60.6
Fletcher,R. 180.3 73.8
Powell,M.J.D. 170.1 55.9
Smith,R.E. 178.7 69.6
Richardson,J. 167.7 51.5
Martin,F.G. 179.2 65.3
Wilson,S.W. 185.8 84.4
Lawler,E.L. 166.5 59.6
Reed,J. 176.3 58.8
Holland,J.H. 186.1 70.4
Jones,W.T. 171.4 63.7
C プログラム delcomma.c を書き,以下の要領でコンパイルし,実行モジュール delcomma を生成します.
delcomma は想像通り,delete comma の略です.
標準入力から受け取った名前の中で,カンマ以下を削除して標準出力に表示するコマンドです.
333:デフォルトの名無しさん
11/12/07 09:08:21.81
$ gcc -o delcomma delcomma.c
コマンド delcomma にリダイレクト機能を使って入力ファイル bmi.txt の中身を処理させます.
結果は以下のようになります.綺麗に名前のカンマ以下が消えています.
$ ./delcomma < ./bmi.txt
Ackley
Baker
Keller
Brent
Jong
Goldberg
Forrest
Fletcher
Powell
Smith
Richardson
Martin
Wilson
Lawler
Reed
Holland
Jones
334:デフォルトの名無しさん
11/12/07 09:09:57.72
ソース delcomma.c の一部を示します.残りを埋めて完成させて下さい.
#include <stdio.h>
#define MAX_LINE 20
#define MAX_NAME 20
int main(void);
int readfile(char (*)[MAX_NAME]);
void del_comma(char (*)[MAX_NAME], int);
void write_array(char (*)[MAX_NAME], int);
int main(void)
{
char name[MAX_LINE][MAX_NAME];
int n;
n = readfile(name);
del_comma(name, n);
write_array(name, n);
return 0;
}
void write_array(char (*name)[MAX_NAME], int n)
{
int i;
for (i = 0; i < n; i++) printf("%s\n", name[i]);
return;
}
335:デフォルトの名無しさん
11/12/07 09:11:34.43
すいません間違えて何度も同じ書き込みしてしまいました。[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:12月7日(出来れば早めにお願いします)
よろしくお願いします
336:デフォルトの名無しさん
11/12/07 09:33:55.21
>>330-335
ググってみた
URLリンク(dixq.net)
URLリンク(detail.chiebukuro.yahoo.co.jp)
どうもこのBMIの問題は人気があるようだ
337:デフォルトの名無しさん
11/12/07 09:52:19.25
>330-335
URLリンク(ideone.com)
338:デフォルトの名無しさん
11/12/07 09:55:18.06
>>327
感謝!!
339:デフォルトの名無しさん
11/12/07 10:17:29.42
>>337
X while (fgets(s, "%s", stdin) != NULL)
O while (fgets(s, MAX_NAME, stdin) != NULL)
340:デフォルトの名無しさん
11/12/07 10:45:11.96
近々これを元にBMI計算しろって丸投げがくるな
341:デフォルトの名無しさん
11/12/07 11:02:28.20
[1] 授業単元: プログラミング演習
[2] メンバに氏名、身長(double)、体重(double), BMI (double)をもつ構造体をつくり、氏名、身長、体重に適当な値を設定します。
そしてこの構造体のポインタを引数として渡したときにBMIメンバに計算結果を格納する関数を作ってください。
(もちろん、メイン関数もかいて動作を確かめよ。)
BMI : 体重(kg)を身長の2乗(m)で割った値
(体重(kg)/(身長(m))^2)
[3] 環境
[3.1] OS: Windows
[3.2] visual C++2005
[3.3] C
[4] 期限:2011/12/8
342:デフォルトの名無しさん
11/12/07 11:20:28.51
>>341
URLリンク(ideone.com)
343:デフォルトの名無しさん
11/12/07 12:05:58.87
安定のBMIスレ
double BMI(double weight,double height)
/*weight: 体重(kg)*/
/*height: 身長(m)*/
{if((weight<0)||(height<0){return -1 /*エラー*/}
return weight/(height*height);}
までテンプレ
344:デフォルトの名無しさん
11/12/07 12:14:37.11
>>329
ありがとう御座います。助かりました。
345:デフォルトの名無しさん
11/12/07 12:43:30.56
>>336
雛形コードについての表現がおもろいな。
・ここまで何とかできた
・友達と一緒にやって、教科書などから「だいたいこんな感じではないか」
346:デフォルトの名無しさん
11/12/07 13:34:20.47
>>311
URLリンク(ideone.com)
すんません。私の技量ではこれが限界です。
347:デフォルトの名無しさん
11/12/07 14:00:38.70
民主は反日で論外
自民は谷垣のようなエセ保守が居る限り衰退
348:デフォルトの名無しさん
11/12/07 15:32:42.15
>>347
URLリンク(ideone.com)
349:335
11/12/07 16:55:00.92
>>337だとコンパイル可能なのですが実行するとSegmentation faultが出てしまいます
どこを修正すれば見当つきません 誰か教えてもらえますか
350:デフォルトの名無しさん
11/12/07 17:17:40.29
>>349
ゴミなので全部書き直せばいい
351:デフォルトの名無しさん
11/12/07 17:20:01.74
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):
キーボードから二つの文字列を配列x[256]とy[256] に入力する。
配列xに含まれる文字列の後ろに配列yに含まれる文字列をつなげたものを配列z[256] に代入し、画面表示するプログラムを作成せよ。
(ただし、NULL文字「\0」の扱いに注意し、配列z の文字列の後ろにNULL文字を入れておくこと)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc 2.9
[3.3] 言語:C言語
[4] 期限: 12月13日24時
[5] その他の制限:ありません。宜しくお願いします。
352:デフォルトの名無しさん
11/12/07 17:25:29.21
>349
マジで半分くらいは書き換え
353:デフォルトの名無しさん
11/12/07 17:39:16.37
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
以下の手順に従ってプログラムを作成せよ。
適宜printfを利用して、入力支援(「文字列を入力してください」等の画面表示)を行うこと。
1.文字配列name[5][64]を作成
2.キーボードから5人分の名前を入力し、name配列に格納
3.キーボードから名前を入力し、name配列の何番目に格納されているかを検索して表示
(見つからなかった場合は「見つかりません」と表示)
4.「quit」が入力されるまで3の処理を繰り返す
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限: 12/10/20:00
[5] その他の制限:お願いします。
354:デフォルトの名無しさん
11/12/07 17:40:56.24
>>349
コンパイル通るのか? fgets() が....
355:335
11/12/07 17:41:31.53
>>352 >>350 そうなのですか すみません誰か別のをお願いします
356:デフォルトの名無しさん
11/12/07 17:48:04.40
>335
礼もなしで使い捨てって、すごいなお前
357:デフォルトの名無しさん
11/12/07 17:50:29.65
>>351
#include <stdio.h>
int
main(void)
{
char x[256], y[256], z[256];
printf("x = ");
scanf("%s", x);
printf("y = ");
scanf("%s", y);
sprintf(z, "%s%s", x, y);
printf("z = %s¥n", z);
return 0;
}
358:デフォルトの名無しさん
11/12/07 17:51:45.84
>>355
書き直した方が良いとは思うけど、面倒くさいから修正指示で良い?
30行目
× while( fgets( s, "%s", ~
○ while( fgets( s, 100, ~
359:デフォルトの名無しさん
11/12/07 18:01:12.51
>>351>>357
sprintfを使わないとこうなるという例 sprintfバンザイ センセーに怒られても知らないけどね
//ヘッダファイルの読み込みだよ
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//マジックナンバーはプログラム内に書かないほうがいいよ
#define N 256
//メイン関数だよ
int main(void) {
//文字列配列の宣言だよ
char x[N];
char y[N];
char z[N];
//xを入力させるよ
printf("x入れてね:");
fgets(x, sizeof(x), stdin);
fflush(stdin); //おまじないだよ
x[strlen(x) - 1] = '\0'; //NULL文字つけるよ
//yを入力させるよ
printf("y入れてね:");
fgets(y, sizeof(y), stdin);
fflush(stdin); //おまじないだよ
y[strlen(y) - 1] = '\0'; //NULL文字つけるよ
strcpy(z, x); //xをzにコピーするよ
strcat(z, y); //zにyを連結するよ
printf("配列zの中身は%sだよ",z); //表示するよ
return 0; //おまじないだよ
}
360:デフォルトの名無しさん
11/12/07 18:01:20.65
>>355
あれ、ここではベース書き換えおk?
361:デフォルトの名無しさん
11/12/07 18:07:31.30
[1] 授業単元: プログラミングC (ポインタ、文字列)
[2] 文字列を後ろから逆に表示する(例えば"ABC"を受け
取ったら"CBA"と表示する)関数
void put_rstring(const char *st)
を,添字演算子[] を使わずに作成せよ
[3] 環境
[3.1] OS: linux
[3.2] gcc
[3.3] C
[4] 期限:2011/12/8
[5] 関数の動作を確認できるmain 関数も作成す
ること.
(実行例)
文字列を入力してください:Koudai
逆順に表示:iaduoK
362:デフォルトの名無しさん
11/12/07 18:12:11.18
>>359
?
sprintfがstrcpyとstrcatにかわっただけだろ。
strcpy(z, x); //xをzにコピーするよ
strcat(z, y); //zにyを連結するよ
それから、これはやりたいことの説明になってない。
> x[strlen(x) - 1] = '\0'; //NULL文字つけるよ
それよりも何よりも、この恐ろしいコードを足したのはなぜ?
> fflush(stdin); //おまじないだよ
363:デフォルトの名無しさん
11/12/07 18:27:03.35
>>361
void put_rstring(const char *st) {
const char *p = st;
while(*p++);
while(st != p) putchar(*--p);
}
こういう。
364:335
11/12/07 18:36:07.17
>>356 貴方の言う通りですね 礼も無しは失礼ですね これから気をつけるので今回はすみませんでした
>>358 はい 無事できましたありがとうございました
365:デフォルトの名無しさん
11/12/07 18:49:41.24
>>363
X while(*p++);
O while(*p)p++;
366:デフォルトの名無しさん
11/12/07 18:57:04.95
>>365
あ、ほんと。ありがと
367:デフォルトの名無しさん
11/12/07 19:27:15.99
>>364
ふーん >>358 のような変更でコケたりコケなかったりするんだ。
いや、元のコードだとバッファのサイズとして文字リテラルのアドレス値が渡るだけで
「一応」動かなくもないのかなあと思ったのだが。
コケるとしたらfgets()が本当にそんだけバッファがあるかチェックしたりしてるとか?
あるいは文字リテラルがすごく小さいアドレスに割り当てられてて、fgetsがバッファ不足
(と思い込む)で文字列がカンマまで取り込めなくて暴走とか?
368:デフォルトの名無しさん
11/12/07 19:43:52.23
>>342
マイナス値が入力されたら?
369:デフォルトの名無しさん
11/12/07 19:49:36.34
宿題なんだから、条件チェックは指示された範囲でいいんじゃないの?
370:デフォルトの名無しさん
11/12/07 19:50:22.68
>>342
>>343
ありがとうございました
371:デフォルトの名無しさん
11/12/07 20:12:05.79
>>367
fgets() の第二引数は signed int だから unsigned int のポインター値が負になるかも知れないよ
372:デフォルトの名無しさん
11/12/07 20:27:27.40
朝日新聞は一時期300人のネット工作員をかかえ、工作していた。
捕まった編集者は49歳ですが、こんなカスでも1500万円の年収がもらえるんですよ。
>>866
14時以降に何が起きたんだ
>>866
Domain Information: [ドメイン情報]
a. [ドメイン名] ASAHI-NP.CO.JP
e. [そしきめい] かぶしきがいしゃ あさひしんぶんしゃ
f. [組織名] 株式会社 朝日新聞社
これが規制されたからじゃねw
-「朝日新聞社は、とある思想やパラダイムに日本の世論を誘導する見返りに、中国から大量の資金を貰っている。」-
これはおそらく週刊誌さえ書けない。
「失語症躁鬱ニートは氏ねよ」【ネット】朝日新聞社員(49)ネットで荒らし行為、会社ごとアクセス規制へ
373:デフォルトの名無しさん
11/12/07 20:36:14.77
>>367
> バッファがあるかチェック
できないでしょ
374:デフォルトの名無しさん
11/12/07 20:43:55.89
>>361
#include <stdio.h>
void func(char*s){
if(*s)
func(s+1);
putchar(*s);
}
int main(void){
char s[100];
printf("in=");
scanf("%s",s);
func(s);
return 0;
}
375:デフォルトの名無しさん
11/12/07 20:45:23.13
[1] 授業単元:C
[2] 問題文(含コード&リンク):
URLリンク(codepad.org)
リンク先のコードをデータが昇順ではなく、
降順に並んでいる場合の二分探索はどのように改良すればいい?
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:12/8
[5] その他の制限:
376:デフォルトの名無しさん
11/12/07 20:54:33.78
>>353
URLリンク(ideone.com)
377:デフォルトの名無しさん
11/12/07 20:56:19.50
>>375
else if (target < St[mid].num)
→ else if (target > St[mid].num)
378:デフォルトの名無しさん
11/12/07 21:59:47.07
[1] 授業単元:C言語入門
[2] 問題文(含コード&リンク):↓
文字列操作のライブラリ関数を使用して、指定したファイルで、
最も辞書順(ASCIIコード順)で最初に出てくる単語と、最後に出てくる単語を見つけて表示せよ。また、最も長い単語も表示せよ。
・同じ長さの単語が複数ある場合には、最初に見つけたものだけ表示するだけでよい。
・ただし,ここでいう単語とは、スペースや改行、タブで区切られる文字の列で必ずしも、英数字とはかぎらない。(このような区切りで、ファイルから文字列を読むために%sを用いる)
・単語の長さは100文字以内と考えてよい。
・標準文字列関数を利用すること。
(指定されたファイルとは普通の英文が書かれた.txtファイルです)
実行例
$./quiz10-2
Input file name!:sample.txt
file1 open Error sample.txt
$
$./quiz10-2
Input file name!:English.txt
The First word = 's
The Last word = yokozuna
The Longest word = accomplishment.
[3] 環境
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 12/13 10:00
[5] その他の制限:初学者向けらしい
お願いします。
379:デフォルトの名無しさん
11/12/07 22:27:05.81
>>371
負の整数値ですか。確かに文字列をスタック変数に確保した場合とか、なりそうですね。
今回は違いますけど。
で、仮にバッファサイズが負で渡された場合、fgets()は何もせずに終わって欲しいような...
バッファサイズが負だとおかしくなるようなfgest()の実装があるのかな?
>>373
いや、たとえば超おせっかいなfgets()があって、バッファの領域すべてを0で初期化して
くれるとかそんなのがあればクラッシュするかなあとw
380:デフォルトの名無しさん
11/12/07 22:30:20.77
[1] 授業単元:C++入門
[2] 問題文(含コード&リンク):文字型へのポインタ変数を宣言、new演算子を使用してメモリを確保しなさい
文字列のサイズがプログラム実行時に決まるようにして、そのポインタ変数が文字列として使用できることを、
画面出力で確認できるようにしなさい
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C++
[4] 期限:12/9
[5] その他の制限:なし
URLリンク(codepad.org)
↑のプログラムを作成したんですが、文字を入力するとエラーになってしまいます
どうすれば改善できるのか教えてください
381:デフォルトの名無しさん
11/12/07 22:37:03.42
>>378
URLリンク(codepad.org)
382:デフォルトの名無しさん
11/12/07 22:38:30.68
>>380
> if(Data = NULL)
if(Data == NULL) に修正
383:デフォルトの名無しさん
11/12/07 22:46:03.40
>>380
17行目でNULLを代入しちゃってるよね。
あと1文字ずつ入力したければ、getchar()を使おう。
384:デフォルトの名無しさん
11/12/07 22:53:24.13
>>380
>>382で嘘を書いてしまった。C++のnewはNULLを返さないんだった。
if(Data == NULL)は不要です。
385:デフォルトの名無しさん
11/12/07 22:55:18.80
>>383
…getじゃなくてか。
386:デフォルトの名無しさん
11/12/07 23:15:01.96
動画:【映画盗撮防止キャンペーン】 NO MORE 映画泥棒 (ver.2) 【HD】
自民、公明両党は7日、インターネットを通じた音楽や映像ファイルの違法ダウンロードに対し、
2年以下の懲役か200万円以下の罰金を科す法案をまとめた。民主党に協力を求め、来年の通常国会で成立を目指す。
ネット上では音楽ファイルなどの違法ダウンロードが相次ぎ、関係業界に多大な損害を与えている。
従来、違法なアップロードは著作権法で処罰対象とされていたが、ダウンロードには刑事罰が科されていなかった。
URLリンク(www.jiji.com)
PC画面を直接録画すればおk?
∧_∧_
( ・∀|[ニ:|ol
( つ ∩ ̄
と_)_)
URLリンク(himado.in)
387:デフォルトの名無しさん
11/12/07 23:58:57.20
>>382-385
17行目を削除したところ動作するようになりました
それと tanaka と一回で入力したんですが
どうすればできますか
388:デフォルトの名無しさん
11/12/08 00:17:52.99
[1] 画像処理入門
[2] 問題文(含コード&リンク):OpenCVを用いて、x枚(一応与えられたのは200)の画像から
それぞれの画素の輝度平均、標準偏差、中央値、最頻値を用いて画像を生成しろ
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2010
[3.3] 言語:C
[4] 期限:12/10
[5] その他の制限:なし
カメラ固定の動画像から静止画を取得し、そこから背景画像を生成しろというものです
輝度平均と標準偏差での画像は作成できたのですが
中央値、最頻値での画像作成がどうしたものかわかりません
よろしくお願い致します
389:デフォルトの名無しさん
11/12/08 01:19:51.31
>>388
輝度平均と標準偏差での画像作成のプログラムくらいは見せてくれないとねえ・・・
390:387
11/12/08 02:06:51.07
「tanaka と一回で入力したんですが」→ ×
「tanaka と一回で入力したいんですが」→ ○ でした
>>387の方法をおしえてもらえると嬉しいです
おねがいします
391:デフォルトの名無しさん
11/12/08 02:34:40.19
>>390
#include<iostream>
using namespace std;
int
main()
{
int Size;
char *Data;
cout << "配列のサイズを入力" << endl;
cin >> Size;
Data = new char [Size + 1];
cin >> Data;
cout << Data << endl;
delete Data;
return 0;
}
392:デフォルトの名無しさん
11/12/08 02:55:26.91
>>391
メモリリークのコードを書くぐらいならstd::stringにしときなさいな
393:デフォルトの名無しさん
11/12/08 02:56:03.41
って元からか。スマソ
394:デフォルトの名無しさん
11/12/08 04:22:58.32
>>391
ありがとうございます
395:デフォルトの名無しさん
11/12/08 07:14:43.59
>>379
> 今回は違いますけど。
それは環境依存だろ、そもそもアレのコンパイルが通るかどうかも環境依存だよ
URLリンク(akademeia.info)
このページに有るソースコードによると ansi なら fgets( s, -1, は NULL を返すだけだから何もしないで終了する
でも K&R なら NULL文字を読んだ事になり、 del_comma() が ',' を見つけられないから落ちる場合も有るだろう
試しに fgets( s, -1, ~ としたら bcc ではハングした
396:デフォルトの名無しさん
11/12/08 09:06:40.49
>>395
質問者はbccで…とは書いてないぞ。
397:デフォルトの名無しさん
11/12/08 09:30:19.27
>>396
日本語の読解力はどんな仕事でも必要だよ
>>395 を読んで bcc に限定した話をしていると考えるなら問題が有るな
398:デフォルトの名無しさん
11/12/08 12:41:39.62
>>317ですが>>327で
#include<iostream>
#include<fstream>
#include<string>
のみを使ってプログラムを作りたいです。
どなたか時間があるときによろしくお願いします。
399:デフォルトの名無しさん
11/12/08 14:56:59.28
>>395
>> 今回は違いますけど。
>
>それは環境依存だろ、そもそもアレのコンパイルが通るかどうかも環境依存だよ
これは「スタック変数ではない」という意味で書いたんだけど... だったらOK?
で、bccでは
- (キャスト等して)intの変数に文字リテラルを渡すと負数が渡る?
- fgets()はK&R Cのように振る舞う(振る舞わさせることが出来る)?
んですか?
環境依存なのは百も承知なので、では実際にどういう環境があるのかなと
400:デフォルトの名無しさん
11/12/08 15:03:33.45
平松邦夫/民主党
大阪市役所・自治労・大阪市労働組合・日教組・大阪市教育委員会・自民党・共産党・社民党・関西電力・住友グループ
・毎日放送・毎日新聞・関西経済連合・日本原子力発電株式会社 ・ 週刊文春・週刊新潮・NHK・朝日新聞・読売新聞
・部落解放同盟・朝鮮総連・在日本大韓民国民団・日本遊技関連事業協会・全日本遊技事業協同組合連合会・日本弁護士連合会・生活保護受給者・反日左翼・9条の会・革マル派・中核派
VS
橋下徹/維新の会
大阪市民・みんなの党・国民新党・亀井静香・石原慎太郎・東国原英夫
様子見:公明
401:デフォルトの名無しさん
11/12/08 15:10:48.32
>>398
template <typename T>
void scan_line(const string &prompt, T &x)
{
cout << prompt;
while( ! ( cin >> x ) ) {
cin.clear();
cin.ignore( 10000, '\n' );
cout << "Error:" << prompt;
}
}
>>327 は numeric_limits<streamsize>::max() によりバッファの最大サイズを取得しているけど、
十分に大きいと思われる数値を与えれば十分じゃないかなと思う
402:デフォルトの名無しさん
11/12/08 15:26:57.57
>>399
スタック・ヒープ・リテラルがアドレスの何処に配置されるかは環境依存だよって意味
> (キャスト等して)intの変数に文字リテラルを渡すと負数が渡る?
渡らなかった、リテラルは 0x400000 台のアドレスに配置されているようだ
> fgets()はK&R Cのように振る舞う(振る舞わさせることが出来る)?
質問の意味が不明だ
fgets( s, -1, stdin ) が NULL文字を読み込む事が確認できたので、K&Rスタイルに実装と推定できる
ANSIスタイルであればNULLを返すだろう
403:デフォルトの名無しさん
11/12/08 15:50:52.16
>>337は仕様、動作すら確認せずに書いた産廃。
それで終わりだ。宿題スレで関係ない話してんな。
404:デフォルトの名無しさん
11/12/08 17:46:49.10
>>389
IplImage **src = 0;
IplImage *src0 = cvLoadImage("./src/000.bmp", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
cvSaveImage( "src_image.jpg", src0, 0);
if( NULL == (src = (IplImage**)malloc(IMG_NUM*sizeof(src0))) ){
printf("メモリ確保出来ず.\n");
return -1;
}
for(i=0;i<=IMG_NUM;i++){
sprintf(filepath, "./src/%03d.bmp",i);
src[i] = cvLoadImage(filepath, CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
}
という感じで読み込んで
for (i = 0; i <= IMG_NUM; i++) {
cvConvertScale (src[i], tmp, 1.0, 0);
cvAcc(tmp, ave_img, NULL);
cvSquareAcc(tmp, ave2_img, NULL);
}
cvConvertScale (ave_img, ave_img, 1.0/100, 0);//平均
cvConvertScale (ave2_img, ave2_img, 1.0/100, 0);//二乗和の平均
//分散
Iplimage *dispersion = cvCreateImage(cvSize(width,height),IPL_DEPTH_32F,3);
cvMul( ave_img, ave_img, ave_img,0);
cvSub( ave2_img, ave_img, dispersion,0 );
//標準偏差
Iplimage *sd = cvCreateImage(cvSize(width,height),IPL_DEPTH_32F,3);
cvPow( dispersion, sd, 0.5 );
これで出せている…つもりです
よろしくお願い致します
405:デフォルトの名無しさん
11/12/08 18:00:27.09
標準偏差出せるならメジアンとかもできるんじゃないの…?
406:デフォルトの名無しさん
11/12/08 18:14:41.71
[1] 授業単元: プログラミングC (ポインタ、文字列)
[2] 文字列を後ろから逆に表示する(例えば"ABC"を受け
取ったら"CBA"と表示する)関数
void put_rstring(const char *st)
を,添字演算子[] を使わずに作成せよ
[3] 環境
[3.1] OS: linux
[3.2] gcc
[3.3] C
[4] 期限:2011/12/8
[5] 以下の実行例のように関数の動作を確認できるmain 関数も作成す
ること.
(実行例)
文字列を入力してください:Koudai
逆順に表示:iaduoK
407:デフォルトの名無しさん
11/12/08 18:27:05.25
>>406
>>361
408:デフォルトの名無しさん
11/12/08 19:05:21.64
[1] アルゴリズム 文字列ポインタ演習
[2] 問題文:文字列st の中に,文字c が含まれていればその文字
へのポインタを返し,含まれていなければNULL を返す
関数char *str_chr(const char *st, int c)
を作成せよ.以下の実行例のように,関数の動作を確認
できるmain 関数も作成すること.
実行例
文字列str:ABCDEFGHIJKLMNOPQRSTUVWXYZ
1 文字入力してください:X
その文字はstr に含まれています。
その文字以降を表示します:XYZ
例.2
文字列str:ABCDEFGHIJKLMNOPQRSTUVWXYZ
1 文字入力してください:3
その文字はstr に含まれていません
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2010
[3.3] 言語:C
[4] 期限:12/9
[5] その他の制限:
・ 関数str_chr は,添字演算子[] を使わずに作成すること.
・? 文字c が複数ある場合は,最も先頭側の文字c へ
のポインタを返すものとする.
409:デフォルトの名無しさん
11/12/08 19:26:44.45
>>408
#include <stdio.h>
#include <string.h>
char *str_chr(const char *st, int c)
{return strchr(st, c);}
int main()
{
char str[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("1 文字入力してください:");
c = getchar();
p = str_chr(str, c);
if(p!=NULL){
printf("その文字はstr に含まれています。\n"
"その文字以降を表示します:%s\n", p);
}else{
printf("その文字はstr に含まれていません\n", c);
}
return 0;
410:デフォルトの名無しさん
11/12/08 19:50:26.99
>>409実行したらエラーが出ましたよ
411:デフォルトの名無しさん
11/12/08 20:17:42.93
>>410
嘘つくな、コンパイルすら通らないぞ
412:デフォルトの名無しさん
11/12/08 20:21:02.69
>>実行とコンパイル間違えた
413:デフォルトの名無しさん
11/12/08 21:05:54.83
>>408
URLリンク(ideone.com)
414:デフォルトの名無しさん
11/12/08 21:33:49.67
>>408ありがとうございます
415:デフォルトの名無しさん
11/12/08 21:46:08.27
[1] 授業単元:関数とポインタ
[2] 問題文(含コード&リンク):
ある実数値の2乗を求める関数jijyoと、3乗を求める関数sanjyoを作成し、メイン関数から呼び出して動作を確認せよ。ただし、関数の返却値は無いものとし、引数はアドレス渡し(ポインタ)とする。
[3] 環境
[3.1] OS:windows
[3.2] コンパイラ名とバージョン: わかりません
[3.3] 言語: C++
[4] 期限: 12/8 23:00
[5] その他の制限: 基本しかやってません
416:デフォルトの名無しさん
11/12/08 22:10:41.09
[1] 授業単元:C言語による基礎数学
[2] 問題文(含コード&リンク):
問題1
URLリンク(www.kent-web.com)
問題2
URLリンク(www.kent-web.com)
参考プログラム
URLリンク(codepad.org)
[3] 環境
[3.1] OS:windows7
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C言語
[4] 期限: 12/9 16:00
[5] その他の制限: できるだけ簡単に、参考プログラムを元に作成をよろしくお願いします。
417:デフォルトの名無しさん
11/12/08 22:39:08.54
>>415
URLリンク(ideone.com)
418:デフォルトの名無しさん
11/12/08 23:12:04.24
フジテレビが大嫌いな君が代をフジテレビ前で歌う
URLリンク(www.nicovideo.jp)
youtube: URLリンク(www.youtube.com)
URLリンク(blog-imgs-34.fc2.com)
URLリンク(4.bp.blogspot.com)
419:デフォルトの名無しさん
11/12/08 23:36:32.21
スレ痴
420:デフォルトの名無しさん
11/12/08 23:59:38.91
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):メイン関数でキーボードから2つの整数値を入力し、関数sisokuenzanにて和差積商を計算するプログラムを作成せよ。
なお、関数sisokuenzanの仕様は以下のとおりとし、計算結果はメイン関数で表示するものとする。計算結果の変数は、結果をよく考えて適切な型を使うこと。
関数名: sisokuenzan
引数 :整数1: x
整数2: y
計算結果:和 wa, 差 sa,積 seki,商 syou
(ただし、計算結果はポインタ)
返却値:無し(return文は無い)
その他:「関数sisokuenzanが呼ばれました」と、画面に表示する。
(実行例)
整数1= 10
整数2= 3
関数sisokuenzanが呼ばれました
メイン関数に戻りました
和 = 13 差 = 7 積 = 30 商 = 3.3
[3] 環境
[3.1] OS:windows
[3.2] コンパイラ名とバージョン:Microsoft Visual C++ 2010 Express
[3.3] 言語: C++
[4] 期限:できるだけ早くでお願いします
[5] その他の制限:
421:デフォルトの名無しさん
11/12/09 00:37:03.18
>>420
URLリンク(ideone.com)
422:デフォルトの名無しさん
11/12/09 00:41:20.78
>>402 >>403
確かにそんなに引っ張る話題でもないんで一個だけ。
fgets( s, -1, stdin ) が NULL文字を読み込む事が確認できたので、K&Rスタイルに実装と推定できる
>ANSIスタイルであればNULLを返すだろう
もしかしてK&Rに書いてあるfgets()のコードのことですか? その場合「ANSIスタイル」
というのは何なのかという疑問が...
423:デフォルトの名無しさん
11/12/09 00:43:52.14
>>422
ああ、>>395のリンクをちゃんとよんでませんでしたごめんなさい。
というわけで終了。
424:デフォルトの名無しさん
11/12/09 01:34:38.68
>>416
1. URLリンク(ideone.com)
2. 回路わからん
425:デフォルトの名無しさん
11/12/09 05:17:40.88
>>416
課題2
あってるかどうか、さっぱりわからん
URLリンク(codepad.org)
426:デフォルトの名無しさん
11/12/09 06:50:40.83
>>424
ありがとうございます
>>425
ありがとうございます
たぶん間違ってると思います
427:426
11/12/09 07:00:42.94
>>425
と思ったんですけど-jってprintfで表示されるようにしてたんですね^^;
ありがとうございました
428:デフォルトの名無しさん
11/12/09 13:33:28.25
[1] 授業単元:C入門
[2] 問題文(含コード&リンク):メンバとして名前(文字列)と生年月日(yyyymmdd
形式のlong 型整数)をもつ構造体friend を宣言し,
friend 型構造体のオブジェクトfr を引数としてメン
バの情報を"○○さんの生年月日はyyyy 年mm 月dd 日
です。" のように表示する関数
void print_friend(struct friend fr)
を作成しプログラムを完成させよ
以下の実行例のように,関数の動作を確認できるmain
関数も作成すること.ただし,main 関数は以下のよう
に動作するものを作成せよ。
友人の名前を入力してください:Taro
友人の生年月日(yyyymmdd) を入力してください:
19911001
Taro さんの生年月日は1991 年10 月1 日です。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:12/10
[5]
・main 関数内で,friend 型構造体のオブジェクトfr1 を初期化せずに宣言する.
・ 以下の実行例のように,fr1 のメンバの値(名前と生年月日)をユーザに入力させる.このとき,scanf関数の引数にfr1 のメンバのアドレスを用いること.
・その後,関数print_friend を呼出してfr1 の情報を表示し,終了する.
429:デフォルトの名無しさん
11/12/09 13:54:53.10
>>428
URLリンク(codepad.org)
430:デフォルトの名無しさん
11/12/09 18:08:58.15
>>346
とても助かりました!ありがとうございます!
431:デフォルトの名無しさん
11/12/09 18:21:33.78
,.r.:::;;;;:ュ、
fイ´__ __ヾ
{:六;;;;:ハ:;;;:カ
(_ ' _^_ヽリ なんだ AKBって整形した反日朝鮮人だったのかァ
,人 l⌒l、 ブームの捏造手法が寒流と同じだけはあるな
/ \,ゝヽr' \
/ |:| ヽ
l l /´匀 l !
|___l ノ ,イ !__,}
432:デフォルトの名無しさん
11/12/09 21:03:01.65
[1] 授業単元:プログラミング画像処理実習
[2] 問題文(含コード&リンク):画像からエッジの検出処理を行い別の画像として出力するプログラムを作成せよ。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:visual studio
[3.3] 言語:C
[4] 期限:2011年12月22日 23時59分まで
[5] その他の制限:なし
433:426
11/12/09 21:49:48.86
>>432
画像の種類は?
434:デフォルトの名無しさん
11/12/10 01:35:03.04
曲線をP型記述子でフーリエ変換するプログラムができずに困っています。
どなたか教えていただけないでしょうか。
435:デフォルトの名無しさん
11/12/10 07:31:17.74
ここにいる人はプログラムは書けても数学や電気回路に強いわけじゃないから式をかけ式を。
436:デフォルトの名無しさん
11/12/10 09:29:14.19
[1] 授業単元:プログラミング C言語入門
[2] 問題文(含コード&リンク):文字列st の中に,文字c が含まれていればその文字
へのポインタを返し,含まれていなければNULL を返す
関数char *str_chr(const char *st, int c)
を作成せよ.以下の実行例のように,関数の動作を確認
できるmain 関数も作成すること.
ただし,プログラムは以下の要件を満たすこととする.
・ 関数str_chr は,添字演算子[] を使わずに作成すること.
・文字c が複数ある場合は,最も先頭側の文字c へ
のポインタを返すものとする.
・main 関数は以下に示すものを用いること.空欄は
自分で埋めること.
なお,以下のmain 関数では,指定した文字が文字列中
に含まれていた場合に,文字列のその文字以降の部分を
表示するようなプログラムとしている.
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:visual studio
[3.3] 言語:C
[4] 期限:2011年12月10日 23時59分まで
[5] その他の制限:なし
437:デフォルトの名無しさん
11/12/10 09:30:40.23
>>435 続き
[5]なお,以下のmain 関数では,指定した文字が文字列中
に含まれていた場合に,文字列のその文字以降の部分を
表示するようなプログラムとしている.
int main( void )
{
int ch;
char str[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char *ptr;
printf("文字列str:%s\n", str);
/* 探したい文字を入力させる*/
printf("1 文字入力してください:");
ch = getchar();
/* 文字ch を探す関数を呼出す*/
ptr =
/* 文字ch が見つかればstr のその文字以降の部分
を表示*/
if ( ){
printf("その文字はstr に含まれています。\n");
printf("その文字以降を表示します:%s\n",);
}
else
printf("その文字はstr に含まれていません。\n");
return
[実行例]
文字列str:ABCDEFGHIJKLMNOPQRSTUVWXYZ
1 文字入力してください:X
その文字はstr に含まれています。
その文字以降を表示します:XYZ
よろしくお願いします
438:デフォルトの名無しさん
11/12/10 10:20:26.49
>436-437
>408
439: ◆Z1sp.Bulpo
11/12/11 02:33:53.74
[1] 授業単元: アルゴリズム
[2] 問題文(含コード&リンク):
リスト構造を使用して平均を求めるプログラムの作成
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 12月14日まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
440:432
11/12/11 04:03:38.57
>>433
pgm画像です
441:デフォルトの名無しさん
11/12/11 06:18:35.57
[1] 数値解析
[2]
123 456 789.012 345.678
901 234 567.890 123.456
789 12 345.678 901.234
567 890 123.456 789.012
・・・
のような適当な値のテキストファイル(q.txt)があり(50×4)、これらのうち3列目と4列目でそれぞれの差を取り、
以下のような新しいテキストファイル(a.txt)に出力せよ。
-221.122 -222.222
-222.212 777.778
-222.222 -112.222
・・・
[3] 環境
[3.1] Windows
[3.2] VS2010Express
[3.3] C
[4] 2011/12/12まで
[5] 特に制限はありません。
流れとしてq.txtを読み込み、3,4列目を二次元配列に入れ、それぞれ計算させてa.txtを出力すると思いますが、
入出力はまだ理解できますが、配列に入れるのとそれらの配列を用いて計算させる辺りがあやふやです。
御教示お願いします。
442:デフォルトの名無しさん
11/12/11 06:30:39.70
>>441
>のような適当な値のテキストファイル(q.txt)
のテキストを出してくれ
いちいち作るのめんどくせ
443:デフォルトの名無しさん
11/12/11 07:04:06.05
>>439
URLリンク(codepad.org)
444:デフォルトの名無しさん
11/12/11 09:55:56.24
[1] 授業単元: アルゴリズム(構造体・ポインタ)
[2] 問題文(含コード&リンク):
メンバとして映画のタイトル(文字列)と公開年(int
型整数)をもつ構造体movie を宣言し,movie 型構造
体へのポインタmv と映画タイトルの文字列str を引数
としてタイトルを書きかえる関数
void set_title(struct movie *mv, char str[])
および,movie 型構造体へのポインタmv と公開年y を
引数として公開年を書きかえる関数
void set_year(struct movie *mv, int y)
を作成しプログラムを完成させる
実行例.
タイトル:HAYABUSA 公開年:2011
データを書きかえました。
タイトル:October Sky 公開年:1999
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 12月11日まで
445:デフォルトの名無しさん
11/12/11 09:56:47.53
>>444 続き
[5] その他の制限:以下の実行例のように,関数の動作を確認できるmain
関数も作成すること.ただし,main 関数は以下のよう
に動作するものを作成すること
・main 関数内で,タイトルをHAYABUSA,公開年
を2011 として初期化したmovie 型構造体のオブジェクトmovie1 を宣言する
・以下の実行例のように,movie1 のメンバの値を表
示した後,関数set_title と関数set_year を用
いて別のタイトルと公開年の値に変更する.変更す
るタイトルと公開年は適当な値を用いてよい(ユー
ザに入力させる必要はない
・その後もう一度movie1 のメンバの値を表示して終
了する.
お願いします
446:デフォルトの名無しさん
11/12/11 14:31:15.96
宿題の名を借りたアンケだな・・・センセはおもしろい映画を見たいようだw
ちょっとまってね、今作ってみるわ。
447:デフォルトの名無しさん
11/12/11 14:49:36.49
#include <stdio.h>
#include <string.h>
#define TITLESIZE 100
struct movie{char title[TITLESIZE];int year;};
void set_title(struct movie *mv, char str[]){strcpy(mv->title, str);}
void set_year(struct movie *mv, int y){mv->year = y;}
void print_movie(struct movie *mv){printf("タイトル:%s 公開年:%d\n", mv->title, mv->year);}
int main(void){struct movie movie1 = {"HAYABUSA", 2011};print_movie(&movie1);
set_title(&movie1, "WarGames");set_year(&movie1, 1983); /* ←ネタが思いつかんかった */
printf("書き換えました\n");print_movie(&movie1);return 0;}
448:デフォルトの名無しさん
11/12/11 15:14:56.98
/* >>441 */
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
double a, b, c, d, oldc, oldd;
FILE *fin = fopen("q.txt", "r");
FILE *fout = fopen("a.txt", "w");
if (fin == NULL || fout == NULL) {
fprintf(stderr, "ファイルが開けないよ\n");
exit(2);
}
fscanf(fin, "%lf %lf %lf %lf", &a, &b, &oldc, &oldd);
while (fscanf(fin, "%lf %lf %lf %lf", &a, &b, &c, &d) == 4) {
fprintf(fout, "%lf %lf\n", c - oldc, d - oldd); /* ←自分で調整してちょ */
oldc = c;
oldd = d;
}
fclose(fin);
fclose(fout);
return 0;
}
449:デフォルトの名無しさん
11/12/11 15:18:42.89
>>442
そういうもんでもないだろ
450:デフォルトの名無しさん
11/12/11 15:31:44.48
あ、fprintf()ん中の%lfは%fだったわ。。。orz
451:デフォルトの名無しさん
11/12/11 16:14:56.24
pgm形式ですか・・・テキストファイルで読み込めます?
先頭の4行は次のような、形でしょうか。
---次の行から
P1
# comment
100 200
256
---上の行まで。
pgmファイルの読み書き習っているなら、そのプログラムを提示してくれれば組める。
452:デフォルトの名無しさん
11/12/11 16:27:41.78
そういう時はやらなければいいんだよ。やれないってことだから。
453:デフォルトの名無しさん
11/12/11 16:50:10.02
>>452
足引っ張ることしかできんのかお前は。
454:デフォルトの名無しさん
11/12/11 16:52:21.20
どうせまともなのが出来るわけないんだから
printf("Hello World\n");
でいいんじゃね?
455:デフォルトの名無しさん
11/12/11 16:54:25.70
とりあえず、P2を読めるプログラム今書いてるけどねー。
標準画像のlenaさんてプレイボーイのグラビアだったのねー・・・。
456:デフォルトの名無しさん
11/12/11 17:32:14.74
>>441 ありがとうございます
457:デフォルトの名無しさん
11/12/11 18:13:32.24
>>455
だよ。顔だけばっかりみるけど
458:デフォルトの名無しさん
11/12/11 18:23:07.99
[1] 授業単元:配列とポインタ
[2] 問題文(含コード&リンク):1,2,3,4,5,6...と続くテキストファイルを読み込み、8×8の2次元配列で表し、別のテキストファイルに結果を書き込みなさい。ただし、読み込むファイルのデータの数が64個に満たない場合は、0を代入しなさい。
[3] 環境
[3.1] OS: linux debian
[3.2] コンパイラ名とバージョン: gcc4.3.2
[3.3] 言語:C言語
[4] 期限: 12月12日 14時
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
459:デフォルトの名無しさん
11/12/11 18:49:44.75
>>458
URLリンク(ideone.com)
460:458
11/12/11 20:14:13.09
>>459
Error: 'for' loop initial declaration used outside c99 mode
というエラーがでます。
461:466
11/12/11 20:36:43.47
[1]再起的関数
[2]10×10の二次元配列を用意し、□か■を適当に格納し■が上下左右に連続してマークされた要素の集まりを島と呼び島の個数を数える(関数の再起処理を使用)
3] 環境
[3.1] Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C++
[4] 期限: 2011年12月11日24時
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
462:デフォルトの名無しさん
11/12/11 20:49:03.00
>>460
C99より前のバージョンのC言語は、ローカル変数の宣言は全てコードブロックの一番前で
行わなければならないからね。
for ( int j = 0; j < 8; j++ ){
の部分を
int j;
for ( j = 0; j < 8; j++ ){
にすればいいんじゃないかな?
ついでにFILE *fp = fopen(in_file, "rb");の行も、gets(in_file);の前にFILE *fp;をおいて、
もともとの場所はfp = fopen(in_file,"rb");に置き換える必要もあるし…。
それかC99モードでコンパイルするのが一番いいかもしれないね。どうすればいいかは、
それくらい調べた方がいいかも。
463:459
11/12/11 20:51:24.48
>>460
つ -std=c99
464:458
11/12/11 21:00:40.66
>>463
ありがとうございます。
-std=c99試しましたがまだエラーがでます。
465:458
11/12/11 21:01:22.26
>>462
ありがとうございます。
教えていただいた通り、書き換えましたがコンパイルできません。
466:デフォルトの名無しさん
11/12/11 21:07:59.17
>>465
エラーメッセージ貼れよバカ
467:458
11/12/11 21:11:24.58
>>466
In function 'main'
warning: the `gets' function is dangerous and should not be used
です。
468: ◆QZaw55cn4c
11/12/11 21:15:59.42
>>465
URLリンク(ideone.com) 書き直しただけ。
469:デフォルトの名無しさん
11/12/11 21:18:22.59
警告ですな。まー宿題レベルなら問題ない。
gets()は(配列の長さを知らないでメモリを壊すので)危ないから、使わないでねというやつ。
470:デフォルトの名無しさん
11/12/11 21:20:08.71
>>461
URLリンク(codepad.org)
471:466
11/12/11 21:32:31.82
[1]再起的関数
[2]10×10の二次元配列を用意し、□か■を適当に格納し■が上下左右に連続してマークされた要素の集まりを島と呼び島の個数を数える(関数の再起処理を使用)
3] 環境
[3.1] Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C++
[4] 期限: 2011年12月11日24時
[5] その他の制限: 標準ライブラリは使ってはいけない,再起関数までしか習っていない、
472:デフォルトの名無しさん
11/12/11 21:32:36.14
【質問テンプレ】
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):textfileの1行を読み込み、1次元配列にバッファリングしたものの1部をスペースが出るまで
別の二次元配列に格納せよ。
テキストファイルに書かれている内容は
AA 1,2,3,4,5;
・・・
です。
のようにAAと数字の間は1スペース開いています。
AA 2,3,4,5;の1行だけをバッファリングすることが
できました。AAの文字のみを別の二次元配列に格納するにはどうすればよいか?
[3] 環境
[3.1] OS: (Windows/Linux/等々)windows
[3.2] コンパイラ名とバージョン:制限なし
[3.3] 言語: (C/C++/どちらでも可 のいずれか)C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
2011年12月15日まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
なし。 1次元配列に格納するところまではできたのですが、そこから先に進めないので、
お願いします。
473:458
11/12/11 21:35:20.09
>>469
warningは出ますが実行ファイルは出来たので、./で実行しましたが何も起きません。
gets()を使わない方法を知っていたら教えてくれませんか?
474:466
11/12/11 21:36:24.86
1]再起的関数
[2]10×10の二次元配列を用意し、□か■を適当に格納し■が上下左右に連続してマークされた要素の集まりを島と呼び島の個数を数える(関数の再起処理を使用)
#include<iostream>
#include<string>
using namespace std;
const int size_y=10;
const int size_x=10;
ここにプログラムを書く
int main()
{
string map[size_y][size_x]={
{" "," "," "," "," ","#"," "," ","#","#"},
{" "," "," "," "," "," ","#"," ","#","#"},
{" "," "," ","#","#","#"," ","#"," "," "},
{" "," ","#","#"," ","#"," "," "," "," "},
{" "," "," ","#"," "," ","#"," "," "," "},
{" "," "," "," "," "," "," "," "," ","#"},
{" "," "," "," ","#"," "," "," "," "," "},
{" "," ","#"," "," ","#"," "," "," ","#"},
{" "," ","#","#"," ","#"," "," "," ","#"},
{"#"," "," "," "," "," "," "," "," "," "}};
print_map(map);
ここにプログラムを書く
return 0;
}
ここにプログラムを書く
3] 環境
[3.1] Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C++
[4] 期限: 2011年12月11日24時
[5] その他の制限: 標準ライブラリは使ってはいけない,再起関数までしか習っていない、
475:デフォルトの名無しさん
11/12/11 21:42:05.65
>>472
2度手間になるから、できたところまでのソースくださいな
476:デフォルトの名無しさん
11/12/11 21:52:09.40
>>473
実行時に説明文とか出力してないから実行しても何も動作してないように見えるが、
入力ファイル エンター
出力ファイル エンター
ってすれば最後まで処理走るよ、
文字列入力使わないってニュアンスでgets()以外の方法ってんなら、
後はmain()の引数argvにファイル名を持たせるとか、いっその事ファイル名もコードに決め打ちとか
まあ自分でprintf文で説明文埋め込んだりして使用者の事考えるのもいい勉強になるよ
477:デフォルトの名無しさん
11/12/11 21:53:26.77
>>473
gets(in_file)
↓
fgets(in_file, sizeof(in_file), stdin)
・・・まあテキトーにコト書いてて、試してないが。
478:458
11/12/11 21:59:31.11
>>476
ありがとうございます。
10,15,20...とかだと上手く結果が出ません。
また、新しいファイルに書き込まれるものが、1,2,3,4,5,6,...とただ続くものになってしまいます。
新しいファイルには8×8の配列で書き込んで欲しかったのですが。
479:デフォルトの名無しさん
11/12/11 22:05:07.17
>>474
おー、AOJでやったなぁ…どれどれ、問題0067だな( ´∀`)
>[5] その他の制限: 標準ライブラリは使ってはいけない
むちゃいいうなよ(´・ω・`)
480:466
11/12/11 22:12:46.41
>>479
すいません標準ライブライの意味がよくわかりません。
ここにプログラムを書くの所を埋めるかんじです。
481:432
11/12/11 22:18:52.45
>>451
それがpgmファイルの読み書きは習ってないんです
482:デフォルトの名無しさん
11/12/11 22:30:55.07
>>432 こんなカンジのでえーのん?
URLリンク(loda.jp)
これはpngだけど。
483:472
11/12/11 22:41:16.66
#include<stdio.h>
#include <string.h>
FILE *fp;
char buffer[1000];
char name[100][10];
char list[50];
int b,n1,n2,a1,a2,list;
int main(void){
if((fp=fopen("text.txt","r"))==NULL){
printf("error!\n");
exit(1);
}
n1=0;
n2=b;
while((buffer[b]=getc(fp))!=';'){
printf("%s",buffer);
}
for(b=0;b<1000;b++){
if(buffer[b]==' '){
b=b+1;
}
else{
strcpy(name[n1][n2],buffer[b]);
}}
printf("name:%s",name);
fclose(fp);
return 0;
}
484:479
11/12/11 22:51:12.74
>>474,480
今日の24時までという大変厳しい条件ゆえ、
過去につくったものをそのまま流用したが、
問題あったら他にも作ってくれる人いるだろうからそっちを使ってね(´・ω・`)
URLリンク(codepad.org)
485:デフォルトの名無しさん
11/12/11 23:11:28.45
/* >>472 >>483 できるだけ崩さずにやってみた */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
FILE *fp;
char buffer[1000];
char name[100][10];
int n1;
int main(void){
int i;
if((fp=fopen("text.txt","r"))==NULL){
printf("error!\n");
exit(1);
}
for (n1 = 0; fgets(buffer, sizeof(buffer), fp); n1++)
sscanf(buffer, "%s", name[n1]);
for (i = 0; i < n1; i++)
printf("name:%s\n",name[i]);
fclose(fp);
return 0;
}
486:472
11/12/11 23:15:07.91
ありがとうございます。
487:デフォルトの名無しさん
11/12/11 23:23:47.08
レナたん
URLリンク(www.lenna.org)
「Muirheadは、100ライン/インチの固定解像度を持っていたが、彼らは512×512イメージを望んだた
め、走査を画像のトップ5.12インチに制限したので、ちょうどモデルの肩で画像が切れてしまったとい
うわけさ」
「1997年のSociety for Imaging Science and Technology 50周年記念会議にゲストとして招かれた。
彼女はサインをし、写真撮影に応じ、自己紹介をするなど非常に多忙であった。」
「現在ストックホルム近郊にすみ、政府所有の酒専売店で働いている。彼女は結婚しており、3人の子
供たちがいる。」
488:デフォルトの名無しさん
11/12/11 23:26:55.67
C++で、ファイルオープン使って画像ファイルを読み込むことはできますか?
コンソールアプリケーションで書いているんですが、無理ですかね??
489:デフォルトの名無しさん
11/12/11 23:31:15.09
>>488
できるよ
jpeg とかは自分でデコードしようとすると大変だけど
490:デフォルトの名無しさん
11/12/11 23:38:57.16
ああ、lennaタンか。lenaと勘違いをしてた(^^;;
画像ファイルを扱うのは既存のライブラリ使うのが楽そうですけどねぇ。
Cだったら日本語の説明でImageMagicの使い方とかありそう。
とか言いつつ、PNMのP2とP5の読み込み「だけ」できるの作ったけど。
エラーチェックが酷いので晒せないわ。
暇つぶしになりました。おやすみー。
491:472
11/12/12 00:59:22.29
472のものですが、問題はname[n1][n2]という二次元配列に格納するプログラム
です。
name[n1]は1次元配列ではありませんか?
492:デフォルトの名無しさん
11/12/12 01:00:12.38
>>490
もしかして16時ごろからやってた人?
まぁ、勉強になったならいいか
493:デフォルトの名無しさん
11/12/12 01:15:21.10
>>491
for(i...の前にさ
printf("%c\n", name[0][0]);
ってのつけたしてみるとよいかもですね。
2次元配列中にちゃんと最初の文字入ってるでしょ?
494:472
11/12/12 01:21:25.52
ありました。
ありがとうございます。
495:デフォルトの名無しさん
11/12/12 04:40:06.25
>>432
URLリンク(ideone.com)
496:495
11/12/12 05:12:20.15
補足:一連の書き込みの人とは別人ですのであしからず。
497:495
11/12/12 06:19:15.57
>>495
すまない。バグ有りだった。
ラプラシアンの分岐忘れ修正。ついでに全方向化。
URLリンク(ideone.com)
498:デフォルトの名無しさん
11/12/12 07:21:26.25
民主党のマニフェスト
子供手当満額、公務員制度改革、最低時給1000円、消費税据置、高速道路無料化
小沢一郎 総理大臣なら全部やってくれるんじゃ!?!
499:デフォルトの名無しさん
11/12/12 11:18:11.49
で、それがどうCの宿題として出題されたんだ?
500:デフォルトの名無しさん
11/12/12 11:32:52.41
過去の発言、撤回の履歴から、今喋ってる事の信頼性を推定せよ、とかだったら有るかも。
政治学、社会学あたりかな。
501:デフォルトの名無しさん
11/12/12 15:24:51.36
[1] 授業単元:配列とポインタ(アルゴリズム)
[2] 問題文(含コード&リンク):以下の実行例のように,文字列を入力すると,その前
後に"を付けた文字列を生成するプログラムを,ライブ
ラリ関数strcpy とstrcat を用いて作成せよ.ただし,
プログラムは以下の要件を満たすこととする
・ユーザに入力させる文字列を格納する配列をstr1[],前後に"を付けた文字列のための配列をstr2[] とする.
・ユーザに入力させる文字列は30 字までとする。
・配列str2[] は初期化せずに宣言し,ライブラリ関数strcpy とstrcat を使って(添字演算子[] を使わずに)前後に"を付けた文字列を生成すること.
実行例.
文字列を入力してください:Tokyo
文字列の前後に"を付けました。
str2:"Tokyo"
[3.1] OS: linux debian
[3.2] コンパイラ名とバージョン: gcc4.3.2
[3.3] 言語:C言語
[4] 期限: 12月13日 14時
[5] その他の制限:
502:デフォルトの名無しさん
11/12/12 15:38:51.14
char str1[30+1];
char str2[30+1+2];
/* str1 入力処理略 */
strcpy(str2, "\"");
strcat(str2, str1);
strcat(str2, "\"");
printf("文字列の前後に\"を付けました。\nstr2:%s\n", str2);
503:デフォルトの名無しさん
11/12/12 16:28:07.06
>>458,478
URLリンク(ideone.com)
504:デフォルトの名無しさん
11/12/12 19:05:02.15
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): 0から16までの整数を2進数変数で表記した時,
2^2 の桁の値を表示するプログラムを作成せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 無期限
[5] その他の制限: 特になし あまり難しくない表記で
505:デフォルトの名無しさん
11/12/12 19:15:36.38
printf("0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0\n");
506:デフォルトの名無しさん
11/12/12 19:17:34.72
>>504
^ってCでは排他的論理和だが、ひょっとして意図は階乗?
507:デフォルトの名無しさん
11/12/12 19:26:49.39
>>506
階乗のつもりでした、すみません。
508:デフォルトの名無しさん
11/12/12 19:29:06.21
>>504,507
#include <stdio.h>
int
main()
{
int i;
printf("元の数¥t2^2 の桁の値¥n");
for(i=0; i<16; i++)
printf("%d¥t%d¥n",i,(i/4)%2);
return 0;
}
509:デフォルトの名無しさん
11/12/12 19:37:04.18
>>508
どうもありがとうございます!
510:デフォルトの名無しさん
11/12/12 20:10:16.24
【質問テンプレ】
[1] 授業単元:バケツソート(アルゴリズム)
[2] 問題文(含コード&リンク): URLリンク(codepad.org)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 12月15日
[5] その他の制限: リンク先のコードの訂正をお願いします。
511:デフォルトの名無しさん
11/12/12 22:15:10.06
>>510
負の整数は考慮不要?
512:デフォルトの名無しさん
11/12/12 22:25:57.66
511>>
はい。
正の整数のみで4桁目は1~9で始まる仮定でお願いします。
513:デフォルトの名無しさん
11/12/12 22:39:48.38
>>501ですポインタでプログラム作成してください
おねがいします。
514:デフォルトの名無しさん
11/12/12 23:33:25.09
>>510
URLリンク(ideone.com)
515:デフォルトの名無しさん
11/12/12 23:38:35.99
>>501,513
>>502ではないが、mainを付加した。
>>501ですポインタでプログラム作成してください
strcpy, strcatを使ったら、ポインターは不要だが?
#include <stdio.h>
#include <string.h>
int
main()
{
char str1[30+1];
char str2[30+1+2];
printf("文字列を入力してください:");
scanf("%s",str1);
strcpy(str2, "¥"");
strcat(str2, str1);
strcat(str2, "¥"");
printf("文字列の前後に¥"を付けました。¥nstr2:%s¥n", str2);
return 0;
}
516:デフォルトの名無しさん
11/12/12 23:46:42.89
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):URLリンク(www1.axfc.net)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2011年12月13日18:00まで
[5] その他の制限:できれば高度な記述ではなく簡単な記述をしていただけたら有難いです
517:デフォルトの名無しさん
11/12/12 23:52:37.86
[1] 授業単元:誤差
[2] 問題文(含コード&リンク):
URLリンク(ideone.com)
問題1と問題2の誤差は、それぞれ 桁あふれ、打切り誤差、丸め誤差、桁落ち、情報落ち
のうちどれか。
また、問題2については誤差がない場合に本来期待される演算結果との比較も行え。
[3] 環境
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: c
518:デフォルトの名無しさん
11/12/12 23:57:15.63
URLリンク(img.pics.livedoor.com)
URLリンク(mamorenihon.files.wordpress.com)
URLリンク(blog-imgs-34.fc2.com)
URLリンク(tantawan.blog.so-net.ne.jp)
URLリンク(stat.ameba.jp)
URLリンク(livedoor.blogimg.jp)
519:デフォルトの名無しさん
11/12/13 00:24:29.93
>>516
URLリンク(ideone.com)
520:デフォルトの名無しさん
11/12/13 02:04:50.62
>>510
R[i]の代わりに、Q[i][0]を使った参考バージョン。
URLリンク(ideone.com)
521:デフォルトの名無しさん
11/12/13 03:56:47.54
>>506-507
スレチだが言っておく
^は普通べき乗を表す
階乗は!と書く
522:デフォルトの名無しさん
11/12/13 04:00:05.19
^がベキ乗とか!が階乗とかってBASIC文化っぽくて好きじゃない
523:デフォルトの名無しさん
11/12/13 04:08:22.68
>>517
オーバーフロー、アンダーフロー
「桁あふれ」でいいんじゃね?
signed char v;
unsigned char w;
524:デフォルトの名無しさん
11/12/13 04:08:36.97
>>522
アホか
525:523
11/12/13 04:13:53.98
途中で送っちゃった
正しい結果との比較は
signed char v;
unsigned char w;
をint型で書き換えること。
なんか問題の意図がよくわからんなあ。
526:デフォルトの名無しさん
11/12/13 23:19:48.68
[1] 授業単元:プログラミング言語Ⅰ
[2] 問題文(含コード&リンク):m行n列のテキストファイル(1.txt)をそれぞれ二次元配列に入れ、その配列から新しいテキストファイル(2.txt)に1.txtと同じ内容を出力するようなプログラムを作成せよ。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC 2008
[3.3] 言語:C
[4] 期限:2011年12月14日
[5] その他の制限:制御文・入出力・配列・ポインタ程度しか習っていないため、
複雑な演算子や構造体などを用いないシンプルな記述でお願いします。
527:デフォルトの名無しさん
11/12/14 01:12:32.19
>>525
wの誤差がない場合の本来の値は ー100,ー200,ー300ですか?
528:デフォルトの名無しさん
11/12/14 03:25:56.62
>>526
m,nは画面から入力?
テキストの最大長は?
529:デフォルトの名無しさん
11/12/14 14:09:06.76
>>526
何時まで?配列は整数? 区切り文字は? 配列の幅は固定?
仕様適当で「シンプルに」とか自分の要求まで入れて舐めてるの?
530:デフォルトの名無しさん
11/12/14 15:03:11.00
>>529
> 配列は整数? 区切り文字は?
この疑問が出る時点で想定してる内容と異なるものだろうと予測。
多分ただのテキストファイルだよ。
531:デフォルトの名無しさん
11/12/14 15:10:06.62
>>530
何言ってるんだお前は。デリミタ無かったらバイナリだろ。
532:デフォルトの名無しさん
11/12/14 15:11:43.33
>>526
URLリンク(ideone.com)
設定と入力のお好きな方をどうぞ
533:デフォルトの名無しさん
11/12/14 15:16:49.07
空白区切りもただのテキスト?
534:デフォルトの名無しさん
11/12/14 15:34:12.23
>>526
n文字の文字列がm個?
それとも、ある程度の長さの文字列がm*n個?
535:デフォルトの名無しさん
11/12/14 17:45:27.28
>>514 >>520
回答ありがとうございました。
剰余算とポインタがいまひとつわかりませんが、
自分なりに考えて見ます。
536:デフォルトの名無しさん
11/12/14 20:26:23.29
>>535
>剰余算とポインタがいまひとつわかりませんが、
例:数値4567から、
1回目:7を得たい ← (4567/1)%10 = 4567%10 = 7
2回目:6を得たい ← (4567/10)%10 = 456%10 = 6
3回目:5を得たい ← (4567/100)%10 = 45%10 = 5
4回目:4を得たい ← (4567/1000)%10 = 4%10 = 4
上記式中の、/1、/10、/100、/1000を、/xとして
int x=1;
ループ{
...
x*=10;
....
}
537:デフォルトの名無しさん
11/12/14 20:36:25.21
>>535
>ポインタ
520で、Q[i]は
Q[i][0] ← R[i}の代わり。
Q[i][1~31]にはデータが入る。
QをLIFOにしたため、F[i]が不要になった。
538: ◆QZaw55cn4c
11/12/14 21:14:56.22
>>532
>if( x < n ){ fprintf(fp," ");
この文、意図どおりに動いているか? x < n - 1 では?
>return (-1);
なぜ括弧でくくる?
>fprintf(fp," ");
>fprintf(fp,"\n");
fputc() を使いたい。
539:デフォルトの名無しさん
11/12/14 21:39:42.41
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):URLリンク(www.kent-web.com)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 2011年12月16日
よろしくお願いします。
540:デフォルトの名無しさん
11/12/14 21:41:34.80
>>538
>>if( x < n ){ fprintf(fp," ");
>この文、意図どおりに動いているか? x < n - 1 では?
これは確かにそうですね。修正しました。どうもです。
URLリンク(ideone.com)
>なぜ括弧でくくる?
見やすいと思いまして。
>fputc() を使いたい。
そうですか。
541:デフォルトの名無しさん
11/12/14 21:48:10.07
>>539
むしろその掲示板ってどっからたどり着くの?
542:デフォルトの名無しさん
11/12/14 21:51:29.81
>>388をお願いできませんでしょうか
分散などはOpenCV自体の関数だけで事足りるので大丈夫だったのですが
直接画素を触らなければならない最頻値などがどうにもうまくいきません
543:デフォルトの名無しさん
11/12/14 22:33:16.04
>>542
画素はRGB24bit?
544:デフォルトの名無しさん
11/12/14 23:45:44.91
>>543
はい、その通りです
予めビットマップとして取得してあります
545:デフォルトの名無しさん
11/12/14 23:48:10.90
[1] 授業単元:C++
[2] 問題文:キーボードから元金、返済回数(月数)、利率(年利)を入力し、元金均等払いの1回から指定回数までの支払額、利息、残高を表示する。
URLリンク(s2.etowns.slyip.net)
[3] 環境
[3.1] OS:(Windows
[3.2] コンパイラ名とバージョン:VC2010
[3.3] 言語: C++
[4] 期限: 12月16日
pdfで大変申し訳ないんですがよろしくお願いします。
546:デフォルトの名無しさん
11/12/15 00:09:18.74
>>545
アクセスが許可されていません。
以下の理由が考えられます。
・外部から直接呼び出された場合
・リファラーが返されていない場合
・indexファイルが存在していない場合
・適切なパーミッション(属性)が与えられていない場合
9秒後に、自動的に 無料でEタウン に戻ります。
Sorry, Access is not admitted.
The following reasons are thought about.
.When there is not an index file
.When it was called directly by the outside
.When appropriate access permission (an attribute) is not given
547:デフォルトの名無しさん
11/12/15 00:10:54.13
>>539
URLリンク(ideone.com)
548:デフォルトの名無しさん
11/12/15 00:14:52.72
法政のやつかな
申し訳ないと思うならそれくらい手打ちしたらどうだ
549:デフォルトの名無しさん
11/12/15 00:28:02.99
>>546
>>1を見て
URLリンク(s2.etowns.slyip.net)
ここからDLしろ
550:545
11/12/15 00:32:34.16
pdfの中身を打つと
元金?20000
回数(月数)?15
利率(%)?5
回数 支 払 額 利 息 残 高
1 14171 833 186662
2 14110 777 173329
3
4
5
6
7 ・ ・ ・
8 ・ ・ ・
9 ・ ・ ・
10
11
12
13
14
15 0
合計 206659 6659
続行するには何かキーを押してください
こんな感じのプログラムを作る課題がでました
.>>548
法政です!びっくりしました
551:デフォルトの名無しさん
11/12/15 00:57:13.83
>>545
法律上の計算はわからん。
URLリンク(ideone.com)
552:デフォルトの名無しさん
11/12/15 01:02:09.98
>>551
うおおおありがとうございます!!!!
553:デフォルトの名無しさん
11/12/15 01:16:39.78
>>547
ありがとうございます!助かりました。
554:デフォルトの名無しさん
11/12/15 01:51:51.45
>>544
ゴリ押しでならどういう手順の処理かは分かるけど、
さすがにCは面倒すぎだわ。
555:デフォルトの名無しさん
11/12/15 03:32:37.59
総相 川端達夫 帰化人。 在日韓国人法的地位向上議員連盟
法相 平岡秀夫 帰化人。 在日韓国人法的地位向上議員連盟
文科相 中川正春 在日韓国人法的地位向上議員連盟
厚労相 小宮山洋子 帰化人。 在日韓国人法的地位向上議員連盟 自身の選挙区の太平建設と談合
国家戦略相 古川元久 パチンコ協会政治アドバイザー
556:デフォルトの名無しさん
11/12/15 11:20:28.26
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
氏名、体重、身長の入力を受けつけ、ファイル
に書き込むプログラムをかけ。
[3] 環境
[3.1] Windows
[3.2] visual C++2005
[3.3] C
[4] 2011/12/22
557:デフォルトの名無しさん
11/12/15 12:47:30.20
>>556
入力の形式と出力ファイルの形式は?
558:デフォルトの名無しさん
11/12/15 12:51:04.82
適当に決めてもらっていいです
559:デフォルトの名無しさん
11/12/15 15:29:21.33
>>556
URLリンク(ideone.com)
560:デフォルトの名無しさん
11/12/15 18:51:53.83
>>544
vc未確認
URLリンク(ideone.com)
561:デフォルトの名無しさん
11/12/15 23:25:23.59
>>559
ありがとうございました!
562:デフォルトの名無しさん
11/12/16 11:15:59.57
[1] プログラミング実習応用
[2] ファイル"tmp.csv"を入力ファイルとして、座標(x,y)の組を終端まで読み込み、
x,yそれぞれの平均値(重心)を計算して、画面上に表示するプログラムを作成せよ
□"tmp.csv"は「関数y=x^3-xのグラフを描くため、定義域[-2,2]に対するyの値を0.1刻みで計算し、
結果をファイルに出力する」というプログラムで作ったファイルで、もう用意してあります。
□コンパイラの標準外の仕様による異常終了を避けるため、変数の宣言部分にダミーの変数を追加する。例えば、"double dummy=0.0;"(変数名や値は変えてよい)
[3] 環境
[3.1] Windows7
[3.2] VC2010
[3.3] C
[4] 2011年12月16日22:00まで
よろしくお願いします
563:デフォルトの名無しさん
11/12/16 13:06:08.01
VC2010にそんなバグがあんの?
564:デフォルトの名無しさん
11/12/16 19:03:13.02
>562
tmp.csvのうpよろ。
565:デフォルトの名無しさん
11/12/16 19:14:05.76
異常終了の原因は
配列の領域外をアクセスしたか
初期化していないポインタを使ってるんだろう
566:デフォルトの名無しさん
11/12/16 19:23:58.88
誰か俺にダミー変数の必要性を教えてくれ
567:デフォルトの名無しさん
11/12/16 19:38:49.98
>>566
ソースコードをパクられても決まった手順、コンパイラ、オプションでないと使えないようにできる