C/C++の宿題を片付けます 108代目at TECH
C/C++の宿題を片付けます 108代目 - 暇つぶし2ch2:デフォルトの名無しさん
08/05/28 22:19:20
ファビョーン

3:デフォルトの名無しさん
08/05/28 22:20:28
まだ残ってる問題どうぞ

4:デフォルトの名無しさん
08/05/28 22:28:35
前スレ
C/C++の宿題を片付けます 107代目
スレリンク(tech板)

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

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

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

URLリンク(kansai2channeler.hp.infoseek.co.jp)
以上の解答をいただいたのですがやはりビットマスクはだめのようです
ビットマスクのとこを配列でやる。
takaraにいっぱい詰め込む必要はないそうです

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

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

お願いします


8:デフォルトの名無しさん
08/05/28 22:37:32
>>スレリンク(tech板:991番)
fliableだろ、とおもったけど、要求仕様がflyableだった罠。ゴメーヌ

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


10:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/28 23:21:54
>>7
URLリンク(kansai2channeler.hp.infoseek.co.jp)

13:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/28 23:32:26
>>12
ありがとうございます。

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


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


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


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

19:デフォルトの名無しさん
08/05/28 23:44:31
>>17
もう失格でいいよ

20:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/28 23:55:13
>>17
void main(void)
を教えてられてるの? そこやめな。
その一方、gets禁止はまともだけど。

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

23:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/28 23:59:27
>>16
戻り型(bool)を記述すること。
bool bGeteatable(){ return( eatable ); }
bool bGetflyable(){ return( flyable ); }

25:デフォルトの名無しさん
08/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
08/05/29 00:02:54
空気よめなかった。fgets必須かと勘違いしてた。orz...

27:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/29 00:15:02
>>22

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

29:デフォルトの名無しさん
08/05/29 00:24:09
思わなくていいです。

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

31:デフォルトの名無しさん
08/05/29 00:42:50
>>16
なんで前スレみないの?
死ぬの?
むしろしねよ
URLリンク(kansai2channeler.hp.infoseek.co.jp)

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

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

33:863
08/05/29 01:23:12
前スレの>>945の方 >>946の方
どうもありがとうございます

34:デフォルトの名無しさん
08/05/29 01:36:53
%.*sってなに?

35:34
08/05/29 01:45:42
自己解決しました。精度を動的に指定できたんですね。
全然知らなかった。。。

36:デフォルトの名無しさん
08/05/29 02:35:34
どなたか>>5をお願いします

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

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

よろしくお願いします

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


40:デフォルトの名無しさん
08/05/29 08:00:28
よろしければ>>18お願いします。急いでます。

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



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

43:デフォルトの名無しさん
08/05/29 08:41:57
>>41
問題2の実行例おかしくないか?

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

お願いします

46:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/29 10:43:14
>>46
問題の意図、意味が分からん

48:デフォルトの名無しさん
08/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
08/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:デフォルトの名無しさん
08/05/29 11:11:59
>>46
URLリンク(kansai2channeler.hp.infoseek.co.jp)
ファイルのダンプ、1行に16個表示でエスパーしてみる

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

52:デフォルトの名無しさん
08/05/29 11:37:21
なんだなんだ、結局エスパーしろってことか・・・

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

54:デフォルトの名無しさん
08/05/29 11:48:02
この問題作った奴殴りたい

55:デフォルトの名無しさん
08/05/29 11:55:04
やむを得ん、エスパーするか・・・

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


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

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

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

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

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

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

62: ◆ob60wHXQlc
08/05/29 12:03:20
>>60
1レコードの大きさは固定でunssigned shortです。


63:デフォルトの名無しさん
08/05/29 12:04:29
>>62
そ・れ・を・さ・き・に・い・え

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

65: ◆ob60wHXQlc
08/05/29 12:13:15
>>64
口頭だったので問題文はないんです。
すいません。

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

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

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

69: ◆ob60wHXQlc
08/05/29 14:53:08
メモしたことは、>>49>>56>>62で全部なんです‥‥。


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

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

72:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/29 15:02:57
つ OSの再インストール

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

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

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

77:デフォルトの名無しさん
08/05/29 15:30:32
データベース見たいのかもね

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

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

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

URLリンク(d.hatena.ne.jp)




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


80:デフォルトの名無しさん
08/05/29 16:12:02
>>78
できる

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

81:デフォルトの名無しさん
08/05/29 16:13:03
>>45
>>12

82:デフォルトの名無しさん
08/05/29 16:38:07
>>72
ホットキー列挙して該当するものをUnregisterHotKey

>>78
マルチおつ

83:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/29 17:15:16
>>83
A* ってのは探索アルゴリズムでしょ.
どんなところから何を探索すればいいの?

85:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/29 17:36:45
見にくいな・・・

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

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

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

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


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


88:デフォルトの名無しさん
08/05/29 17:41:34
>>86
うpしたほうがはやいっすね
URLリンク(kansai2channeler.hp.infoseek.co.jp)

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

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

90:デフォルトの名無しさん
08/05/29 17:49:39
>>87
マルチ消えろ

91:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/29 18:14:40
Zellerの公式を使えばもっとスマートに書けるんだけどな

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

94:デフォルトの名無しさん
08/05/29 18:22:57
>>1読んでない人へ。 コード出すか無視で。

95:デフォルトの名無しさん
08/05/29 18:23:36
>>94 オマエモナー

96:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/29 18:29:28
んなことせんで、普通に関数を作る。4で割り切れなきゃ弾け。
割れたら残りの100と400の判定を。

98:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/29 18:36:57
>>96の式は間違い
( ( (YEAR) % 4==0)&&( ((YEAR) % 100!=0) || ((YEAR) % 400==0) ) )

100:デフォルトの名無しさん
08/05/29 18:38:08
>>49
URLリンク(kansai2channeler.hp.infoseek.co.jp)
クソースでおじゃる。実行プログラム名の後ろに入力ファイル、出力ファイル名を指定して給う

101:デフォルトの名無しさん
08/05/29 18:40:47
>>49
URLリンク(kansai2channeler.hp.infoseek.co.jp)
訂正したでおじゃる

102:デフォルトの名無しさん
08/05/29 18:45:49
[1] 授業単元:プログラミング演習
[2] 問題文:リスト構造の理解 ポインタを利用したリスト構造(連結リスト)には,
      「リストの途中でノードの追加や削除を行っても,他のノードはメモリ上で移動しない」
      という性質がある。このことを確認できるプログラムを作成せよ。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年6月9日10:00まで
[5] その他の制限: なし

よろしくお願いします。

103:デフォルトの名無しさん
08/05/29 18:57:28
>>49
URLリンク(kansai2channeler.hp.infoseek.co.jp)
バイナリーデータに数値を書き込むプログラムでおじゃる

URLリンク(kansai2channeler.hp.infoseek.co.jp)
ちょっと訂正したでおじゃる

104:デフォルトの名無しさん
08/05/29 19:04:06
[1] 授業単元:プログラミング演習
[2] 問題文:スタック,キューの理解(2)
下記のプログラムに必要な構造体や処理を実装し,「データファイル stackdata.txt, queuedata.txt を
読み込み,それぞれスタック,キューに格納させ,要素を一つずつ取り出して合計値を出力する」プログラムとして完成させよ。
プログラムファイル:URLリンク(kansai2channeler.hp.infoseek.co.jp)
stackdata.txt: URLリンク(kansai2channeler.hp.infoseek.co.jp)
queuedata.txt: URLリンク(kansai2channeler.hp.infoseek.co.jp)

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年6月9日10:00まで
[5] その他の制限: なし

こちらもどうかよろしくお願いします。


105:728
08/05/29 19:10:00
すみません、再書き込みです。
[1] 授業単元:データ構造とアルゴリズム
[2] 問題文(含コード&リンク):
 【n人のテストの得点に関する順位付け】(n人のテストの得点を降順に表示するプログラムです。)
 以下の関数にメインプログラムを付け、プログラムを実行せよ。実際何回の演算が行われたか数えるルーチンを追加すること。
 ①URLリンク(kansai2channeler.hp.infoseek.co.jp)
 ②URLリンク(kansai2channeler.hp.infoseek.co.jp)
 ③URLリンク(kansai2channeler.hp.infoseek.co.jp)
 データURLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:gcc g++
 [3.3] 言語: どちらでも可
[4] 期限: 5月27日24:00まで
[5] その他の制限:期限は過ぎてしまったのですが、出したいです。よろしくお願いします。



106:デフォルトの名無しさん
08/05/29 19:12:41
ほぉ、そんなに出したいのか。まぁ、適当に抜いておきな

107:デフォルトの名無しさん
08/05/29 19:16:02
>>105
っつか、構造体の概要は?ポインタで受け継いでアローじゃないって・・・

108:デフォルトの名無しさん
08/05/29 19:23:12
>>92
4 100 400 を使ってる時点でZellerの公式を使用しているよ。
そもそも課題ではis_leap_yearを自前で実装する必要ないし

109:デフォルトの名無しさん
08/05/29 20:00:28
[1] 授業単元:オペレーティングシステム
[2] 問題文(含コード&リンク):
シェルに定義されている環境変数の一覧表を表示するプログラムを作れ。
サンプルプログラムを参考にして作成すること。必ず子プロセスに実行させること。

///サンプルプログラム///
#include <stdio.h>

int main(int argc, char *argv[], char *envp[])
{
int i;
for (i=0; envp[i]!=NULL; i++)
printf("%s\n", envp[i]);
exit (0);
}

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:6月3日
[5] その他の制限:

前スレ961です。再度よろしくお願いします。


110:デフォルトの名無しさん
08/05/29 20:06:04
再々書きこみ本当にすみません.
>>5です.
[1] 授業単元:CプログラミングⅡ
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C
[4] 期限: 2008/06/01
[5] その他の制限:特になし.

自分なりに考えたのですが,やはり複雑すぎて全くわからなかったので,どなたか本当によろしくお願いします!

111:デフォルトの名無しさん
08/05/29 20:28:56
何時か知らないけど期限は日曜なんだろ?
そんな先の宿題を頻繁に催促されてもな

112:デフォルトの名無しさん
08/05/29 20:35:47
>>105
URLリンク(kansai2channeler.hp.infoseek.co.jp)
実際の演算の回数というのがよくわからなかったので放置してる。

>>107
アローじゃなくてもいいよ

113:デフォルトの名無しさん
08/05/29 20:39:16
>>110
何で何回も問題アップロードしてるん?
問題文が変更されてるの?

114:110
08/05/29 20:56:22
つべこべ言わずにさっさとやれや!

115:デフォルトの名無しさん
08/05/29 21:02:11
>>114
ははーわかりました。クマ略。

116:デフォルトの名無しさん
08/05/29 21:02:52
>>114!=>>110 ? 1 : 0;

117:110円
08/05/29 21:03:08
やりたくなきゃやらんで良い、>>1読めスルーしろ!

118: ◆DuoCt8/SKk
08/05/29 21:17:03
>>114>>110は別人です。それだけ言っておきます。
混乱させてすみません。

119:デフォルトの名無しさん
08/05/29 21:19:08
>>113
前に見たときとちょっと変わってるかも
したのほうに自分で努力した跡がある

120: ◆DuoCt8/SKk
08/05/29 21:21:56
>>111
スルーされてると思ってました。すみません。
>>113
問題文自体は変わってません。>>37さんの指摘で実行例などを変更したものと、自分でやってみたプログラムを書いた部分が違っています。何回も書いてしまいすみません。
>>117
もう書き込みません。ご迷惑をおかけしてすみません。
変な方が成りすましをしてるみたいなのでトリップをつけました、様々な迷惑をかけてしまったことを心よりお詫び申し上げます。

121:デフォルトの名無しさん
08/05/29 21:24:32
>>98
なんでnひとつの入力で積A,Bの2つが出るの?


122:デフォルトの名無しさん
08/05/29 21:41:35
>>120
スルーされてるかもと思ったら、そしらぬ顔で未解答問題一覧を作って書きこめばいいさ
スレが流れると未解答の問題探すのめんどくさいから、スルーされる可能性が高くなる

123:デフォルトの名無しさん
08/05/29 21:45:13
このスレを、どげんかせんといかん!

124:デフォルトの名無しさん
08/05/29 21:48:51
[1] 授業単元:
Cプログラミング
[2] 問題文(含コード&リンク):()
URLリンク(kansai2channeler.hp.infoseek.co.jp)
↑文字化けしてたらお手数ですがエンコード変更お願いします。。
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)

[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
6月2日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
連結リストを習っているところです。よろしくお願いします。

125:デフォルトの名無しさん
08/05/29 21:51:12
>>121
すいません!積ABでした。
A,Bだったら答えが二つってことになりますよね!
すいません

126:デフォルトの名無しさん
08/05/29 23:02:55
宿題リスト
5/29 >>6 >>98
5/30 >>38 >>83
6/1 >>5 
6/2 >>124
6/3 >>48 >>109
6/9 >>102 >>104

127:デフォルトの名無しさん
08/05/29 23:20:34
39も入れてやれよ。

128:デフォルトの名無しさん
08/05/29 23:21:23
期限切れじゃん

129:デフォルトの名無しさん
08/05/29 23:24:01
>>39完全にスルーしてたがあまりに酷い宿題なのでやるべきではないと思う。
つかこれ宿題じゃないだろ。

130:デフォルトの名無しさん
08/05/29 23:25:26
切符自販機作ってるけどしんどいなあ。

131:デフォルトの名無しさん
08/05/29 23:25:53
Windousがなんなのかわからなかった

132:デフォルトの名無しさん
08/05/30 00:07:51
>>5
URLリンク(kansai2channeler.hp.infoseek.co.jp)
めんどくさ、、、ではなくて、時間切れになりましたので、作れた分だけ
うpしておきました。
お金入れる、リセット、買う、回数券とか切替、終了を実装してます。
大人子供、まとめ買いは作ってないです。

それと、買える切符を黄色くするのと、画面クリアにエスケープシーケンス
使ってます。DOSで動くのか知らないので、ダメだったら他の方法に
変えてみてください。

133:デフォルトの名無しさん
08/05/30 00:08:43
ああ、あとコメントが少ないのは後で書くつもりだったからです。
これでもだいぶ足しましたorz

134:デフォルトの名無しさん
08/05/30 00:17:30
>>83
windowsのktermってなんだろ

135:デフォルトの名無しさん
08/05/30 00:22:18
>>126まとめたらそれで満足してた俺脂肪

136:デフォルトの名無しさん
08/05/30 00:40:56
>>125
これできないってやヴぁいだろ
俺の考え方があってればだけど

#include<stdio.h>
int main( void ){
    int n = 0;
    int AB = 0;
    puts("数字入力");
    scanf( "%d", &n );
    AB = n * n;
    printf( "%dx%dの正方形の面積は%dです。", n, n, AB );
   
    return( 0 );
}

137:>134
08/05/30 00:45:12
おそらくどこかのサーバーマシン(Linux系?)に繋いだ環境と思われ...

138:デフォルトの名無しさん
08/05/30 00:48:45
>>136
ありがとうございました。

139:yumi
08/05/30 00:54:18
>>124
URLリンク(kansai2channeler.hp.infoseek.co.jp)

じゃ、彼氏とHしてきまーす
(=⌒ー⌒=)ノ~☆・゜:*:゜バイバイ゜:*:゜・☆ヾ(=⌒ー⌒=)



140:デフォルトの名無しさん
08/05/30 01:03:04
>>136
ちょっと待てw

141:デフォルトの名無しさん
08/05/30 01:07:26
>>6
ぼーとしながらやったから、あんま自信ないけど
URLリンク(kansai2channeler.hp.infoseek.co.jp)

142:デフォルトの名無しさん
08/05/30 01:14:27
>>139
ハメ撮りうp(顔は不要)

143:デフォルトの名無しさん
08/05/30 01:24:42
>>98
期限切れてるけどこういう事じゃないのか?
URLリンク(kansai2channeler.hp.infoseek.co.jp)

144:デフォルトの名無しさん
08/05/30 01:38:35
>>137 = >>83さん?
そうなら動作環境にWindowsと書くのは非常にまずいのでは?

そういう意味では>>48のWindows+gccも結構な謎。
MinGWなの?

145:デフォルトの名無しさん
08/05/30 01:41:54
>>139
もすこし問題よめw
改変すりゃいいとこまで作ってるからいいっちゃいいんだけど、
多分依頼者からクレーム来るぜw

146:デフォルトの名無しさん
08/05/30 01:44:26
>>144
>>48じゃないけど
俺はスレの課題のときはwindows+gccだな。
cygwin使ってるからそれで足りる。

147:デフォルトの名無しさん
08/05/30 01:57:18
>>98
URLリンク(kansai2channeler.hp.infoseek.co.jp)
期限切れてるけど。

148:デフォルトの名無しさん
08/05/30 02:02:30
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):2個のサイコロの出目の和の分布で
*で表示せよ。
出力例
2 *
3 **
4 ***
5 ****
6 *****





10 ***
11 **
12 *
[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ名とバージョン:Vidual Studio2005
 [3.3] 言語: C
[4] 期限: できれば朝までに
[5] その他の制限: 特になし
どうかお願いします

149:デフォルトの名無しさん
08/05/30 02:08:35
>>148
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main(void){
int i, j, dice1, dice2;
int count[13]={0};

srand(time(NULL));
for(i=0;i<100;i++){
dice1=(rand()%6)+1;
dice2=(rand()%6)+1;
count[dice1+dice2]++;
}
for(i=2;i<=12;i++){
printf("%2d ", i);
for(j=0;j<count[i];j++) printf("*");
printf("\n");
}
return 0;
}

150:デフォルトの名無しさん
08/05/30 02:11:19
>>148

#include <stdio.h>
int main(void)
{
int i, j;
int dicesum[11] = {0,0,0,0,0,0,0,0,0,0,0};
// 2~12までの11種類
for (i = 0; i < 11; i++)
dicesum[i] = 0;
for (i = 1; i <= 6; i++) {
for (j = 1; j <= 6; j++) {
dicesum[i + j - 2]++;
}
}
for (i = 0; i < 11; i++) {
printf("\n%2d ", i + 2);
for (j = 0; j < dicesum[i]; j++)
putchar('*');
}
rewind(stdin);
getchar();
return 0;
}

151:デフォルトの名無しさん
08/05/30 02:12:33
5/30 >>38 >>83
6/1 >>5 
6/2 >>124
6/3 >>48 >>109
6/9 >>102 >>104

152:デフォルトの名無しさん
08/05/30 02:15:04
>>149 >>150
ありがとうございました!
助かりました!!!!!!!!!!

153:デフォルトの名無しさん
08/05/30 02:19:50
>>152
てことは望む結果が得られたと思えばよいか?
後でわめくなよ

154:デフォルトの名無しさん
08/05/30 02:27:33
>>153
>>150の方は結果的に望むような答えになりました!

155:デフォルトの名無しさん
08/05/30 02:36:57
>>143
いまいち私自身も問題の意味を理解してませんが
おそらくあっているとおもいます!
ありがとうございました!

156:デフォルトの名無しさん
08/05/30 02:55:19
>>142
どーせハッテン場の写真なんだから目の毒だぞ

157:デフォルトの名無しさん
08/05/30 03:22:52
>>139
がモノホンの女だとは信じたくはないが、女だとしたら...
女やりますか?人間止めますか?

158:デフォルトの名無しさん
08/05/30 07:09:24
>>129
何か問題でも?ただのジョークソフトでしょ。

159:デフォルトの名無しさん
08/05/30 09:08:31
そもそも「限界」の意味が分からない

160:デフォルトの名無しさん
08/05/30 09:13:06
>>158
スレタイ読める?

>>159
オープンダイアログでエラーが帰ってくるまででしょ

161:デフォルトの名無しさん
08/05/30 09:52:21
>>160
URLリンク(www.youtube.com)
> スレタイ読める?
当たり前でしょ、何言ってんの、スレタイ読めないなんてことあるかっ!

162:デフォルトの名無しさん
08/05/30 09:54:48
>>160
URLリンク(www.youtube.com)


163:デフォルトの名無しさん
08/05/30 09:56:25
>>161
日本語理解できる?

164:デフォルトの名無しさん
08/05/30 10:00:27
>>159
> そもそも「限界」の意味が分からない

> >>159
> オープンダイアログでエラーが帰ってくるまででしょ
日本語は読めるけど、意味がわかりましぇ~~んw

165:デフォルトの名無しさん
08/05/30 10:02:31
>>160
URLリンク(www.youtube.com)
んだゴルァー!

166:デフォルトの名無しさん
08/05/30 10:33:25
前スレの
>>960
ありがとうございます!


なのですが、
「関数 `isDegreeSequence' 内:」
「警告: 互換性のないポインタ型からの引数 4 個の `qsort' を渡します」
というのがでるのですがどうしてでしょうか?

167:デフォルトの名無しさん
08/05/30 10:52:30
>>166
qsort へ渡す関数のポインタの型は、int(*compar)(const void *, const void *) だからさ

168:デフォルトの名無しさん
08/05/30 11:12:50
Qsortくらい、自分で実装しようぜぃ トゥゲザーしようぜ
後のフェスティヴァル

169:83
08/05/30 12:47:51
再です

[1] ゼミ
[2] URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] windowsのkterm
 [3.2] gcc
 [3.3] C
[4] 30日18時
[5] 制限は特にありません。できればコメントで動作内容を説明していただけるとありがたいです

ktermはunix系のシェルです
それをwindows上で使ってます
printfでの日本語表示はできません

170:デフォルトの名無しさん
08/05/30 13:38:34
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):10円、50円、100円の3種類の硬貨で合計370円になる組合せは何通りあるか。
[3] 環境
 [3.1] OS:WindowsVista
 [3.2] コンパイラ名とバージョン:VisualStudio2008
 [3.3] 言語:C言語
[4] 期限:6月2日(月)16時
[5] その他の制限:多重ループを使ったfor文で作成。
if文使用可。

よろしくお願いします。

171:デフォルトの名無しさん
08/05/30 13:58:46
>>170
#include<stdio.h>

int main(void){
int coin100, coin50, coin10, total=370, count=0;

for(coin100=total/100;coin100>=0;coin100--){
for(coin50=(total-coin100*100)/50;coin50>=0;coin50--){
coin10=(total-coin100*100-coin50*50)/10;
if(coin100*100+coin50*50+coin10*10==total){
printf("100:%d 50:%d 10:%d\n", coin100, coin50, coin10);
count++;
}
}
}
printf("%d 通り\n", count);

return 0;
}

172:デフォルトの名無しさん
08/05/30 13:59:20
#include <stdio.h>
int main(void)
{
int i, j, k, count = 0;

for(i=0; i*100<370; i++) {
for(j=0; i*100 + j*50<370; j++) {
for(k=0; i*100 + j*50 + k*10<370; k++);
count++;
printf("100円:%d枚 50円:%d枚 10円:%d枚\n", i, j, k);
}
}
printf("以上%d通り\n", count);
return 0;
}


173:デフォルトの名無しさん
08/05/30 14:00:54
>>169
A* ってことはゴールへの距離の見積もりがあるはずなんだけど
何を見積もりに設定するの?
見積もりをゼロにして実質ダイクストラってことでいいの?

174:デフォルトの名無しさん
08/05/30 15:15:40
[1]C言語
[2]組・名前・国語の点数・算数の点数が入った構造体がある。
もし組が同じなら、国語の点数を足していって、
1組ごとの合計をファイルに出力して、また次の組も。(算数も同様に。)
[3] 環境
 [3.1]Windows
 [3.2]visual studio
 [3.3]C
[4]5月31日12:00
[5]キーブレイクというのをやらせたいみたいです。

175:83
08/05/30 15:38:03
>>173
各ノードにおいて見積もりを自分で決めていいそうです
(実際の距離よりも小さい値で)

リストは使わなくてもいいそうです

始点からの距離+見積もりが1番小さいノードを選択する
(ダイクストラのように距離が更新される)

といったものでよいそうです



176:yumi
08/05/30 15:58:29
>>124
問題よく読んでなかった~ゴメン(-人-;)(;-人-)ゴメン
修正しときました
URLリンク(kansai2channeler.hp.infoseek.co.jp)
あたしのPCコンパイラが入ってないので動作確認してません

マタネッ(^ー^)ノ~~Bye-Bye!

177:デフォルトの名無しさん
08/05/30 16:24:03
>>175
適当だからなんか間違いありそうだけど、うp
URLリンク(kansai2channeler.hp.infoseek.co.jp)

178:デフォルトの名無しさん
08/05/30 16:31:49
>>176
おつー

179:デフォルトの名無しさん
08/05/30 17:05:15
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):凸包構成、jarvisのマーチのアルゴリズムを使い、計算時間をO(nlogh)
で出来るものにしなさい(頂点数をhとする)。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc emacs
 [3.3] 言語:C言語
[4] 期限:6/20
[5] その他の制限:特になし

具体的なアルゴリズムは調べろと言われただけなので参考URL
URLリンク(d.hatena.ne.jp)
Javaはやってないのでよくわからないです・・・・。よろしくお願いします。

180:デフォルトの名無しさん
08/05/30 18:22:09
[1]アルゴリズム
[2]放物線プログラム
 定数として重力加速度、初速度
 経過時間からX,Yをもとめる。
 経過時間0の場合は(X,Y)は(0,0)
[3]C言語

181:デフォルトの名無しさん
08/05/30 18:27:12
>>180
ぼるじょあスレにレスついてるよ。

182:デフォルトの名無しさん
08/05/30 18:36:23
[1] 授業単元:アルゴリズム
[2] 問題文:数値を1から10まで出力する。ただし、5まで出力した時点で
一度改行する
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:bc pad
 [3.3] 言語:C言語
[4] 期限:月曜
[5] その他の制限:特になし
習い始めて早速つまずきました、よろしくお願いします。



183:デフォルトの名無しさん
08/05/30 18:46:35
>>182

#include<stdin.h>

int main(void)
{
printf("1 2 3 4 5\n6 7 8 9 10\n");
return 0;
}

184:デフォルトの名無しさん
08/05/30 18:47:23
/* >>182 */
#include <stdio.h>

int main()
{
puts("1 2 3 4 5\n6 7 8 9 10");
return 0;
}


185:183
08/05/30 18:47:53
>>184
ブフォ

186:デフォルトの名無しさん
08/05/30 18:49:10
// >>182
#include <stdio.h>

int main()
{
for (int ic = 1; ic <= 10; ++ic) printf("%d%c", ic, ic == 5 || ic == 10 ? '\n' : ' ');
return 0;
}

187:デフォルトの名無しさん
08/05/30 18:50:55
>>139
すいません、何故か消えているのですが・・
再うpお願いできますか?

188:デフォルトの名無しさん
08/05/30 18:52:09
>>176
すいませんレス読み飛ばしてました!ありがとでした!

189:デフォルトの名無しさん
08/05/30 18:52:10
>>187
>>176

190:デフォルトの名無しさん
08/05/30 18:58:23
[1] 授業単元:C言語入門
[2] 問題文:2つの画像(128×128,PGM)があります。
この2つはまったく同じに見えますが、少しずつ輝度値が異なります。
2つの画像をまず読み込み、それらの輝度値をEXCELに書き出しなさい。
次に2つの画像の輝度値の差を取り、この差もEXCELに書き出しなさい。
[3] 環境
 OS:WINDOWS
 コンパイラ名とバージョン: gcc emacs
 使用言語:C言語
[4] 期限:6月2日
[5] その他の制限:画像は “rda/gazou/"に置いてあるが、各自のフォルダに
移動してきてもよい。

どなたかご教授をお願いいたします

191:デフォルトの名無しさん
08/05/30 19:04:25
>>190
# EXCELに書き出しなさい
csvとか^p^?

192:デフォルトの名無しさん
08/05/30 19:05:17
>>190
PGMはテキストとして読めるフォーマットとそうでないフォーマットがある。
前者なら、プログラムを組むまでもなくExcelに取り込めるわけだが。
それから、「EXCELに書き出す」とはなんのことか説明してくれ。
C言語入門と言う単元から察するに、CSVファイルを作るだけじゃないかと思うのだが。
# それを「EXCELに書き出す」と教えているのだとしたら、とんでもない馬鹿野郎だが。
あーそうそう、画像ファイルもアップロードしてくれよ。

193:デフォルトの名無しさん
08/05/30 19:16:11
>191,192
EXCELに書き出すというのはお二方がおっしゃるようにCSVを作ることだと思います。
この先生、かなり教え方がおかしいので^^;
PGMはP5というふうになっていましたが・・。


194:デフォルトの名無しさん
08/05/30 19:21:29
P5か。流石にバイナリか。

>>193
一応念のために聞いておくが、PGMの読み込みルーチンも自作すると言うことでいいよな。
で、入力はPGM画像ファイル二つ、出力はCSVファイル三つだな。

195:デフォルトの名無しさん
08/05/30 19:24:29
>>164>>158>>159
なの?

196:デフォルトの名無しさん
08/05/30 19:34:54
Windows画面上のアイコンが、拡張子CSV、XLS共にEXCELのアイコンになってる事が多い。
それを見て、CSVファイルはEXCELファイルだと思い込む人多し。

197:デフォルトの名無しさん
08/05/30 19:35:20
>>194

そうです、読み込みルーチンも自作ですね。
入力がPGM画像ファイル2つ、出力がCSVファイル3つというのもあってます。



198:デフォルトの名無しさん
08/05/30 19:54:29
1ファイルの輝度を1CSVに出力するのか。。。
CSVにならなさそうで楽しみです。

199:132
08/05/30 19:57:02
あれだけせっかちだった>>5=110が無反応で困る。

200: ◆DuoCt8/SKk
08/05/30 20:04:52
>>199
いや,書き込んではいけないのかと・・・ずっと見てました.
>>132さん,ありがとうございました.
しかし文字化けしていて見ることができないのです・・・
再アップなど良かったらお願いできませんか?

201:デフォルトの名無しさん
08/05/30 20:06:51
>>200
UTF-8で読んでください。

202:デフォルトの名無しさん
08/05/30 20:16:36
[1] 授業単元:
[2] 問題文URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: xp
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C
[4] 期限: 日曜日まで
[5] その他の制限: 大学3年レベル

お願いします

203:デフォルトの名無しさん
08/05/30 20:19:11
無理

204:182
08/05/30 20:19:20
>>183、186
すいません説明不足でした。
1から10まで順番に出力して5まで出力した時点で一度改行です。
多分、while文使うんだと思います。
お願いします。

205:デフォルトの名無しさん
08/05/30 20:21:31
>>202
問題文は正確にお願いします。

>>204
>>186が不満な理由はfor文だからですか?

206: ◆DuoCt8/SKk
08/05/30 20:22:08
>>201
そうやって読むのでしたか・・・知らずにすみません.ありがとうございます.
しかしながら内容が少しばかり高度すぎるのですが・・・
これは確実に教授に怪しまれてしまいます.
(C言語を習い始めて1年しか経過してないので)
もし可能だったらでいいので,もう少し簡略化したプログラムをお願いできないでしょうか?
お願いします.

207:204
08/05/30 20:39:34
>>205
アルゴリズムの教科書のwhile文の説明の後の演習問題なので
できればwhile文のほうがありがたいです。

208:132
08/05/30 20:45:50
>>206
どこら辺が怪しまれないレベルなのかつかめないです。
問題の下のほうに書いてある苦労のあとをそのまま受けると、
関数作ること自体が危険ですか?

mainは画面表示→コマンド受付のループしてます。
んで、各コマンドに応じた処理をしてます。
お金入れたらステータスの金額増やす、みたいな。

それと、今さらなんですが、本来の課題はどこまでですか?
<主な道筋>以降は元の課題に含まれていなかったのではないか
という予測の元に作っていました。

209:202
08/05/30 20:59:57
問題文を見直しましたが間違いはありません
/*記述*/の部分を追加するだけで実行結果になるらしいです

210:デフォルトの名無しさん
08/05/30 21:01:22
>>207
書き換えもできんのか
#define MAXNUM 10
int i=1;
while(i<=MAXNUM){
printf("%d ",i);
if(i%5==0){
puts("");
}
}

211: ◆DuoCt8/SKk
08/05/30 21:01:54
>>208
はい,お察しの通り道筋以降は完全に予想した実行例です.
本来の課題は<主な道筋>の終わりまでです.
関数自体は既に習ったはずなんですが,苦手なのでこれだけたくさんあると・・・
あと,作成して頂いたプログラムは本来の課題でするべきこと以上のことを
してくださったので,絶対にマークされます(汗).
自分としても今日考えたプログラムがあるのですが・・・載せて見てもらった方が
いいですかね?ちなみに入力から種別まではぐちゃぐちゃなプログラムですができました.
しかしながら金額計算やリセット,枚数表示などが・・・

212:デフォルトの名無しさん
08/05/30 21:02:36
やべぇ
無限るーぷwww
i++;足して

213:202
08/05/30 21:04:06
間違いありましたすいません
printfのとこの)を忘れてました
m<_ _>m

214:デフォルトの名無しさん
08/05/30 21:07:09
>>209
(・3・) エェー。たとえば

 printf(str[0],1,str[1];

括弧が対応してないよ。


215:デフォルトの名無しさん
08/05/30 21:07:53
(・3・) アルェー リロードしてなかったらもう謝られてたYO

216:デフォルトの名無しさん
08/05/30 21:14:36
(・3・) エェー  なんて書きこむくらいなら、
ぼるじょあのトリップ付けてください ><;

217:132
08/05/30 21:22:12
>>211
とりあえず載せてもらってもいいすか?
主な道筋は課題に含む、だったんですね。
そうするとそれはそれで取り消しの処理とかが難しくなりそうですね。

>>213
そっすか。ならこれで。

char *p = str[0], *q = "str[%d] = %s\n";
while (*p++ = *q++);

218:デフォルトの名無しさん
08/05/30 21:24:16
(・3・) ~♪

str[0] = "str[%d] = %s";

219: ◆DuoCt8/SKk
08/05/30 21:25:13
>>217
ありがとうございます,では載せさせてもらいます.
URLリンク(kansai2channeler.hp.infoseek.co.jp)
これが限界みたいです・・・変な箇所などあったら指摘などお願いします.

220:デフォルトの名無しさん
08/05/30 21:29:16
>>218
それ無理だろ。
sprintf(str[0],"%s","str[%d]=%s\n");

221:デフォルトの名無しさん
08/05/30 21:30:35
>>217-218
早い解答ありがとうございます


222:132
08/05/30 21:32:20
>>219
ええと、そこから急に成長したことにしないかい?
…ダメだよね。

>>220
そっか><

223: ◆DuoCt8/SKk
08/05/30 21:36:32
>>222
・・・?関数などは調べて考えました.
はい,これでは全然ダメなのでご指導して頂きたいです!

224:132
08/05/30 22:39:31
>>223
>>219のをベースに、あまり変えないで作ってみました。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

動作検証はあまりしていませんのであしからず。。。

225:132
08/05/30 22:42:35
すみません。おつりが無いときの処理がもれてました。
こんな感じに変えてください。
if (money != price)
{
printf("おつりは %d 円です。\n", money - price);
}

226:デフォルトの名無しさん
08/05/30 22:47:17
[1] 授業単元:ソフトウェア
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン: VisualStudio Express2005
 [3.3] 言語: C
[4] 期限:2008/6/1
[5] その他の制限:stdio.h以外のライブラリは使いません。また、スタックは配列を使っての処理です。

よろしくおねがいします。

227:デフォルトの名無しさん
08/05/30 22:57:21
>>226
C++でもいいのか?

228:デフォルトの名無しさん
08/05/30 23:05:55
>>227
C言語って書いてるよ

229:デフォルトの名無しさん
08/05/30 23:08:17
問題文に.cppでも可と書いてあるから確認したのでは

230:デフォルトの名無しさん
08/05/30 23:10:07
ほ、ほんとだ。
うっかり八兵衛。

231:デフォルトの名無しさん
08/05/30 23:15:33
>>226
引数渡さないでどうやって初期化しろってんだよ・・・
グローバル変数推奨ですか?

232:デフォルトの名無しさん
08/05/30 23:16:54
任意の値でいいんじゃね?
とエスパーしてみる。

233:デフォルトの名無しさん
08/05/30 23:20:14
>>231
前々回あたりでグローバル変数や共有結合等の話が出ていたので、
おそらくグローバル変数を使ってだと思います。

234: ◆DuoCt8/SKk
08/05/30 23:26:45
>>224
>>225
わざわざ僕のプログラムをベースに考えてくださるとは・・・感謝してもしきれません.
しかしながら
LINK : fatal error LNK1104: ファイル "Debug/test.exe" を開けません。
というエラーが・・・どこがおかしいんでしょうか?
何度もすみません・・・

235:デフォルトの名無しさん
08/05/30 23:27:39
>>233
んじゃとりあえずヘッダから書いてってみる

[stack.h]
#pragma once

enum{ FALSE, TRUE }BOOL;

BOOL init();
BOOL push(int data);
int pop();

[stack.c]
#include "stack.h"
#define MAX_SIZE 10
extern int array[MAX_SIZE];

BOOL init(){
 int i = 0;
 for(i = 0; i < MAX_SIZE; i++){
  array[i] = 0;
 }
 return TRUE;
}

236:デフォルトの名無しさん
08/05/30 23:28:10
>>226
URLリンク(kansai2channeler.hp.infoseek.co.jp)

237:132
08/05/30 23:34:01
>>234
ファイル名がticket.cだとして、Visual Studio コマンドプロンプトで
cl ticket.c
とやってもダメでしょうか?
こちらのVS2003 および Linuxでのgccではビルドできています。

238: ◆DuoCt8/SKk
08/05/30 23:38:25
>>237
コマンドプロンプトにてそのコマンドを入力したところ

C:\Program Files\Microsoft Visual Studio 8\VC>cl test.c
Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.

test.c
c1 : fatal error C1083: ソース ファイルを開けません。'test.c': No such file or directory

という表示が出ました.
やはりだめみたいです・・・

239:デフォルトの名無しさん
08/05/30 23:40:39
>>132のプログラム普通にコンパイル出来たが

リビルドしてみたら?

240:デフォルトの名無しさん
08/05/30 23:40:43
>>238
ディレクトリ合ってる?

241: ◆DuoCt8/SKk
08/05/30 23:45:07
>>237
すみません!試行錯誤しながら作業を繰り返していったら
実行することができました!

あと・・・回数券などを入力した際にすぐに買える切符はありません
と表示されてしまうのはどう直せばいいでしょうか?

それで,もし良かったら・・・枚数や子供賃金入力のヒントなどを教えて頂きたいです.

242:デフォルトの名無しさん
08/05/30 23:46:58
>>241
ビルドできたか。よかた。
買える切符はありませんっていうのは所持金?が最低額の切符よりも
少ない場合です。
2000円ぐらい突っ込んでからやってみたらどうでしょ。

243: ◆DuoCt8/SKk
08/05/30 23:52:03
>>242
おっしゃる通り多くしたらできました.
色々とありがとうございました!
それで・・・子供賃金や枚数などのアドバイスは頂けないでしょうか?
くどくてすみません.

244:132
08/05/31 00:05:56
>>243
ticket2の前に子供にしますか?って聞くとか普通乗車券の場合は
coin_numの前に枚数聞くとかですかね。

ちなみにその辺を実装するつもりなら切符の一覧をベタで書く方法を
やめたほうがいいと思います。すぐ気づくかもしれませんが。
たとえば、さらに350円の切符を追加しましょうってなったとき、今の
構造だと大変でしょ?

>>132のはそういう目にあわないようにしてあって、
int ticket_price_list[] = {140, 180, 210, 270, 0};

int ticket_price_list[] = {140, 180, 210, 270, 350, 0};
ってやればすむようになっていました。

いろいろ見比べて、上手く利用できるところは持ってってください。

245:デフォルトの名無しさん
08/05/31 00:10:44
あとは、係員、呼び出しボタンも、あるいは、ひつようですね、ヘルプという、意味で

246: ◆DuoCt8/SKk
08/05/31 00:16:39
>>244
アドバイスありがとうございます.
>>132のいい部分を見つけて,それを使えればいいということでしょうか?わかりました!

もう迷惑はかけられないので,残りは自分で頑張ってみます,もしかしたらまたここに来ることが
あるかもしれないのでその時にはまたよろしくお願いします.
本当にありがとうございました.

247:132
08/05/31 00:21:02
>>246
>>132のソースが優れてるとはいいませんが、いいなと思う部分が
あれば、どんどん使ってください。
提出までの期間、がんばってね。

248:デフォルトの名無しさん
08/05/31 00:50:00
>>246みたいなのだと
こっちもやってていい気分なんだがなぁ。。

249:デフォルトの名無しさん
08/05/31 00:56:44
自分で勉強してやろうとする人はそもそも宿題スレに頼みに来ない

250:デフォルトの名無しさん
08/05/31 01:09:31
>>176おっぱいうp

251:デフォルトの名無しさん
08/05/31 01:13:55
  (>_<)
 (・人・)

252:デフォルトの名無しさん
08/05/31 01:31:33
[1] 授業単元:数値解析
[2] 問題文(含コード&リンク):(①~④の座標データ(xi,yi i=1,2,3,4)を代入すると,①
~④の全ての点を通り,②と③において位置・速度・
加速度の連続性を保証し,①と④で速度と加速度が零
となる関数を求め,画面表示するプログラムを作成せよ.)
[3] 環境
 [3.1] OS: Windows Vista
 [3.2] コンパイラ名とバージョン: Visual Studio 2005
 [3.3] 言語: C
[4] 期限: 2008年6月13日0:00まで
[5] その他の制限: 特になし

253:252
08/05/31 01:33:11
連投すいません、
自分でやっても全然方針立たないのでのでよろしくお願いします。。

254:デフォルトの名無しさん
08/05/31 01:40:13
そういうプログラムだけでなく数学的な基礎学力を必要とする問題は
まずその数学的な解放を記さないと回答率が急速に下がりやがります。

255:デフォルトの名無しさん
08/05/31 07:05:28
>>252
確認。以下の2つの条件のうちどれで解いてほしい?

1. 「連続性」は必要だが「滑らか」でなくて構わない、しかも、①、④以外の点で速度と加速度が0になる点が許される

2. 問題文は誤っており、位置、速度、加速度ともに「滑らかに連続」でなければならない、(この場合、普通に解けば、①と④以外の点で速度と加速度は0にならない)


256:デフォルトの名無しさん
08/05/31 08:35:31
[1] 授業単元:プログラミング
[2] 問題文:数値を2つ入力し、大きい数値、小さい数値の順に出力する
<実行例1>          <実行例2>
24  (←入力1)        17 (←入力1) 
16  (←入力2)  35 (←入力2)  
大:24 (←出力1)  大:35 (←出力1) 
小:16 (←出力2)         小:17 (←入力2)  
 
[3] 環境
 [3.1] OS: Windows Vista
 [3.2] コンパイラ名とバージョン: bc pad
 [3.3] 言語:C言語
[4] 期限:6/2
[5] その他の制限:習い始めて一ヶ月程度なのでできるだけ簡単な関数での回答お願いします

257:デフォルトの名無しさん
08/05/31 08:53:02
#include <stdio.h>
int main(void){
int a,b;
printf("入力1:");
scanf("%d",&a);
printf("入力2:");
scanf("%d",&b);
if(a>b) printf("大:%d 小:%d",a,b);
else printf("大:%d 小:%d",b,a);
return 0;
}

258:256
08/05/31 09:39:00
>257さん
無事できました。本当に助かりました。
回答ありがとうございました。

259:デフォルトの名無しさん
08/05/31 09:41:05
>>235-236
ありがとうございます。

260:側近中の側近 ◆0351148456
08/05/31 10:10:58
>>252
(っ´▽`)っ
要するに等加加速度運動のことかな?
等速度運動(等速直線運動):v(t)=k(一定)
等加速度運動:dv(t)/dt=k(一定)
等加加速度運動:dv(t)/d2t=k(一定)
だとすれば、vはtの2次関数、変位x(=vt)はtの3次関数ということになる。
3次関数の係数を一意に得るには、それが通る4つの点を指定すればよい。

261:デフォルトの名無しさん
08/05/31 10:17:21
まったくもって意味がわかりませんぬ。

262:側近中の側近 ◆0351148456
08/05/31 10:19:08
(っ´▽`)っ
下の式をa, b, c, d, e, f, g, hについて解けばよい。
x(1) = a * t(1)^3 + b * t(1)^2 + c * t(1) + d
x(2) = a * t(2)^3 + b * t(2)^2 + c * t(2) + d
x(3) = a * t(3)^3 + b * t(3)^2 + c * t(3) + d
x(4) = a * t(4)^3 + b * t(4)^2 + c * t(4) + d
y(1) = e * t(1)^3 + f * t(1)^2 + g * t(1) + h
y(2) = e * t(2)^3 + f * t(2)^2 + g * t(2) + h
y(3) = e * t(3)^3 + f * t(3)^2 + g * t(3) + h
y(4) = e * t(4)^3 + f * t(4)^2 + g * t(4) + h

263:側近中の側近 ◆0351148456
08/05/31 10:24:55
(っ´▽`)っ
この問題は座標上の4点を指定するってのがミソ
座標上の4点を指定すれば等加加速度運動が実現する。

座標上の2点を指定すれば等速度運動が実現する。
等速直線運動だね。
座標上の3点を指定すれば等加速度運動が実現する。
例として、等速円運動が挙げられる。

264:側近中の側近 ◆0351148456
08/05/31 10:28:14
(っ´▽`)っ
ちなみに、5点を指定すれば、等加加加速度運動(dv/dt3=一定、dx/dt4=一定)、
6点を指定すれば、等加加加加速度運動(dv/dt4=一定、dx/dt3=一定)を実現できる。
つまり、一般化すれば
n点を指定すれば、dv/dt(n-2)=一定、dx/dt(n-1)=一定の運動を実現できるってこと。

265:側近中の側近 ◆0351148456
08/05/31 10:38:02
(っ´▽`)っ
ちなみに、
①と④で速度と加速度が零
とあることから、係数は一意に決まるはず。
最初は止まってるが、徐々に加速し始めて、
速度、加速度ともに最高になり、
それから徐々に減速し始めて、最後は止まる
って感じになる。

266:252
08/05/31 13:30:52
すいません、問題文をそのままコピペしたんで、書いてありませんでしたが、
補間法の授業です、教授に質問してきたところ、ヒントを貰えましたんで書きます。
スプライン補間法を用いてURLリンク(kjm.kir.jp)のような感じで解け、と
言われました。

267:デフォルトの名無しさん
08/05/31 14:27:42
>>252
教授がSplineだというんだったらぐぐるしかないか。
でも問題の出し方悪杉

268:デフォルトの名無しさん
08/05/31 15:49:11
誰か未解決まとめてー
>>側近タン
「加」がどんどん増えてくのはどういう仕組みだw
等加加加加速度www

269:デフォルトの名無しさん
08/05/31 15:55:16
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):
問1. 10個の数字をキーボードから入力し、「線形リスト」に挿入するプログラム。挿入するプログラムを作成せよ。
挿入後はリストの内容を出力する。
問2. 上の機能に加え、探索の対象データをtargetに入力し、targetに関する線形探索を行うプログラムを作成せよ。
     (「探索成功」・「探索失敗」となるようなtargetを数回設定・入力して下さい。)
問3. 探索成功の場合にはそのデータを「リスト」から削除し、探索失敗の場合にはそのデータを「リスト」の最後尾に挿入する。
(作成要項)
・ここでのレコード、すなわちリストの要素は次の構造体で定義する。
typedef data{
int idnum;
struct data *next;
}data[NMAX]
[3] 環境
[3.1] OS: xp
[3.2] コンパイラ名とバージョン: VC 6.0
[3.3] 言語: C
[4] 期限: 6/3まで
[5] その他の制限:前回作った線形探索と2分木探索のプログラムです。
            URLリンク(kansai2channeler.hp.infoseek.co.jp)
自分でやってみましたが解けませんでした…誰か助けて下さい お願いします    




270:デフォルトの名無しさん
08/05/31 17:57:58
>>269あとでやってあげる

271:デフォルトの名無しさん
08/05/31 19:27:19
変則的な問題かと思いますが >>109 何方かお願いできませんでしょうか。

272: ◆tr.t4dJfuU
08/05/31 19:33:23
[1] 実験解析
[2] プログラムと同じフォルダ内のbmpファイル(200*300pix)をプログラム実行
時に読み込ませ,1pixごとにそのRGB値を調べさせてexcelに書き出すプログラム
[3] 環境
 [3.1] OS:Xp
 [3.2] BCC Developer
 [3.3] 言語 c
[4] 期限: 無期限ですが,できるだけ早いうち(できれば月曜まで)に宜しくお
願いします.
[5] その他の制限:特にはありません.私は初心者なので,後学のために解説等が
含まれていたらうれしいです.

273:デフォルトの名無しさん
08/05/31 19:36:16
WIndowsのbmpファイルといったところで、結構多数のマイナー
フォーマットに分化している件は無視なの?

274: ◆tr.t4dJfuU
08/05/31 19:39:41
>WIndowsのbmpファイルといったところで、結構多数のマイナーフォーマットに分化している件は無視なの?

無視して大丈夫だと思うんですが、大丈夫だと思うんですが、大きな違いってあるんですか?一応256色を考えているのですが。


275:デフォルトの名無しさん
08/05/31 19:49:59
後ろから読んだり前から読んだりヘッダがいろいろだったり。
だいたい、EXCELに書き出すって何?
OLEでも使ってEXCEL起動さす気?

276:デフォルトの名無しさん
08/05/31 19:50:14
[1] 授業単元:
[2] 問題文URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:xp
 [3.2] コンパイラ名とバージョンVC 6.0
 [3.3] 言語: C
[4] 期限:日曜日
[5] その他の制限:関数まで習ってます


277:デフォルトの名無しさん
08/05/31 20:02:02
>>276
void func1(const int data[NUM1][NUM2], float avg[NUM1])
{
int i, j, s;
for(i=0; i<NUM1; i++) {
s=0;
for(j=0; j<NUM2; j++)
s += data[i][j];
avg[i] = (float)s / NUM2;
}
}

int func2(const float avg[NUM1])
{
int i, best=0;
for(i=1; i<NUM1; i++)
if(avg[i]>avg[best])
best = i;
return best;
}

278: ◆tr.t4dJfuU
08/05/31 20:04:05
>だいたい、EXCELに書き出すって何?
>OLEでも使ってEXCEL起動さす気?

説明不足で済みません。得たデータがexcelだと、後々の考察が楽なのでexcelに書き出すと書きました。
txtファイルでも問題ないのですが、後々の処理が大変だと思ったので、出来たらとおもいまして。


279:デフォルトの名無しさん
08/05/31 20:05:11
>>277
m<_ _>m

280:デフォルトの名無しさん
08/05/31 20:11:39
URLリンク(kansai2channeler.hp.infoseek.co.jp)
流れも読まずにHTMLのTABLEにBMP画像を出力するプログラムを書いてみたでおじゃる
クソースゆえ突っ込まないでたもう

281: ◆tr.t4dJfuU
08/05/31 20:28:51
>>280
ありがとうございます。しかし、私の求めるものとちょっと違うんです。
勉強のために有意義に使わせていただきます。すみません

282:デフォルトの名無しさん
08/05/31 20:37:03
EXCEL形式とはいかんが、CSV形式に出力したのを
EXCELで読み込むとか?

283: ◆tr.t4dJfuU
08/05/31 20:41:16
>>282
それなら、Excelの処理も楽ですね。よろしくお願いします。

284:デフォルトの名無しさん
08/05/31 21:04:01
URLリンク(kansai2channeler.hp.infoseek.co.jp)
RGBそれぞれ2桁ずつ、計6桁の16進数の値を
コンマで区切る形式に出力することは出来たが・・・
EXCELへのインポートの際、少々問題が。
バージョン2003で データ>外部データの取り込み で試してみたんだが、
16進数は10進数の数値としては扱えないため、セルの書式を数値にしてあると
先頭に0があればそれはなくなってしまった。
予めワークシートのセルの書式を文字列にしてみたが、今度は
Eが入っていると 5.54E+48 のように表示されている・・・
さて、その辺の対策は・・・プログラム側でしておくべきか?

285:269
08/05/31 21:07:06
>>270
宜しくお願いします

286: ◆tr.t4dJfuU
08/05/31 21:53:10
>>284
返信遅くて済みません。ありがとうございます。bmpを256色対応で読み込むようにしたら良くなりませんか?
質問できちんと書いていなかったんですが、256色を使おうと思っているんですが。
手直しなど大変だと思いますが、よろしくお願いします。

287:デフォルトの名無しさん
08/05/31 21:58:05
URLリンク(www.kk.iij4u.or.jp)
256色のBMPを解析して、後はそれに応じて・・・
あのコードを適当に書き換えればおkだが、ちと疲れたんで明日また

288: ◆tr.t4dJfuU
08/05/31 22:05:44
>>287
わがままに付き合っていただいて大変ありがとうございます。
私も作っていただいたプログラミングで勉強します。

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


290: ◆GV8UxHX4R.
08/05/31 22:31:04
[1] 授業単元:プログラミング演習
[2] 問題文:3次元ベクトルの内積と成す角を算出せよ
[3] 環境
 [3.1] OS:xp
 [3.2] コンパイラ名とバージョン:borland C++ compiler ver.5.5
 [3.3] 言語: C++(?)
[4] 期限:6/5 21:59まで
[5] その他の制限:ベクトルは配列を使って表すこと。内積の計算はループ文で行うこと。絶対値はsqrt、角度はacosを使って求めること。1次元配列まで習っています

URLリンク(kansai2channeler.hp.infoseek.co.jp)
ベクトルA、Bの成分を全て1か2にした時に(まだ見落としがあるかもしれませんが)「acos: DOMAIN error」と表示され、成す角が「+NAN」と表示されてしまいます。
それ以外の値では正常に動作するようです。
また、37、38行目で「abs_a = sqrt((vctr_a[0])*(vctr_a[0]) ・・・」としていますが、これを「abs_a = sqrt((vctr_a[0])^2 ・・・」とするとおかしなことになります。
書き方が間違っているということですが、後者のように表記する方法はないのでしょうか。

どなたかご教授願います。

291:デフォルトの名無しさん
08/05/31 22:34:06
>>46 >>289
>>50


292:デフォルトの名無しさん
08/05/31 22:34:18
[1] ゼミ実験
[2]
○実験1、マルコフ情報源の生成プログラムの作成
プログラムは
double markov(int K ,double alfa, double *a_coeff, double *mem);
のように、次数Kとαの値および長さKの係数配列a_coeffとメモリ配列memのポインタを引数としマルコフ情報源出力Xnを返す関数文で書く。
main文では、Kとαの値の設計および配列a_coeffとmemの確保と配列の値の設定を行う。
なお、memは全零に初期設定する。
main文で関数marukovを呼出す度にマルコフ情報源の系列の値が順次得られ、N個のデータをファイルに記憶する。
なお、一様乱数からガウス関数への変換は(1)または(2)の方法を用いる。
○実験2、マルコフ情報源の生成実験
上で作成したプログラムを用いて、K=1の1次マルコフ情報源についてのみ系列の生成実験を行う。
ここで、係数a1は安定条件より|a1|<1の範囲に限定する必要があり、実験では、a1=±0.1、±0.9の4種類についてマルコフ情報源出力系列の1024個のデータ(最初の1番目のデータは捨てる)をファイルに出力され、それらのグラフを描く。
なお、係数αは出力系列Xnの分散σx^2=1になるように決定する。
 問題【1】実験1のマルコフ情報源の生成プログラムを示しなさい。
 問題【2】実験2のマルコフ情報源出力系列を図示し、AR係数a1=±0.1、±0.9の場合について、系列の違いを定性的に説明しなさい。
      また、その違いの出る理由をK=1のときの式(2)のファイルの周波数応答F(e^jω)=α/(1+a1・e^-jω)より説明しなさい。
Un=(1./(RAND_MAX+1.))*rand(); ・・・・(1)式
F(z)=α/(1+a1・z^-1+a2・z^-2+・・・・・・+ak・z^-K)  ・・・・・(2)式

[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ名とバージョン: Vidual Studio2005
 [3.3] 言語:C++
[4] 期限: 2008年6月1日24:00
[5] その他の制限:
急ぎですいません。問題【2】実験2は図示があるので問題【1】だけでもいいのでお願いします。


293:側近中の側近 ◆0351148456
08/05/31 22:34:48
>>290
(っ´▽`)っ
(vctr_a[0])^2
ではなく、C言語では、
power(vctr_a[0], 2)
ね。
前者の表記の仕方はBASICかな?なんだっけ?

294:側近中の側近 ◆0351148456
08/05/31 22:36:13
>>290
(っ´▽`)っ
間違った。powだった。pow!
URLリンク(www.bohyoh.com)

295:側近中の側近 ◆0351148456
08/05/31 22:37:28
>>290
(っ´▽`)っ
ちなみに、C言語上、^は、ビット単位の排他OR演算子を表す。
全く別物。

296:側近中の側近 ◆0351148456
08/05/31 22:38:26
>>290
(っ´▽`)っ
っていうか、明らかにC言語のソースなのに、
拡張子がcppなのは何故?

297:デフォルトの名無しさん
08/05/31 22:42:38
3より大きく、入力された上限の数未満の全ての自然数かつ非素数について、3で割り切れるものは無視し、3で割った余りが1のものは加算し、余りが2のものは減算して合計を求めよ
#include <stdio.h>
int main(void)
{ int i ; int num;
int sum;
sum = 0;

printf("Input Upper Limit: ");
scanf("%d", &num);
for(; num <= 3; num = num - 1)
{
if( num % 2 == 0)
{
if( num % 3 == 2) { sum = sum + num; }
if( num % 3 == 1 ) { sum = sum - num; }
}
else
{
for ( i=3; i*i<=num; i = i + 2)
{
if( num % i == 0)
{
if( num % 3 == 2) { sum = sum + num; }
if( num % 3 == 1 ) { sum = sum - num; }
}
}
}
}
printf("%d\n", sum);
return 0;
}
自分でやってみたんですがうまくいかないです。どこがおかしいですか?

298:側近中の側近 ◆0351148456
08/05/31 22:54:12
>>290
(っ´▽`)っ
VS2005で実験。
確かにacosの戻り値が-1.#IND000000000000になった。
デバッグしたら、prd / (abs_a * abs_b)=1.0000000000000002
つまり、acosの定義域[-1, 1]外ということ。
この誤差(0.0000000000000002)に対応しなければならない。

299:側近中の側近 ◆0351148456
08/05/31 22:56:02
(っ´▽`)っ
ついでに、C言語だとしたら、
double ang = acos(prd / (abs_a * abs_b));
はダメだよ。
ちゃんと、関数の最初にdouble angって宣言しないとね。

300:yumi
08/05/31 23:18:27
>>297
よく読んでないからわかんないけど
3より大きい数字を入力したら
for(; num <= 3; num = num - 1) <-このループに入れないよ
この時点でオカシイよねっ
それと素数判定もしなきゃダメなんじゃない?


お風呂入って寝ます
オヤスミ♪<(゜ー^)ノ^*・'゜☆。.:*:・'☆'・:*:.。.:*:・'゜:*:・'゜☆

301:デフォルトの名無しさん
08/05/31 23:23:51
>>297
たぶん、これでいい。
#include <stdio.h>
int main(void)
{
int i ; int num; int sum = 0;
printf("Input Upper Limit: ");
scanf("%d", &num);
for(; num > 3; num --) {
if( num % 2 == 0)
{
if( num % 3 == 2) { sum = sum - num; }
if( num % 3 == 1 ) { sum = sum + num; }
}
else
{
for ( i=3; i*i<=num; i += 2)
{
if( num % i == 0)
{
if( num % 3 == 2) { sum = sum - num; }
if( num % 3 == 1 ) { sum = sum + num; }
break;
}
}
}
}
printf("%d\n", sum);
return 0;
}

302: ◆GV8UxHX4R.
08/06/01 00:28:02
側近中の側近 ◆0351148456さん回答ありがとうございます。

>>296
教師に言われた手順に従っていただけなのですが、違うんですね。
適当な教師だなあ

>>298
prd / (abs_a * abs_b)の部分を一旦別のdouble型変数に入れてからacosしてみましたがダメでした。
doubleの精度ならその程度の誤差は出ないんじゃないかと思ったんですが・・・。

>>299
それは一番最初に宣言しておけと言うことでしょうか。

303:デフォルトの名無しさん
08/06/01 00:34:16
>>297,301
「入力された上限の数未満」なので、以下。

#include <stdio.h>
int main(void){
int i, num, sum=0;
printf("Input Upper Limit: ");
scanf("%d", &num);
for(num--; num > 3; num--){
for ( i=2; i*i<=num; i ++){
if( num % i == 0){
if( num % 3 == 2){ sum -= num; }
if( num % 3 == 1){ sum += num; }
break;
}
}
}
printf("%d\n",sum);
return 0;
}



304:デフォルトの名無しさん
08/06/01 00:39:10
>>303
なぜ処理速度を落とした><

305:デフォルトの名無しさん
08/06/01 01:04:59
>>109
こんな感じでどうでしょ。親はすぐ終わって、子プロセスが2秒後に環境変数吐き出します。

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char *argv[], char *envp[])
{
int i;
pid_t pid = fork();

if (pid == -1) exit(1);
if (pid == 0)
{
/* 子プロセスの処理 */
sleep(2); /* 子というのを分かりやすくしてます */
for (i=0; envp[i]!=NULL; i++)
printf("%s\n", envp[i]);
}
else
{
/* 親プロセスで何かしたいならここに */
}
exit (0);
}

306:デフォルトの名無しさん
08/06/01 01:09:29
>>305
Sleep(2)じゃなくて2000じゃない?

307:305
08/06/01 01:14:07
>>306
DOSならそうかもですね。

308:デフォルトの名無しさん
08/06/01 01:26:10
Linuxか ゴメ

309:10
08/06/01 01:33:51
期限は過ぎてしまいましたが、まだ完成させることができません・・・
気が向いたときでいいんでどうかよろしくお願いします> <

URLリンク(kansai2channeler.hp.infoseek.co.jp)

310:デフォルトの名無しさん
08/06/01 01:45:17
奥村さんのアルゴリズム事典に載ってるので買うとよいかもです。
図書館で借りてもいいかも。

311:デフォルトの名無しさん
08/06/01 02:35:19
>>304
速度気にするなら素数判定は篩にして、ループも分けろよw

312:デフォルトの名無しさん
08/06/01 02:46:09
>>309
URLリンク(kansai2channeler.hp.infoseek.co.jp)
張ってあるソースは使ってません

313:デフォルトの名無しさん
08/06/01 03:08:09
>>311
素数判定部のループについて、元ソースの
for ( i=3; i*i<=num; i = i+2)

for ( i=2; i*i<=num; i ++)
こう変えちゃったことについてだよ。

出題者なりのチューニング結果を無駄にしちゃったらかわいそうだよって
いいたかったの。

314:デフォルトの名無しさん
08/06/01 03:39:59
>>313
意味が判っててチューニングしてるんなら無視すれば良いんじゃね?
コピペしか出来ないなら、チューニング以前に身につけるべきものが多そうだし。


315:デフォルトの名無しさん
08/06/01 03:46:19
301のは速度に拘ったソースでもないだろ
else ifにすらしてないんだから


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch