[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 10/23 23:03 / Filesize : 305 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:18:31 ]
あなたが解けない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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

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

【前スレ】
C/C++の宿題を片付けます 106代目
pc11.2ch.net/test/read.cgi/tech/1209810861/

2 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:19:20 ]
ファビョーン

3 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:20:28 ]
まだ残ってる問題どうぞ

4 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:28:35 ]
前スレ
C/C++の宿題を片付けます 107代目
pc11.2ch.net/test/read.cgi/tech/1211006255/

5 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:28:42 ]
前スレ>>963です,恐縮ながらもう一度書き込ませてもらいます.

[1] 授業単元:CプログラミングU
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6696.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C
[4] 期限: 2008/06/01
[5] その他の制限:構造体・再帰・関数などは習いました.
複雑すぎて全くわからないので,よろしくお願いします.

6 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:32:49 ]
[1] 授業単元:
[2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6697.txt
[3] 環境
 [3.1] OS: xp
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語: C
[4] 期限:緊急(最終期限:木曜深夜)
[5] その他の制限:習ってるのはポインタ、配列、関数の初歩程度です。
なのでレベルを合わせたプログラムを書いていただけると助かります

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6692.txt
以上の解答をいただいたのですがやはりビットマスクはだめのようです
ビットマスクのとこを配列でやる。
takaraにいっぱい詰め込む必要はないそうです

自分で一日ねばってもできませんでした
どうかお願いしますm(_ _)m

7 名前:デフォルトの名無しさん [2008/05/28(水) 22:33:18 ]
[1] 授業単元: C
[2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6701.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Cygnus
 [3.3] 言語: C
[4] 期限: 今週まで
[5] その他の制限:配列使用ですが、あまり複雑にならないほうが嬉しいです。

お願いします


8 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:37:32 ]
>>pc11.2ch.net/test/read.cgi/tech/1211006255/991
fliableだろ、とおもったけど、要求仕様がflyableだった罠。ゴメーヌ

9 名前:デフォルトの名無しさん [2008/05/28(水) 23:03:56 ]
[1] 授業単元:c言語実習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6702.txt
[3] 環境
 [3.1] OS:Windows vista
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語:c
[4] 期限:2008.5.28(今日中お願いします)
[5] その他の制限:配列は使っても大丈夫です。
for、while、ifなど初歩的なものだけでお願いします。


10 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:04:45 ]
前スレ>>778から、再度書き込み失礼しますm(__)m
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):
Dijkstraのアルゴリズム解法を実現するプログラムを作成し、コンパイルして実行せよ。
このとき、グラフ中の指定頂点(ここでは頂点0)に対して、全ての頂点への最短経路コストと最短経路を標準出力に表示すること。
〜Graph〜
#define NC 9999
#define N 6
int edge[N][N] = {
  /* src:     0   1   2   3   4   5   ...dst */
  /* 0 */  {  0, NC, NC,  8, 15, NC},
  /* 1 */  { 10,  0, 24, NC,  8, NC},
  /* 2 */  { NC, NC,  0, NC, NC,  6},
  /* 3 */  { NC, NC, NC,  0,  5, NC},
  /* 4 */  { NC, NC, 12, NC,  0,  7},
  /* 5 */  { NC, NC,  3, NC, NC,  0}
};
〜Result Sample〜
Result (from 0)
To 0 : ---
To 1 : No Path
To 2 : cost 23 : 2 <- 5 <- 4 <- 3 <- 0
To 3 : cost  8 : 3 <- 0
To 4 : cost 13 : 4 <- 3 <- 0
To 5 : cost 20 : 5 <- 4 <- 3 <- 0
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名: gcc
 [3.3] 言語: C
[4] 期限: 2008/05/29(Thu)

よろしくお願いします。。。



11 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:17:01 ]
[1] 授業単元:応用プログラム〜C言語講座
[2] 問題文(含コード&リンク):
身長(cm)と体重(kg)を「ヤードポンド法」に換算するプログラムを作成せよ。
(作成要項)
・グローバル変数は使用しないこと。
・身長を計算する関数「身長を引数、変換結果を戻り値とする」
 体重を計算する関数「体重を引数、変換結果を戻り値とする」
 2つの関数を作成すること。
・身長は○フィート○インチと表示すること。
・体重は○ポンドと表示すること。

なお、変換するヤードポンド法は以下の関係である。
1ヤード=3フィート=91.44cm
1フィート=12インチ=30.48cm
1インチ=2.54cm
1ポンド=0.45359237kg

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: cygwin gcc
 [3.3] 言語: C言語
[4] 期限: 2008/5/29 PM1:00までの急ぎでお願いします。m(_ _)m

12 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:21:54 ]
>>7
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6703.c

13 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:28:12 ]
>>9
電話番号
#include<stdio.h>

int main(void)
{
int i;
char phonenum[16];

printf("電話番号を入力してください:");
gets(phonenum);

printf("市外局番:");
for(i=0;phonenum[i]!='-';i++) {
printf("%c", phonenum[i]);
}

printf("\n市内局番:");
for(i+=1;phonenum[i]!='-';i++) {
printf("%c", phonenum[i]);
}

printf("\n加入者番号:");
for(i+=1;phonenum[i]!=NULL;i++) {
printf("%c", phonenum[i]);
}

return 0;
}


14 名前:デフォルトの名無しさん [2008/05/28(水) 23:32:26 ]
>>12
ありがとうございます。

15 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:33:57 ]
>>11
#include<stdio.h>
#include<math.h>
double to_feet(double cm) { return cm/30.48; }
double to_pond(double kg) { return kg/0.45359237; }
int main()
{
double cm, kg, feet, pond;
printf("身長[cm]:"); scanf("%lf", &cm);
printf("体重[kg]:"); scanf("%lf", &kg);
feet = to_feet(cm);
pond= to_pond(kg);
printf("%g[cm]=%dフィート%gインチ\n", cm, (int)floor(feet), (feet-floor(feet))*12);
printf("%g[kg]=%gポンド\n", kg, pond);
return 0;
}

16 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:35:26 ]
[1] 授業単元:C++実習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6704.txt ソース
                  kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6698.txt 問題文
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:VC6.0
 [3.3] 言語: C++
[4] 期限: [無期限]
[5] その他の制限:無し
実行したところエラーが。脳の限界です。エラー内容なソースの一番先に記載しています。


17 名前:デフォルトの名無しさん [2008/05/28(水) 23:37:32 ]
>>13
こちらの説明不足なのですが、
#include<stdio.h>
void main(void)
から始まり
return 0とgetsは使わないでお願いしたいのですが・・・


もう1つの方もgetsやreturnなど使わないでほしいです。


18 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:41:12 ]
[1] 授業単元:画像処理U
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6705.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual Studio 6.0
 [3.3] 言語:C++
[4] 期限:5月29日午前5時までにお願いします。
[5] その他の制限:他の課題を参考にお願いします。

19 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:44:31 ]
>>17
もう失格でいいよ

20 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:52:02 ]
>>17
点数
#include<stdio.h>

int main(void)
{
int point, ave, high=0, low=100;

while(1) {
printf("点数を入力してください(-1がデータの終了値) ");
scanf("%d", &point);
if(point == -1) {
break;
}
if(high < point) {
high = point;
}
if(point < low) {
low = point;
}
}

ave = (high + low) / 2;

printf("平均点:%d\n", ave);
printf("最高点:%d\n", high);
printf("最低点:%d\n", low);

return 0;
}




21 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:55:13 ]
>>17
void main(void)
を教えてられてるの? そこやめな。
その一方、gets禁止はまともだけど。

22 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:57:40 ]
>>21
gets禁止というか、この雰囲気だとscanf推奨だと思う。
てかmainの戻り値voidにしたら警告でないか?

23 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:58:11 ]
7月9日 コミュニケーション休講
6月4日 コミュニケーション補講

[1] 授業単元:
[2] 問題文(含コード&リンク):
対象となる整数の数nを最初に入力する.
最初の整数に続き、n個の整数を入力する.
入力されたこのn個の整数の中で,二番目に小さい値を表示するプログラムを作成しなさい.
ただし,最初に入力される整数の数n,及びそれに続いて入力されるn個の整数は,いずれも100を超える数も1以下の数も与えられることはないとしてよい.
以下の点に注意すること.
・最小値をとるデータが二つ以上ある場合には,最小値、二番目に小さい値もともにその最小値をとるものとします.
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:2008年05月28日18:00
[5] その他の制限:ポインタまで学習済みです

24 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:59:27 ]
>>16
戻り型(bool)を記述すること。
bool bGeteatable(){ return( eatable ); }
bool bGetflyable(){ return( flyable ); }

25 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:59:38 ]
>>17

void main(void)
{
int point, sum=0, ave, high=0, low=100, cnt=0;

while(1) {
printf("点数を入力してください(-1がデータの終了値) ");
scanf("%d", &point);
if(point == -1) {
break;
}
cnt++;
sum += point;
if(high < point) {
high = point;
}
if(point < low) {
low = point;
}
}

ave = sum / cnt;

printf("平均点:%d\n", ave);
printf("最高点:%d\n", high);
printf("最低点:%d\n", low);
}


26 名前:21 mailto:sage [2008/05/29(木) 00:02:54 ]
空気よめなかった。fgets必須かと勘違いしてた。orz...

27 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 00:08:35 ]
>>23
#include<stdio.h>
int main()
{
int n, i, x, min=101, min2=101;
printf("n="); scanf("%d", &n);
for(i=0; i<n; i++) {
scanf("%d", &x);
if(x<min) { min2=min; min=x; }
else if(x<min2) { min2=x; }
}
printf("二番目に小さい値は");
if(n == 1) printf("ありません。\n");
else printf("%dです。\n", min2);
return 0;
}

28 名前:デフォルトの名無しさん [2008/05/29(木) 00:15:02 ]
>>22

まだmainしか使ってるところまでしかやってないので大丈夫なんだと思います。

29 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 00:24:09 ]
思わなくていいです。

30 名前:デフォルトの名無しさん [2008/05/29(木) 00:35:02 ]
>>29
void main(void)
はダメだということは覚えておきます。



31 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 00:42:50 ]
>>16
なんで前スレみないの?
死ぬの?
むしろしねよ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6700.cpp

32 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 01:19:30 ]
>>30
ダメだということを覚えることに加え、int main(void)とすることを実践してください。
今回の課題でもそうしてください。
戻り値の型がintになるため、正常終了時は0を、そうでない場合には
0以外(1など)を返却するようにしてください。

また、入力された値をとる手段ですが、今はscanf一辺倒でもよいです。
scanfが良い手段では無い事がよくあることも気に留めておいてください。

33 名前:863 mailto:sage [2008/05/29(木) 01:23:12 ]
前スレの>>945の方 >>946の方
どうもありがとうございます

34 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 01:36:53 ]
%.*sってなに?

35 名前:34 mailto:sage [2008/05/29(木) 01:45:42 ]
自己解決しました。精度を動的に指定できたんですね。
全然知らなかった。。。

36 名前:デフォルトの名無しさん [2008/05/29(木) 02:35:34 ]
どなたか>>5をお願いします

37 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 02:54:29 ]
>>5
問題ある仕様だな。
コンソールでの金額入力は、実際の券売機と違っていつでも投入できるわけじゃない。
書いてあるように最初に投入を強制されるのでは、いったいいくら入れればいいのかわからず、
もし投入した金額が、ほしい乗車券に足りなければ一回キャンセルして最初からやり直すしかない。
こんな糞仕様ではプログラム作りたくありません。と書いて出そうぜ。

38 名前:デフォルトの名無しさん [2008/05/29(木) 03:23:21 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6710.txt
[3] 環境
 [3.1] OS: windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: C言語
[4] 期限: 2008/5/30
[5] その他の制限: 特になし

よろしくお願いします

39 名前:デフォルトの名無しさん [2008/05/29(木) 03:45:19 ]
[1] 授業単元:Windous Programming
[2] 問題文(含コード&リンク):
限界まで新規ウィンドウを開き続けるプログラムを完成させなさい。ただし、
1.開くウィンドウの閉じるボタン(通常右上に配置される[x]ボタン)は無効にすること。
2.限界まで開いたら、開いたウィンドウを全て閉じてきちんと後始末すること。
3.開いたウィンドウ数をカウントしておき、最後に「あなたのマシンの窓力はxxxです。」
(xxxには数値が入る)とダイアログで表示して終了すること。
[3] 環境:WindowsXP, VC++, C++
[4] 期限: 昼までに
[5] その他の制限: 特になし


40 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 08:00:28 ]
よろしければ>>18お願いします。急いでます。



41 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 08:08:40 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6712.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2008年05月29日18:00まで
[5] その他の制限: なし



42 名前:デフォルトの名無しさん [2008/05/29(木) 08:11:16 ]
>>37
下に書いた実行例は私が問題文から考えた文章なので,もし>>37さんのいうように
無理で大変なことが書いてあれば実行例などは無視してもらって構わないので
してはもらえないですかね?本当に困っていますので,よろしくお願いします.

43 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 08:41:57 ]
>>41
問題2の実行例おかしくないか?

44 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 09:21:33 ]
>>41
問題1
#include <stdio.h>
int main(void)
{
char str[81], *p;
scanf("%s", str);
for(p=str; *p; ) {
if(*p!='A') p++;
else if(*++p == 'T' && *++p == 'G') break;
}
printf("%s", *p ? "OK" : "NG");
return 0;
}
問題2
#include <stdio.h>
int main(void)
{
char str[9], *p;
int i, n = 0;
scanf("%s", str);
for(i=0; str[i]; i++) if(str[i]!='_') n = n * 10 + str[i] - '0';
printf("%d", n / 7);
return 0;
}


45 名前:デフォルトの名無しさん [2008/05/29(木) 10:25:33 ]
[1] 授業単元: C
[2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6706.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Cygnus
 [3.3] 言語: C
[4] 期限: 今日17:00まで
[5] その他の制限:配列使用ですが、あまり複雑にならないほうが嬉しいです。

お願いします

46 名前:デフォルトの名無しさん [2008/05/29(木) 10:42:22 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):実数がどのように保存されているか表示する。(txt)
1行16バイトで表示。
[3] 環境
 [3.1] OS: windows
 [3.2] コンパイラ名とバージョン: visual studio
 [3.3] 言語: C言語
[4] 期限: 2008/5/31
[5] その他の制限: 特になし


47 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 10:43:14 ]
>>46
問題の意図、意味が分からん

48 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 10:50:39 ]
[1] 授業単元:プログラミング
[2] 問題文:
 (1)int 型の配列 vx の要素に順に 0 以外の 5 つの整数をキーボードから読み込んで,
 (2)vx[0] から vx[4] の逆数(1/vx[0], ... ,1/vx[4])を順に double 型の配列 vy[0]からvy[4]に代入して
 (3)vy の要素を順に表示するプログラムを作成せよ.
 なお,(1)と(2)はひとつの for 文の中に含めても良いが,(3)は別のfor文を使って書け.
 配列 vy の型は double であり,計算も double で行うことに注意。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008/06/03
[5] その他の制限:特になし


49 名前: ◆ob60wHXQlc [2008/05/29(木) 11:00:54 ]
【質問テンプレ】
[1] C言語
[2] ファイル中身を昇順でソートする。
  いっきに読み込むのは禁止で、fread,fseekなど
  を使って1レコードずつ読み込む。
  例えば、ファイルの中身が"5,1,4,3,2"だとしたら、
  まず"5"をある変数に入れ、次に"1"を別の変数に入れる。
  小さい方を最初の変数に残しながら、ソートしていく。
[3] 環境
 [3.1] Windows
 [3.2] Vidual Studio
 [3.3] C
[4] できれば今日の夕方前でお願いします。
[5] C言語始めて2週間です。もう訳がわかりません。
  お願いします!


50 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:11:59 ]
>>46
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6714.c
ファイルのダンプ、1行に16個表示でエスパーしてみる



51 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:13:20 ]
>>49
ファイルの中身を具体的に。どういうファイルか?
5,1,4,3,2はどのような形式で記録されているのか?

52 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:37:21 ]
なんだなんだ、結局エスパーしろってことか・・・

53 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:39:39 ]
>>49
次に別の変数に入れるとか、何のために?
ソートの結果はどのようにするのがお望みで?
単に表示するだけ?それとも、並び替えたデータをファイルに出力???

54 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:48:02 ]
この問題作った奴殴りたい

55 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:55:04 ]
やむを得ん、エスパーするか・・・

56 名前: ◆ob60wHXQlc [2008/05/29(木) 11:55:20 ]
>>51>>53
ファイルの中身にどういう風に入ってるかは、
当日まで教えてもらえないんです。
いくつかの数字が入っていて、
1レコードずつ読み込みながら、
昇順で並び替えたデータをファイルに出力。
という問題です。


57 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:55:23 ]
殴るべきなのは問題作ったやつじゃないはずだ。
きっともとの問題文はエスパー不要のはずだ。

58 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:57:26 ]
>>56
教えてもらえないのはどういう値が入ってるかでしょ。
どんな形式で入ってるかが分からない限り、ファイルは読めないよ。

ところで、レコードってなに?

59 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:57:38 ]
なるほど、と言うことは問題文をまんま書いて貰わないと駄目だな

60 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:58:03 ]
>>49
freadで1レコードずつ読み込むってことは、1レコードの大きさは固定ということ?



61 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:59:36 ]
バイナリーデータにint型で順に記録されているとエスパーしてみる

62 名前: ◆ob60wHXQlc [2008/05/29(木) 12:03:20 ]
>>60
1レコードの大きさは固定でunssigned shortです。


63 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 12:04:29 ]
>>62
そ・れ・を・さ・き・に・い・え

64 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 12:09:09 ]
チクショウ>>57が正解か
>>49は変な要約しないで問題文を正確に書き出せよコンチクショウ

65 名前: ◆ob60wHXQlc [2008/05/29(木) 12:13:15 ]
>>64
口頭だったので問題文はないんです。
すいません。

66 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 14:33:41 ]
>>65
喫煙者じゃないってことをアピールしたの?
どこで吸う吸わないの話になったの?

67 名前: ◆ob60wHXQlc [2008/05/29(木) 14:42:55 ]
>>66
問題は、言われたことをメモしただけで元の文章がないので、
正確に書き出せない、っていう話なんですが。
喫煙者とかまったく関係ないです。

68 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 14:48:01 ]
ならメモを正確に書き込め
無理ならスキャナやデジカメを使ってうpしろ

69 名前: ◆ob60wHXQlc [2008/05/29(木) 14:53:08 ]
メモしたことは、>>49>>56>>62で全部なんです‥‥。


70 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 14:57:07 ]
一気に読み込むのが禁止だったり、比較の仕方が曖昧だったり
ぶっちゃけ、かなり面倒なことをさせるもんだと・・・
一度、全部読み込ませて欲しい



71 名前: ◆ob60wHXQlc [2008/05/29(木) 14:59:44 ]
ですよね‥。
一気に読み込まずに、どういう方法でもいいので
昇順に並び替えて出力、ってできたらお願いします。

72 名前:デフォルトの名無しさん [2008/05/29(木) 15:02:10 ]
yt^^yt^^yt^^yt++yt++yt++yt^^yt^^yt^^yt++yt++yt++yt^^yt
^^yt^^yt++yt++yt++yt^^yt++yt^^yt++yt^^yt++yt++yt++yt^^
yt^^yt^^yt++yt++yt++yt^^yt^^yt^^yt++yt++yt++yt^^yt^^yt^^
yt++yt++yt++yt^^yt++yt^^yt++yt^^yt++yt++yt++yt^^yt^^yt^^
yt++yt++yt++yt^^yt^^yt^^yt++yt^^yt++yt++yt++yt^^yt^^yt^^y
t++yt++yt++yt^^yt^^yt^^yt++yt++yt++yt^^yt++yt^^yt^^yt^^^^
yt++yt++yt++yt^^yt++yt++yt++yt^^yt++yt++yt++yt^^yt++yt++

キーボードの特定のボタンを押すと上記のような文字が勝手に入力されます。
ノートンでは検出されませんでした。どなたかこのウイルスの駆除の仕方を教えていただけませんか?


73 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:02:57 ]
つ OSの再インストール

74 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:23:35 ]
予測
・ファイルには固定レコード長(short int)のデータが保存されている。
・fread,fseekなどを使い、1レコード単位で読み込む。
・レコードを昇順に並べ替える。
・'変数'ではなく'配列の要素'だと思われる。
・バブルソートを使うのでは無かろうか。
・並べ替えたレコードをファイルへ保存する。

75 名前: ◆ob60wHXQlc [2008/05/29(木) 15:25:59 ]
そういう感じです!!!
ソートの種類は教えてくれないので、
わからないんですが‥。

76 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:28:58 ]
一気に読み込んではいけない、すなわち、配列に入れるのは駄目ぽかと?

77 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:30:32 ]
データベース見たいのかもね

78 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:40:46 ]
Cで経路探索のA*のプログラムはできますでしょうか?

他言語ならあるのですがcのみないのです・・・

一応c++の擬似コードのりんくを貼っておきます・・・・

d.hatena.ne.jp/octech/20070712




79 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 16:01:23 ]
>>75
チューリングマシンの概念演習だとエスパーしてみると、
ファイル1回スキャン毎に、最小値レコードを1件出力かな?
(もちろん前回の出力よりも大きいもの)
ファイル先頭に戻るのにfseek。


80 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 16:12:02 ]
>>78
できる

作ってくれって話なら>>1をよく読んで書き直し。



81 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 16:13:03 ]
>>45
>>12

82 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 16:38:07 ]
>>72
ホットキー列挙して該当するものをUnregisterHotKey

>>78
マルチおつ

83 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 16:50:26 ]
[1] ゼミ
[2] C言語によるA*アルゴリズム
[3] 環境
 [3.1] windowsのkterm
 [3.2] gcc
 [3.3] C
[4] 30日18時
[5] 制限は特にありません。できればコメントで動作内容を説明していただけるとありがたいです。


84 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 17:15:16 ]
>>83
A* ってのは探索アルゴリズムでしょ.
どんなところから何を探索すればいいの?

85 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 17:34:25 ]
>>84
グラフです。
自分でノード数、重み(距離)を設定し、
始点から終点までの最短距離と最短経路を出力する、という感じです。
たとえば
/* */
/* ->(1) ->(2) */
/* 8 <-(2) 1 <-(1) 2 */
/* */
/*(1)↓↑(2) (3)↓↑(1) (2)↓↑(2) */
/* */
/* ->(2) ->(1) */
/* 3 <-(3) 4 <-(3) 5 */
/* */
/*(2)↓↑(1) (4)↓↑(1) (7)↓↑(1) */
/* */
/* ->(2) ->(1) */
/* 6 <-(1) 7 <-(2) 9 */
/* */
のようなグラフを作ると
出力は

最短距離は 6
最短経路は 9->7->6->3->8

のようになります。

86 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 17:36:45 ]
見にくいな・・・

8--1--2
| | |
3--4--5
| | |
6--7--9

で、各ノード間に方向別の重みがついてます

87 名前:デフォルトの名無しさん [2008/05/29(木) 17:39:44 ]
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):

西暦年を引数に取り、閏年かどうか判定する
関数 is_leap_year() を用いて、
開始年と終了年を入れると、開始年、終了年およびその間の年に
閏年が何個あるか数えるプログラムを作成せよ。


[3] 環境
 [3.1] OS: (Windows)
 [3.2] 言語: (C++)
[4] 期限: 5/29


88 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 17:41:34 ]
>>86
うpしたほうがはやいっすね
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6715.txt

89 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 17:44:29 ]
>>85
テンプレの問題文っていうのは、そういうことを書く欄で、
グラフが単純とかそうでないとか,有向・無向とか,重みが正・負とか
グラフはどう作るとか、始点と終点はどれだとか、・・・
そういったプログラムを書く上で必要な情報を
一レスで分かるように整理するためにある。

>>83 はさっぱり意味を成していない。整理して書き直し。

90 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 17:49:39 ]
>>87
マルチ消えろ



91 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:12:47 ]
>>87
#include <iostream>
int is_leap_year(int y){
#define chk(y,n,x) if(!(y%n)){return x;}
chk(y,400,y);
chk(y,100,0);
chk(y,4,y);
return 0;
}
int main(){
using namespace std;
int y, y1, y2, count=0;
cout << "開始年:";
cin >> y1;
cout << "終了年:";
cin >> y2;
for(y=y1; y<=y2; y++){
if(is_leap_year(y)){
count++;
}
}
cout << endl << "合計:" << count << "回" <<endl;
}

92 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:14:40 ]
Zellerの公式を使えばもっとスマートに書けるんだけどな

93 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:19:14 ]
400から判定するのは効率が悪すぎ、というのは過去ログで既出

94 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:22:57 ]
>>1読んでない人へ。 コード出すか無視で。

95 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:23:36 ]
>>94 オマエモナー

96 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:28:17 ]
begin{どーでもいいうんちく}

マクロならば
#define ISLEAP(YEAR) ¥
((( (YEAR)% 4==0)||( (YEAR)%400==0))&&((YEAR)%100!=0))

として
boolean evaluation shortcut optimize optionを有効にして
コンパイルすれば(推奨しないけど)
Cコードで色々弄るよりか最適化されたコードが出るよん

#undef ISLEAP

end{どーでもいいうんちく)

97 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:29:28 ]
んなことせんで、普通に関数を作る。4で割り切れなきゃ弾け。
割れたら残りの100と400の判定を。

98 名前:デフォルトの名無しさん [2008/05/29(木) 18:36:06 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):行列の積を求めて表示する。
A、Bはn行n列の正方行列とする。(n>=2)
nを入力して行列要素を入力し、積A、Bを求めよ。


[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ名とバージョン:Vidual Studio2005
 [3.3] 言語: C
[4] 期限: 今日中
[5] その他の制限: 特になし

よろしくお願いします。







99 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:36:57 ]
>>96の式は間違い
( ( (YEAR) % 4==0)&&( ((YEAR) % 100!=0) || ((YEAR) % 400==0) ) )

100 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:38:08 ]
>>49
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6716.c
クソースでおじゃる。実行プログラム名の後ろに入力ファイル、出力ファイル名を指定して給う








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<305KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef