[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 04/08 17:58 / Filesize : 131 KB / Number-of Response : 342
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 06:56:18 ]
あなたが解けない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++の宿題を片付けます 112代目
pc11.2ch.net/test/read.cgi/tech/1215439445/

70 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 05:44:16 ]
>>35 >>69
pc11.2ch.net/test/read.cgi/tech/1215439445/586
#include<iostream>
void swap(int *a, int *b){
int c;
c=*a; *a=*b; *b=c;
}
int main(void){
int max1=0, max2=0, num;

while(std::cin >> num){
if(num==0) break;
if(num<0 || num%2==1) continue;
if(num>max2) max2=num;
if(max1<max2) swap(&max1, &max2);
}
std::cout << max2 << std::endl;
return 0;
}
私自身はチェックしていません。


71 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 05:54:53 ]
>>70
 [3.3] 言語: C


72 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 06:08:05 ]
>>35 >>69
#include <stdio.h>
void swap(int *a, int *b) {
  int c;
  c=*a; *a=*b; *b=c;
}
int main() {
  int max1 = 0, max2 = 0, num;
  while(scanf("%d", &num) == 1){
    if(num == 0) break;
    if(num < 0 || num % 2 == 1) continue;
    if(num > max2) max2 = num;
    if(max1 < max2) swap(&max1, &max2);
  }
  printf("%d\n", max2);
  return 0;
}
>>71 thanks.

73 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 06:21:03 ]
宿題に答えられたら答える人が答える、出来ない人が出来なかったことに
気を落とすスレでもなければ、回答したことに自己満足したのを
アピールするスレでもありませんので、お間違えのないようお願いします。

74 名前:デフォルトの名無しさん [2008/07/15(火) 06:21:43 ]
ありがとうございます

75 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 06:21:57 ]
かまってちゃんが自己アピールするスレでもないんですけどね。

76 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 07:27:10 ]
>>6を参考に

回答に余計なコメントを入れず、簡潔にコードだけ。
出来ればアンカーも付けずに、うpローダーに
ノーリンクな形で著作権フリーな形で書き込んで
URLだけ本スレに貼って下さるようお願いします。

77 名前:45 [2008/07/15(火) 07:39:23 ]
誰か>>45やってくれませんか?
自機の移動までは出来たのですが、ずっと右に進んだりすると消えてしまうので、消えないように表示がしたいです。
敵の跳ね返りもコンパイルは出来るのに、何故か表示されない…。

78 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 07:46:12 ]
>>77
期限切れのものは無駄だから作らない



79 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 07:48:45 ]
>>77
つーか、Ex09から雑魚1匹だけ抜き出して動かせばいいんじゃないの?

参考までに。あのコードはC++分かってないと書けないようになってるんで、
(クラスの継承やらオーバーライドやら使ってるんで)ここで中途半端なコード出すと
「ああ、、、誰かのパクったんだな」ってばれるんでそこらへんよろしく♪

80 名前:45 [2008/07/15(火) 07:48:52 ]
>>78
期限は今日の12時までに変更するので、お願いします。

81 名前:45 [2008/07/15(火) 07:55:45 ]
>>78
Ex09だと敵雑魚が複数居るから、1匹だけ表示する方法が分かりません。
とりあえず自分なりにやったけど表示されず…。

82 名前:45 [2008/07/15(火) 07:56:34 ]
すみません、>>81>>79さんへのレスです。

83 名前:デフォルトの名無しさん [2008/07/15(火) 08:26:30 ]
だれか>>4をやってくれませんか??
難しいかと思いますが、期限が13:00までなので、わかる人がいればよろしくお願いします。

84 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 08:27:38 ]
[1] 授業単元:プログラミング言語基礎
[2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7373.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: borland C++ Compiler 5.5.1
 [3.3] 言語: C
[4] 期限: [2008年07月16日12:30まで]
[5] その他の制限: 特になし

今年からCを習い始めた初心者です、よろしくお願いします。

85 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:03:26 ]
なんか、最近のいざこざでやる気が失せた。自分がやっても
誰かがやってたら、先に出した方がいれば後出しに何か言われるわ
そんなんでちょっと面倒で時間が掛かりそうだと、もうやる気が失せるわ。
ちょっと他人の回答について、黙ってて欲しい。まぁ、そんなんだから
最近は催促された後に、誰もやらないなら自分がやるかって
風潮になっているんだろうけどね。

86 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:05:01 ]
>>84
これでいいですか。
1)
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7374.txt
2)
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7375.txt

87 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:23:42 ]
>>85
質問テンプレで質問あげたら再度催促しない限り、回答を
貰えないといルールにすればいい。
催促は問題よっても異なるが、質問をあげてから最速で3時間以上は
してはならないことにする。
それまでに答えた回答者はフライングで、皆でバッシング

催促されたら、原則として最も早く回答した人が質問者との通信権を持ち
ソースの授与とソースに対する質問が終わるまで、他の回答者は
その質問者にアクセスすることが出来ないことにする。

その後、別の回答者、もしくは同じ回答者が質問者にアクセスす
る場合は、質問者を呼び出すこと。応答が無い限り、質問者宛という
形でソースコードを置き逃げするようなことをしない。
あと回答者同士で、ソースコードをやりとりするのはタブーかな。
やはり。

要するに、相手がオンライン状態であることを確認し、相手が自分の
コードを受け取る認識にあることを確認した上でソースを渡す方式すれ
ばいいだけ。

88 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:27:26 ]
長文うぜー



89 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:34:10 ]
>>50
数式が解けない
f'(t)=? //
f(0)=0

f''(t)=mg-kf(t)-aη/hf'(t)

90 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:34:48 ]
f''(t)=mg-kf(t)-(aη/h)f'(t)

91 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:38:45 ]
>>51
void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; }

void bubblesort(int *a, int size)
{
int i, j;
for(i=size-1; i>0; i--) for(j=0; j<i; j++) if(a[j] > a[j+1]) swap(a+j, a+j+1);
}

void insertionsort(int *a, int size)
{
int i, j;
for(i=1; i<size; i++) for(j=i; j>0 && a[j] < a[j-1];j--) swap(a+j, a+j-1);
}

92 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:54:02 ]
>>88
短文しか書けない奴は実は単文は書けないな

93 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:07:17 ]
>>88
大卒のための卒論にはありきたりな文章を真似るにしても
短文じゃ無理だから、お前みたいな大学も卒業していない
知能レベルの低い奴が何を言っても説得力がないよw

94 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:09:30 ]
>>93
中文が一番うざい

95 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:09:58 ]
>>88
読む気がないんだろ?だったら読まなくて良いからw
どうせ読解力、国語力のないお前じゃそういった低レベルの短文での
罵倒レスしか出来ないんだろうけどさw

96 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:10:35 ]
>>94
だからお前個人の感想なんて要らないってw
お前の存在そのものがうぜー、このスレには必要ない
どうせお前が汚いソースを先走って出している低脳だから
必死に抵抗してんだろ?w

97 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:19:48 ]
>>87
高卒?。中卒か?
もしかしたら小卒かも知れねーな。
大卒とか院卒だとしても、この回答者の心理を無視した
ルールは何だよw
相手がネットに張り付いて待っていよが居まいがコードが
出来たらいち早く置き土産みたく貼付けて楽しんでるんだよ。
コンパイルすら通らなくてもいい。とにかく形さえ出来てれば
いいんだ。
もすこし、実態を知ってからカキコしろや

98 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:20:15 ]
あぁ、なんだやっぱり 大卒未満 か、悪い。



99 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:23:31 ]
98の自己反省文でした。

100 名前:デフォルトの名無しさん [2008/07/15(火) 10:27:02 ]
[1] 授業単元:プログラミング論 I
[2] 問題文(含コード&リンク):
fib(1) = fib(2) = 1
fib(i) = fib(i - 1) + fib(i - 2) i は3以上の整数時、
fib(i) を以下のプログラムで計算する時、fib(i) を計算するのに加算が何回行われるか、
fib(i) を使って示せ。

さらに、このプログラムより加算回数が少ないプログラムをCで実装せよ。

int fib(int i){
if(i <=2){ return 1;}
int answer = fib(i-1) + fib(i-2);
return answer;
}

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc3.4
 [3.3] 言語: C
[4] 期限: 2008年7月17日
[5] その他の制限: 特にありません。

よろしくお願いします。

101 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:30:29 ]
とりあえず100は12:00まで回答禁止ってどーだ?
12:00以降100が再度お願いしますと言って来たら
その時点で回答
期限は明後日だし、明日中に回答が貰えれば十分な筈だ

102 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:35:45 ]
ここでいちいち名指し、個人宛て、アンカーをつけてレスしてないのに
反発レスをする奴は、自分に見に覚えのある基地外ってことだろ?
分かりやすいな、簡単に餌のない釣り糸に食いつく野郎って。
お前がいなくなれば、このスレは安泰するんだが、分かるかね?

103 名前:45 [2008/07/15(火) 10:47:03 ]
>>79
一匹だけ抜き出す方法教えてくれませんか?
自機はできたので大丈夫そうです。

104 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:52:49 ]
>>103
この間の君かw

void elCreate(void)
というところの

Zako[0] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",3, 0, 0,5, 2,40,40);
Zako[1] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",2,200, 0,5, 2,40,40);
Zako[2] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",6, 0, 80,5, 2,40,40);
Zako[3] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",5,200, 80,5, 2,40,40);

というのが敵クラスを生成して画像を当てはめてるところ。

void MainScreen(void)
というところの

for(int i=0;i<4;i++){
Zako[i]->Draw();
}

というのが敵クラスのDrawを呼び出して移動処理+描画をさせてる。


やっぱりクラス部分ではまったか・・・

途中でやってた人がクラスで作ってきたがそれまでがそんなのできそうな気配が
なかったのでいいのかな〜?と心配はしてたんだがw

105 名前:45 [2008/07/15(火) 11:04:59 ]
>>103
つまり…
for(int i=0;i<4;i++){
Zako[i]->Draw();
}

for(int i=0;i<1;i++){
Zako[i]->Draw();
}
にすれば良いのですか?

106 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:06:33 ]
>>105
それでもいいけど1個しか使わないなら

Zako[0]->Draw();

だけでいいかな

まあ本当は配列にする必要すらないんだけどね



107 名前:45 [2008/07/15(火) 11:15:44 ]
>>106
ありがとうございます。無事にできました!
あと、影は使わないので消す事できましたが、
  下の 1,"bmp/kage2.bmp",3, 0, 0,5, 2,40,40の部分は使わないので消しても平気でしょうか?
Zako[0] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",3, 0, 0,5, 2,40,40);
Zako[1] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",2,200, 0,5, 2,40,40);
Zako[2] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",6, 0, 80,5, 2,40,40);
Zako[3] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",5,200, 80,5, 2,40,40);

Bocty[0] = new PlayerChara(60,660,"bmp/bocty.BMP",2,"bmp/kage.bmp",3, 0, 0,1,11,60,60);
Bocty[1] = new PlayerChara(60,660,"bmp/bocty.BMP",2,"bmp/kage.bmp",3, 60, 0,1,11,60,60);
Bocty[2] = new PlayerChara(60,660,"bmp/bocty.BMP",2,"bmp/kage.bmp",3,120, 0,1,11,60,60);
Bocty[3] = new PlayerChara(60,660,"bmp/bocty.BMP",2,"bmp/kage.bmp",3,180, 0,1,11,60,60);
Bocty[4] = new PlayerChara(60,660,"bmp/bocty.BMP",2,"bmp/kage.bmp",3, 60,360,1, 1,60,60);

108 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:24:15 ]
>>107
新しい方のお題がさっぱりわからないんだけど
Ex09のお題でいうところの自分で操作するキャラクターと跳ね回ってる敵の両方で影を使わないので
あればクラスの
class Chara{

<中略>

Chara(int _w,int _h,char *imgname,int _draw_type,char *kagename,
int _show_cnt = 0,
int _start_x = 0, int _start_y = 0,
int _div_x = 1, int _div_y = 1,
int _div_h = 0, int _div_w = 0)
{

Chara(int _w,int _h,char *imgname,int _draw_type,
int _show_cnt = 0,
int _start_x = 0, int _start_y = 0,
int _div_x = 1, int _div_y = 1,
int _div_h = 0, int _div_w = 0)
{
として

続く



109 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:25:29 ]
>>108の続き

class PlayerChara : public Chara
{
public:
PlayerChara(int _w,int _h,char *imgname,int _draw_type,char *kagename,
int _show_cnt = 0,
int _start_x = 0, int _start_y = 0,
int _div_x = 1, int _div_y = 1,
int _div_h = 0, int _div_w = 0) :
Chara(_w,_h,imgname,_draw_type,kagename,_show_cnt,_start_x,_start_y,_div_x,_div_y,_div_h,_div_w)
{
setPos(px,py);
}



class PlayerChara : public Chara
{
public:
PlayerChara(int _w,int _h,char *imgname,int _draw_type,
int _show_cnt = 0,
int _start_x = 0, int _start_y = 0,
int _div_x = 1, int _div_y = 1,
int _div_h = 0, int _div_w = 0) :
Chara(_w,_h,imgname,_draw_type,_show_cnt,_start_x,_start_y,_div_x,_div_y,_div_h,_div_w)
{
setPos(px,py);
}

とすれば
続く

110 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:27:47 ]
>>109の続き

Zako[0] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",3, 0, 0,5, 2,40,40);

の"bmp/kage2.bmp"は指定しなくてOKだし

Bocty[0] = new PlayerChara(60,660,"bmp/bocty.BMP",2,"bmp/kage.bmp",3, 0, 0,1,11,60,60);

の"bmp/kage.bmp"は指定しなくてOK


でも自分で操作するほうだけ影を残す場合は継承?してるっぽいのでちょっといじりかた変わると思う。
C++あまり詳しくないのであれなんだけどさ・・・^^;

111 名前:51 mailto:sage [2008/07/15(火) 11:31:07 ]
>>91

ありがとうございます
無事できました

112 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:37:17 ]
ja.wikipedia.org/wiki/%E6%8C%BF%E5%85%A5%E3%82%BD%E3%83%BC%E3%83%88

113 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:47:18 ]
ヒント:挿入ソートは比較対象となる値を記憶しておく変数を使い
比較中は押し出すだけで、最後に対象の位置へその値を入れるため
スワップの必要が無い。

114 名前:45 [2008/07/15(火) 11:52:55 ]
>>108
>>109
これ全部やった後、>>110のようにやって。
これにしました。
  Zako[0] = new Chara(200, 80,"bmp/teki.bmp",1,3,0,0,5,2,40,40);

Bocty[0] = new PlayerChara(60,660,"bmp/bocty.BMP",2,3,0,0,1,11,60,60);
Bocty[1] = new PlayerChara(60,660,"bmp/bocty.BMP",2,3,60,0,1,11,60,60);
Bocty[2] = new PlayerChara(60,660,"bmp/bocty.BMP",2,3,120,0,1,11,60,60);
Bocty[3] = new PlayerChara(60,660,"bmp/bocty.BMP",2,3,180,0,1,11,60,60);
Bocty[4] = new PlayerChara(60,660,"bmp/bocty.BMP",2,3,60,360,1,1,60,60);

そうしたら
cpp(73) : error C2065: 'kagename' : 定義されていない識別子です。
って出たんですけど、影関係全部消去した方が良いのですか?

115 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:57:07 ]
>>114
>>109
のこれ忘れてる?
Chara(_w,_h,imgname,_draw_type,kagename,_show_cnt,_start_x,_start_y,_div_x,_div_y,_div_h,_div_w)
{
setPos(px,py);
}



Chara(_w,_h,imgname,_draw_type,_show_cnt,_start_x,_start_y,_div_x,_div_y,_div_h,_div_w)
{
setPos(px,py);
}

116 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 12:15:02 ]
すいませんが>>55をお願いします

117 名前:45 [2008/07/15(火) 12:29:19 ]
>>115
ありがとうございます!できました!
敵をこれ↓に変えて、跳ね返るときに音鳴らすのはどうやってやるんですか?
www.dotup.org/uploda/www.dotup.org5699.bmp.html

118 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 12:35:25 ]
>>60
いや、macになったよ



119 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 12:35:59 ]
>>117
画像のサイズが同じならファイル名同じにして入れ替えるだけだろ

120 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 12:36:12 ]
>>118
コンパイラと言語は同じでは?

121 名前:デフォルトの名無しさん [2008/07/15(火) 12:37:32 ]
>>17を誰かお願いします。

122 名前:115 mailto:sage [2008/07/15(火) 12:40:04 ]
>>119
いや違う

void Draw()
{

if(draw_type == 0){
cw = w;
cx = 0;
ch = h;
cy = 0;
}else{
cw = div_w;
cx = start_x + (cw * (img_id % (div_x)) );
ch = div_h;
cy = start_y + (ch * (img_id / div_x) );
}
この部分で与えられた画像が1画像1キャラか1画像の指定開始位置から縦方向にn個あるか
しか現在処理できないようになってるので横方向にn個並んでる際の処理がいる

123 名前:115 mailto:sage [2008/07/15(火) 12:41:35 ]
ってなんで他人が設計した得意でもないC++の解説をやってるんだ俺はorz

124 名前:115 mailto:sage [2008/07/15(火) 12:43:25 ]
あ、敵が横だな。
いけるのかな?



125 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 12:52:54 ]
>>55 >>116
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7376.c

126 名前:115 mailto:sage [2008/07/15(火) 13:01:30 ]
Zako[0] = new Chara(200, 80,"bmp/teki.bmp", 1,3, 0, 0,10, 1,40,40);

引数1,2 任意の座標にしてね。
引数3 今回表示したいbmpのファイル名称に
引数4 1でOKかな?
引数5 キャラクターのアニメーション用コマの切り替えタイミング?3だと1/60*3で切り替えかな?
引数6,7 画像の開始位置、今回の画像は1画像に1キャラの複数コマしかないので0,0で
引数7,8 横方向に10個、縦方向に1個分しかないので10,1で
引数9,10 1キャラの縦横サイズが40x40ドットなので40,40で


127 名前:115 mailto:sage [2008/07/15(火) 13:03:12 ]
>>126の続き

サウンド系のお話
class Chara の

virtual void Move()
{

if( (x > 640-cw) || (x < 0) ) {
dx = -dx;
x = x + dx;
}
if( (y > 480-ch) || (y < 0) ) {
dy = -dy;
y = y + dy;
}
x = x + dx;
y = y + dy;
}

続く

128 名前:115 mailto:sage [2008/07/15(火) 13:04:12 ]
>>127の続き

virtual void Move()
{
int soundflg = 0;
if( (x > 640-cw) || (x < 0) ) {
dx = -dx;
x = x + dx;
soundflg = 1;
}
if( (y > 480-ch) || (y < 0) ) {
dy = -dy;
y = y + dy;
soundflg = 1;
}
if (soundflg == 1)
{
//鳴らしたい音の処理
}
x = x + dx;
y = y + dy;
}

とでもすればOKかな?
elのサウンド系はよくわからん



129 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:06:33 ]
>>1
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

130 名前:115 mailto:sage [2008/07/15(火) 13:09:11 ]
ああ、すまん

131 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:15:43 ]
>>55

void del_chr(char *str, char c){
char *s,*d;
s = d = str;

do{
if(*s != c) *d++ = *s;
}while(*s++);
}


132 名前:131 mailto:sage [2008/07/15(火) 13:17:07 ]
かぶった。
リロードしてなかったorz

133 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:17:46 ]
>>120
別の学校で同じ課題が出たのかな。
先生も課題考えるのめどいんだろうなー

134 名前:115 mailto:sage [2008/07/15(火) 13:18:56 ]
>>133
実は先生も課題用として動く物をこのすれの住人に作らせてると
俺は常々思ってる。

135 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:20:54 ]
そんな先生がいたらちょっとした質問であたふたしそうだw

136 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:23:12 ]
>>125,131
ありがとうございます

…そっか、do文か

137 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:27:14 ]
>>134
う〜〜ん・・・同じ学校の別の生徒と思われるかもしれんが、もしかすると
講師が課題作りをしたは良いが、模範解答をどうしようか考えて
ここを利用している可能性もあるかもね・・・その構図を思い浮かべて、
ちょっとワラタw っつか、俺利用されたっ!?

138 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:28:35 ]
学生臭いスレですね



139 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:29:56 ]
>>131
うおっ、その手があったか。先にレスしたけど、それパクらせてもらうw

140 名前:115 mailto:sage [2008/07/15(火) 13:31:37 ]
現実にそれっぽいのがあったんだよ。

週末にここで質問された内容が週明けに再度復活とかさ・・・・

141 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:33:36 ]
>>35
pc11.2ch.net/test/read.cgi/tech/1215439445/723
pc11.2ch.net/test/read.cgi/tech/1215439445/725
pc11.2ch.net/test/read.cgi/tech/1215439445/757
pc11.2ch.net/test/read.cgi/tech/1215439445/760


142 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:35:09 ]
>>140
なるほど、確かに。講師が模範解答の依頼、それを次の授業の後に
ここで質問した人が、既出のソースをそのまま提出して
お前、あのスレを使ったな?っとバレて単位がもらえないなんて
ことが、どこかの学校であるかも・・・そんな構図を思い浮かべて
ますます吹いたw

143 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:37:52 ]
>>141 のソースに、2 2 0 と入力した場合について指摘がされているが
それをどう解釈するか?確かにこの場合、2番目も1番目も同じと
解釈するなら、2でも問題なし。まぁ、同じでも偶数は2つ入力されている
わけだから、これでも問題の趣旨としては条件を満たしていると思われる。

144 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:41:31 ]
学生だって土日は外で遊ぶこともあるべ

145 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:52:55 ]
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
次の説明を読んで、プログラムを作成しなさい。

小数で入力される気温のデータを5℃単位の整数に丸めたい。
キーボードからdouble型変数kに気温を入力し、
丸めた数値はint型変数gに求め、gを画面に出力する。

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

また必要なら、
計算途中の中間結果を格納するint型変数wなど、
適宜変数を用意すること。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:VC
 [3.3] 言語: C++
[4] 期限:
[5] その他の制限: 繰り返しや分岐を使わず、簡単な計算で

146 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:53:54 ]
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
キーボードから100点満点のテストの点数を入力し(-1で終了)、
10点ごとの人数を int型の配列 count[11]に数えるプログラムを
作成せよ。 テストは100点満点とし、それ以外の入力はエラーとし
て無視する。ただし -1 はデータの終了を表すものとする。 点数
の入力が終了したら、度数分布を画面に出力して終了する。出力は
人数と,*(アスタリスク)によるグラフとする。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:VC
 [3.3] 言語: C++
[4] 期限:
[5] その他の制限:

147 名前:デフォルトの名無しさん [2008/07/15(火) 13:54:37 ]
>>128
ありがとうございます!無事鳴りました。
自機も移動する時鳴らしたいのですが、同じようにやるんですか?

148 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:55:09 ]
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
次の処理を行うプログラムを作成し実行結果を確認しなさい。

int型の配列a[5]、int型へのポインタp1, p2を宣言する
配列名aで表示される値を画面に出力する
配列a[5]のすべての要素のアドレスを出力する
ポインタp1にa[0]のアドレス、ポインタp2にa[4]のアドレスを格納する
p1 - p2を計算し出力する
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:VC
 [3.3] 言語: C++
[4] 期限:
[5] その他の制限:
3問」ありますが、よろしくお願いします。



149 名前:115 mailto:sage [2008/07/15(火) 14:17:45 ]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7380.txt


150 名前:115 mailto:sage [2008/07/15(火) 14:18:16 ]
>>149>>147

151 名前:115 mailto:sage [2008/07/15(火) 14:27:29 ]
すまん、フラグを立てる際間違えてた

if(key_lt == HOLD_KEY || key_rt == HOLD_KEY) {
if( tx >= 0 && tx + cw <= 640){
px = tx;
soundflg1 = 1;
} else {
soundflg2 = 1;
}
}
if(key_up == HOLD_KEY || key_dn == HOLD_KEY) {
if( ty >= 0 && ty + ch <= 480){
py = ty;
soundflg1 = 1;
} else {
soundflg2 = 1;
}
}

152 名前:デフォルトの名無しさん [2008/07/15(火) 14:33:36 ]
[1] 授業単元: C言語プログラミング
[2] 分数の四則演算を計算するプログラムを作成する
[3] 環境
[3.1] OS: Windows 
[3.3] 言語・C++
[4] 期限: ([2008年7月21日14:00まで
[5]条件
  分数を、 1|3 のように、| (縦棒)という記号で分子・分母を区別する。/ (スラッシュ)だと除算記号と混同してしまうから。
計算規則
 a|b + c|d = (a*d + b*c) | (b*d)
 a|b - c|d = (a*d - b*c) | (b*d)
 a|b * c|d = (a*c) | (b*d)
 a|b / c|d = (a*d) | (b*c)
計算結果については,分母が1の時には分子のみの表示にする。分数が0(ゼロ)の時には 0(ゼロ)のみを表示する。また,最終の計算結果を既約分数にする。

1.分母がゼロの入力エラーに対しては、再入力するよう促す。

2.除算において、除数がゼロの入力エラーに対しては、再入力するように促す。

3.以下範囲の整数(分子、分母にかかわらず)に対して、正しく計算できるようにすること。
  -2147483648 〜 2147483647



153 名前:115 mailto:sage [2008/07/15(火) 14:42:15 ]
でキー押しっぱなしだとうるせーよ対策バージョンはこれ

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7381.txt

154 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 14:45:19 ]
>>115
やさしいね

155 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 14:46:32 ]
>>154
こういう題材じゃなければぶっちしてるw

156 名前:デフォルトの名無しさん [2008/07/15(火) 15:13:59 ]
>>153
ありがとうございます!できました。
最後に今までのをユーザー関数群でまとめたいのですが、
どうすれば良いでしょう?

157 名前:115 mailto:sage [2008/07/15(火) 15:18:03 ]
うーん

クラスになってるからユーザー関数にするような箇所がないかも?

大半の機能はelライブラリでやってるし・・・

C++得意な方よろしこorz

158 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 15:23:14 ]
>>156
一度自分で完成させたソースを上げて、見てもらったほうがいいよ。




159 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 15:33:00 ]
[1] 授業単元:
C
[2] 問題文(含コード&リンク):()
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7377.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7378.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7379.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
Microsoft Visual Studio 2008
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
明日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
基本ソートのcity.txtは問題文の一番下です。
お願いします。


160 名前:デフォルトの名無しさん [2008/07/15(火) 15:35:53 ]
>>158
分かりました。

その前に自機と敵を下のに変えるには、
どこをどのように変更すれば良いのですか?

自機
www.dotup.org/uploda/www.dotup.org5804.bmp.html


www.dotup.org/uploda/www.dotup.org5806.bmp.html

今までのソース
www.dotup.org/uploda/www.dotup.org5816.cpp.html

161 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 15:36:46 ]
>>35 Thanks, Part112>>760
#include <stdio.h>

int main(void) {
  int m1=0, m2=0, n;

  while( scanf("%d",&n) ) {
    if(n == 0) break;
    if(n%2 == 1) continue;
/*
 * if(n==m1) continue;
 * if(n >m2) m2=n;
 * if(m1<m2) swap(&m1, &m2); */
    if(n>m2) {
      if(n>m1) { m2=m1; m1=n;}
      else if(n==m1) ;
      else m2=n;
    }
  }
  printf("%d \n",m2);
  return 0;
}

162 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 15:39:39 ]
>>145

#include <iostream>

int main(void){
double k;
int g;

std::cout << "気温を入力:";
std::cin >> k;
g = k / 2.5;
g += g % 2;
g = g / 2 * 5;
std::cout << "気温は約" << g << "℃です。" << std::endl;
return 0;
}


163 名前:115 mailto:sage [2008/07/15(火) 15:42:52 ]
>>160
その敵のほうのさ、白いのっていまどきマスクパターンっていわないよねw

あくまで敵が何か発動中はその白塗りになると思っていいよね?

164 名前:デフォルトの名無しさん [2008/07/15(火) 15:47:31 ]
>>163
はい。そうです。

165 名前:デフォルトの名無しさん [2008/07/15(火) 15:48:50 ]
>>163
跳ね返りの時、白く点滅できれば…。

166 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 15:52:06 ]
>>35
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7382.txt
指摘のあった、一番大きい値が2回入力された場合に対処してみた。

167 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 15:58:04 ]
>>152
適当に
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7383.cpp

168 名前:161 mailto:sage [2008/07/15(火) 16:01:52 ]
scanf の戻り値はエラーなら0か-1



169 名前:58 mailto:sage [2008/07/15(火) 16:04:08 ]
すみません
どなたか>>58をお願いできませんか?

170 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 16:07:23 ]
>>146
#include <iostream>

int main(void){
int count[11];
int n;

for(int i = 0;i < 11;i++) count[i] = 0;
while(1){
std::cout << "点数入力:";
std::cin >> n;
if(n == -1) break;
if(0 <= n && n <= 100) count[n/10]++;
}
for(int i = 0;i < 10;i++){
std::cout << std::endl << i * 10 << "〜" << i * 10 + 9 << "(" << count[i] << "名)\t|";
while(count[i]-- > 0) std::cout << "*";
}
std::cout << std::endl << "100(" << count[10] << "名)\t|";
while(count[10]-- > 0) std::cout << "*";

return 0;
}


171 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 16:09:06 ]
>>148
#include <iostream>

int main(void){
int a[5],*p1,*p2;

std::cout << "a=" << a << std::endl;
for(int i = 0;i < 5;i++){
std::cout << "a[" << i << "]のアドレス:" << &a[i] << std::endl;
}
p1 = &a[0];
p2 = &a[4];
std::cout << "p1 - p2 (&a[0] - &a[4]) = " << p1 - p2 << std::endl;

return 0;
}


172 名前:115 mailto:sage [2008/07/15(火) 17:04:35 ]
>>163
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7384.txt


173 名前:115 mailto:sage [2008/07/15(火) 17:05:06 ]
>>163じゃねえ>>165

174 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 17:10:56 ]
[1] 授業単元:プログラミング第一
[2] 問題文(含コード&リンク):
構造体bintree_nodeを次のように定義する。
typedef struct bintree_node{
int value;
struct bintree_node *lt,*rt;
} *bintree;
このとき、次の条件を満たす関数void delgraph(bintree t)を作成せよ。
・tからたどることのできる節点をすべてfreeによって消去する
・tに合流点・ループがあっても必ず停止し、かつどの節点にもfreeが2回以上適用されないようにする
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
7/16 12:00
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
以前、似たような問題をこちらで聞いた時のプログラム(木構造に合流点やループがないかどうか調べる)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7386.c
に付け足していただけるとうれしいです。

175 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 17:11:05 ]
PlayerChara(60,660
この数字がおかしいな



176 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 17:42:27 ]
>>89
m(dz^2/dt^2)-an/h(dz/dt)-kz=0

177 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 17:48:23 ]
>>100ですが、
回答はご用意頂けたでしょうか?

178 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 18:00:38 ]
>>174
その元のコードだとbintreeはmallocを使わず実装してるので
この課題には流用しずらい。

それに付け足すまでもなく自明に実装できる。
void delgraph(bintree tree){
static bintree_node dummy;
if(!tree || tree->lt == &dummy)return;
bintree lt = tree->lt,rt=tree->rt;
tree->lt = &dummy;
delgraph(lt);
delgraph(rt);
free(tree);
}
ようするに一度巡回したノードにはltにdummy突っ込んでおくだけ。
削除するんだから値を勝手に書き換えても問題ないだろう。



179 名前:デフォルトの名無しさん [2008/07/15(火) 18:17:51 ]
0の値が格納された整数変数 pos_area を使って bst_sorted_output(root,A,&pos_area)を実行することにより、
2分探索木に格納されている整数データを配列Aへ小さい順に整列して出力する関数bst_sorted_output(Node *node, int A, int *pos)をC言語を用いてコーティングせよ。
ただし、変数*pos(実体はpos_area)は配列Aにおける次の格納位置を示すのに使うものとする。

180 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 18:20:21 ]
>>177
#include<stdio.h>
#include<stdlib.h>
int fib(int i){
static int count;
int answer;
if(i==0){ int ret=count;count=0;return ret; }
if(i <=2){ return 1;}
answer = fib(i-1) + fib(i-2); // 3回加算
count+=4; // 1回加算 計4回
return answer;
}
int fib2(int i){
static int count;
int n, fib_n_0=1, fib_n_1=1, fib_n_2=1;
if(i==0){ int ret=count;count=0;return ret; }
for(n=3;n<=i;n++){ // 1回加算
fib_n_2=fib_n_1+fib_n_0; // 1回加算
fib_n_0=fib_n_1;
fib_n_1=fib_n_2;
count+=3; // 1回加算 計3回
}
return fib_n_2;
}
int main(int argc, char *argv[]){
int fib_n=20;
printf("%d ", fib(fib_n));
printf(" %d\n", fib(0));
printf("%d ", fib2(fib_n));
printf(" %d\n", fib2(0));
return 0;
}

181 名前:174 mailto:sage [2008/07/15(火) 18:52:33 ]
>>178
回答ありがとうございます。
いただいたのをもとにプログラムを書いてみたんですが、うまく削除できてないみたいなんです・・・
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7387.c
これを実行すると@を5回表示するんですが、bintree 〜 is deleted.のほうは表示されなくて。
申し訳ありませんがもう1度見ていただけますか。

182 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 18:56:27 ]
>>181
削除は出来ている。
ただ、ローカル変数のta0とかの値は削除したからって自動でNULLにならない。
単にbintree 〜 is deleted.の部分のif文がおかしいだけ。

183 名前:174 mailto:sage [2008/07/15(火) 19:10:38 ]
>>181
調べてみたら、確かにfreeした後の領域はNULLではなくて、
何があるかわからないということが書いてありました。
そうすると、削除したかどうかってどうやって調べればいいんでしょう・・・。

184 名前:デフォルトの名無しさん [2008/07/15(火) 19:13:47 ]
>>35 なのですが、関数を使わずにか、
#include <stdio.h>
void swap(int *a, int *b) {
int c;
c=*a; *a=*b; *b=c;
}
int main() {
int max1 = 0, max2 = 0, num;
while(scanf("%d", &num) == 1){
if(num == 0) break;
if(num < 0 || num % 2 == 1) continue;
if(num > max2) max2 = num;
if(max1 < max2) swap(&max1, &max2);
}
printf("%d\n", max2);
return 0;
}
*aやcontinue、&max1を使わずに出来ないでしょうか?
何度も申し訳ありません。

185 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:18:37 ]
>>184
このスレ内に汝の欲するものは既にある

186 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:19:55 ]
空白文字の個数を保ったまま、文字列を単語単位で処理をしたいんですが
どのように記述するのが良いのでしょうか

例えば次の文字列があり、単語の先頭にあるaだけ大文字にしたいです

_aba__dea__aga__   (_は空白)
_Aba__dea__Aga__   (こうなってほしい)

stringstreamでパースして、後で結合する方法を思いつきましたが、この方法だと空白は消えてしまいました。
地道に1文字ずつみて、str[i]==0 || (str[i-1]==' ' && str[i]!=' ')
こういった判定をする以外に良い方法ってありますか?

187 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:24:39 ]
UDP:相手先のオンライン、着信確認をせずに送ること
TCP:相手先がオンラインであること、着信確認を取った上で送ること
という理解でいいでしょうか?

188 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:31:55 ]
>>186
こういうことをしたいのかな?
それともaだけを大文字にするのかな?
#include<iostream>
#include<string>
#include<cctype>

int main(void){
std::string foo=" aba dea aga ";

std::cout << foo << std::endl;
for(int i=0,next_toupper_flag=1;i<foo.size();i++){
if(next_toupper_flag) foo[i]=toupper(foo[i]); // 書き換えてるけどこれっておk?
if(isspace(foo[i])) next_toupper_flag=1;
else next_toupper_flag=0;
}
std::cout << foo << std::endl;
}



189 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:37:21 ]
>>186
while (*str)
{
while (*str == ' ') str++;
if (*str == 0) break;
else if (*str == 'a') *str = 'A';
while (*str && *str != ' ') str++;
}


190 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:37:29 ]
うpローダー使おうよ

191 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:49:53 ]
複数レスにならない限り過去ログに残るほうがうれしい
質問者側としては検索で出てくるのはまずいかもしれないが…

変数名変えれば多分大丈夫さw

192 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:51:40 ]
[1] 授業単元:C言語
[2] 問題文 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7388.txt
[3] 環境
 [3.1] OS: Windowsxp
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C
[4] 期限:7月18日

お願いします

193 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 20:05:21 ]
>>192
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7389.txt


194 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 20:06:24 ]
すいませんがお願いします。

[1] 授業単元: Cプログラミング演習
[2] 問題文(含コード&リンク)

以下のようなdouble型配列がある。配列の全要素の合計と平均を求める
プログラムをポインタを使用して作成しなさい。

[配列の定義]
double date[5]={10.8,20.3,30.6,40.4,50.5}

[実行結果]

配列の内容
date[]=10.800000,20.300000,30.600000,40.400000,50.500000
合計=152.600000
平均=30.520000

[3] 環境
 [3.1] OS: (Windows vista)
 [3.2] コンパイラ名とバージョン: (visual studio 2005 )
 [3.3] 言語: (C言語)
[4] 期限:今週いっぱいまで
[5] その他の制限: (シンプルにおねがいします)


195 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 20:07:51 ]
>>193どうもです!!

196 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 20:35:23 ]
>>194
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[]){
double date[5]={10.8,20.3,30.6,40.4,50.5}, *p=date, sum, ave;
int i;

printf("date[]=%.6f", sum=*p++);
for(i=1;i<5;i++,p++){
printf(",%.6f", *p);
sum+=*p;
}
ave=sum/5;
printf("\n合計=%.6f\n", sum);
printf("平均=%.6f\n", ave);
return 0;
}

197 名前:デフォルトの名無しさん [2008/07/15(火) 20:36:13 ]
>>184
やっぱりわからないです…



198 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 20:47:23 ]
[1] 授業単元: Cプログラミング
[2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7390.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] gcc 
[3.3] 言語:C
[4] 期限:7月17日

お願いします。



199 名前:194 mailto:sage [2008/07/15(火) 20:48:48 ]
>>196
すごい、完璧に動きました。
ありがとうございます!

200 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 20:50:55 ]
完璧に動く > 完動 > 感動した!

201 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:06:53 ]
>>194 シンプル >
#include <stdio.h>

#define COUNT 5
double date[5]={10.8,20.3,30.6,40.4,50.5};

void main(void)
{
  int i;
  double *p=date, sum=0.0, ave;

  printf(" 配列の内容\n date[]=");
  for(i=0; i<COUNT; i++, p++) {
    sum += *p;
    printf("%f", *p);
    if(i < COUNT-1) printf(",");
  }
  ave = sum / COUNT;
  printf("\n 合計=%f\n 平均=%f\n", sum, ave);
}

202 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:09:30 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7391.txt
[3] 環境
 [3.1] OS:windowsXP
 [3.2] コンパイラ名とバージョン:VC6.0
 [3.3] 言語: C++
[4] 期限: 至急
[5] その他の制限:問題文をソースの上に載せています。よろしくおねがいします


203 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:09:34 ]
>>198
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7392.txt

204 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:11:27 ]
動作は完璧かもしれないが、出題内容のdateはdataに変えるべきだと思った。

205 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:12:53 ]
>>198
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7393.txt

206 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:20:39 ]
どうか>>50をお願いします!!

207 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:21:22 ]
[1] 授業単元:数値計算
[2] 問題文(含コード&リンク):
y' = x +y
y(0) = 0
の厳密解を求めるプログラムを作って☆
[3] 環境
 [3.1] OS:mac os x leopard
 [3.2] コンパイラ名とバージョン:gcc.4.0.1
 [3.3] 言語: C
[4] 期限: 至急
[5] その他の制限:printfもfprintfもしなくて結構です。ええ、そうです。私ができないのは積分なのです…orz

すいませんすいませんすいませんすいませんすいません…。公式分かってるけど、計算ミスが多すぎて何が何だかなのです><

208 名前:186 mailto:sage [2008/07/15(火) 21:26:37 ]
>>188
ありがとうございます。
next_toupper_flagで単語の先頭(書き換えるべき箇所)を保持してるわけですね
書き換えもOKだったので助かりました。

>>189
ポインタ苦手なんですが、何とか理解できました。
最初、全てのaを置換しているのかと思いましたが
最後のwhileで先頭以外を読み飛ばしてるんですね




209 名前:デフォルトの名無しさん [2008/07/15(火) 21:41:29 ]
>>184ですが
関数使わずにか* & continueを使わない方法ないですか?
図々しいとは思いますが、今日中なので頼みます

210 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:46:25 ]
>>209
>>166 でダメなら諦めるしかない

211 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:55:52 ]
>>107
>>110
Zako[0] = new Chara(200, 80,"bmp/teki.bmp", 1,NULL,3, 0, 0,5, 2,40,40);
にすればいいだけなのに(´;ω;`)

>>126
引数4は

0-背景
1- パターン1 → パターン2 → …… → パターンN → パターン1→ ……
2- パターン1 → パターン2 → …… → パターンN → パターンN-1 → パターンN-2 → …… → パターン1 → ……

212 名前:デフォルトの名無しさん [2008/07/15(火) 21:58:06 ]
>>210
アドバイスありがとうございます。


213 名前:198 mailto:sage [2008/07/15(火) 22:02:15 ]
>>205
ありがとうございます!
初めて見る単語の理解に努めます・・・

214 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 22:12:06 ]
[1] 授業単元: Cプログラミング演習
[2] 問題文
20次元の2つのベクトル余弦cos(θ)を求めよ。
ベクトルの要素はそれぞれ、ユーザーが入力すること。ベクトル要素は
double型とすること。


[3] 環境
 [3.1] OS: (Windows vista)
 [3.2] コンパイラ名とバージョン: Linux
 [3.3] 言語: (C言語)
[4] 期限:7/16
[5] その他の制限: 特になし


215 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 22:42:36 ]
>>4 07/15 13:00 線形リスト
>>17 07/15 14:00 分数の四則演算を計算するプログラム
>>35 07/15 17:00 キーボード入力と表示 : >>72, >>141, >>161, >>166
>>37 07/15 17:00 数字の読み方 : >>39, >>40, >>42?
>>44 07/17 --:-- 4択3種
>>45 07/15 07:00 ゲーム? : >>108->110 その他アドバイスは多数
>>46 07/18 --:-- メディアン : >>47, >>49
>>50 07/17 00:00 減衰振動
>>51 07/15 12:00 ソーティング:基本交換法と挿入法 : >>91
>>55 07/15 14:00 文字列中の特定文字を削除 : >>125, >>131
>>58 07/15 18:00 木構造を用いた数式の処理
>>84 07/16 12:30 自由落下・BMI : >>86

216 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 22:44:03 ]
>>100 07/17 --:-- フェボナチ数列 : >>180
>>145 --/-- --:-- 5ごとに丸め >>162
>>146 --/-- --:-- 数字入力と度数分布表示 : >>170
>>148 --/-- --:-- ポインタ演算 : >>171
>>152 07/21 14:00 = >>17 : >>167
>>159 07/16 --:-- 複素数演算・ソーティング
>>174 07/16 12:00 領域開放 : >>178?
>>179 --/-- --:-- 2文木->配列
>>186? : >>188, >>189

217 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 22:44:33 ]
>>192 07/18 --:-- ? : >>193
>>194 07/18 --:-- 配列の全要素の合計と平均 : >>196, >>201
>>198 07/17 --:-- 大文字小文字3題 : >>203, >>206
>>202 --/-- --:-- (ごめんなさい、よくわからないです。)
>>207 --/-- --:-- 微分方程式の解析解
>>214 07/16 --:-- 20次元の2つのベクトル余弦

218 名前:84 mailto:sage [2008/07/15(火) 22:45:01 ]
>>86
ありがとうございます!
まさかこんなに早く答えていただけるとは・・・助かりました。
見たことある単語がいくつもあったので自分にも理解できそうです。



219 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 22:49:39 ]
>>214 20次元の場合の計算方法はこれでいいのか?
#include<stdio.h>
#include<math.h>
#define EPS (1.0e-20)
typedef struct tag_vector20d_t{
double num[20];
}vector20d_t;
double vector20d_size(const vector20d_t *vector20d){
int i; double x2=0.0;
for(i=0;i<20;i++) x2+=vector20d->num[i]*vector20d->num[i];
return sqrt(x2);
}
double vector20d_inner_product(const vector20d_t *a, const vector20d_t *b){
int i; double ret=0.0;
for(i=0;i<20;i++) ret+=a->num[i]*b->num[i];
return ret;
}
double vector20d_cos(const vector20d_t *a, const vector20d_t *b){
double size_a, size_b;
size_a=vector20d_size(a);
size_b=vector20d_size(b);
if(size_a<EPS || size_b<EPS) return -10.0;
return vector20d_inner_product(a, b)/(size_a*size_b);
}
int main(void){
int i; vector20d_t a, b;
for(i=0;i<20;i++) scanf("%lf", &(a.num[i]));
for(i=0;i<20;i++) scanf("%lf", &(b.num[i]));
printf(" %f\n", vector20d_cos(&a, &b));
return 0;
}

220 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 23:09:22 ]
>>100
ありがとは?

>>596
過去ログ嫁

221 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 23:13:59 ]
>>201
ループの中に無駄な分岐を入れるのはバカ

222 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 23:16:34 ]
>>221
どのくらい早くなりますか?

223 名前:174 mailto:sage [2008/07/15(火) 23:27:22 ]
追記です。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7387.c
でta1のltをta4にしたとき(合流点があるとき)、@を1つ出力したあとAbortedと出て強制終了してしまいます。
(↑ta4をfreeしたあとta3でta4にアクセスしようとするから?)
他にも、ta3のrtをta2にするとSegmentation Errorとなってしまいます。
ループのときは正しく動いているようなので、上の2つのようなときに正しく動けばいいんですが・・・
よろしくお願いします。(引き続き>>183も答えていただけると幸いです)

224 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 23:27:27 ]
>>201
このばあいほとんど分岐が起こらないから、きにする必要なし。

225 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 23:39:35 ]
分岐結果の分布がどうとかではなくて毎回判定処理が動作することを懸念してるんで無いの?
今回の場合は大差ないし、そういうのは必要に応じてやればいいと思うけど。

226 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 23:45:30 ]
なんでもループにまとめたり、短く書くことがいいことだと思う時期があんだよな。

227 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 00:14:21 ]
>>223
あーそれは俺のバグだなぁ。
たしかにfreeを実行するタイミングが早すぎた。
修正してみた。あんまり自明なアルゴリズムじゃなくなってしょんぼり。
void delgraph2(bintree tree,bintree*rest){
static bintree_node dummy;
if(tree && tree->lt != &dummy)
{
bintree lt = tree->lt , rt = tree->rt;
tree->lt = &dummy;
tree->rt = *rest;
*rest = tree;
delgraph2(lt,rest);
delgraph2(rt,rest);
}
}
void delgraph(bintree tree){
bintree rest = NULL;
delgraph2(tree,&rest);
while(rest){
bintree self=rest;
rest = rest->rt;
free(self);
}
}


228 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 00:18:00 ]

[1] 授業単元: Cプログラミング演習
[2] 問題文
#include<stdio.h>
#include<string.h>

main()
{char string[]= "I write the book about internet search engine.";
printf("%s",string);
}


string内の配列内の文字列の順番を逆にせよ。ただし出力だけが逆文字
に表示されては駄目である。配列の中身自体を変えなければいけない

[3] 環境
 [3.1] OS: (Windows vista)
 [3.2] コンパイラ名とバージョン: Linux
 [3.3] 言語: (C言語)
[4] 期限:7/16
[5] その他の制限: 特になし




229 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 00:23:19 ]
#include <stdio.h>

int main(void)
{
char string[] = "I write the book about internet search engine.", *p, *q, temp;

printf("%s\n", string);

for(p=string; *p; p++);
q = string;
while(p-- > q) {
temp = *p;
*p = *q;
*q++ = temp;
}

printf("%s\n", string);

return 0;
}

230 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 00:25:13 ]
>>228 過去ログ
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7350.txt

231 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 00:27:38 ]
[1] 授業単元:プログラム実習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7395.txt
[3] 環境
 [3.1] OS: windows xp
 [3.2] コンパイラ名とバージョン:vc6.0
 [3.3] 言語: C++
[4] 期限: 早急に…
[5] その他の制限:
配列の問題です よろしくおねがいします



232 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 00:33:58 ]
>>231
すまないが、配列の配列は動的に確保できないんじゃよ。We apologize for your inconvenience...

233 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 00:40:22 ]
>>231
>>28 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7369.txt

234 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 01:24:02 ]
[1] 授業単元:数値解析
[2] 問題文(含コード&リンク):減衰振動の運動方程式
m(d^2x/dt^2)=−kx−α(dx/dt) をルンゲクッタ法で解くやり方を教えてください
m k αはキーボードからの入力値です 初期条件はx(0)=0 , x'(0)=0です
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C
[4] 期限: >>50でしましたが、とりあえずこれだけわかればなんとかできそうなんで・・・

235 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 01:56:00 ]
>>234
ルンゲクッタ法とか法がつくものは、やり方のことだよ。
明日朝以降にもう一度お願いすれば、もしかしたら
誰かが解いてくれてるかも

236 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 02:02:46 ]
>>235
解くまでもなく
0しか答えがないので釣りとみなされました。

237 名前:デフォルトの名無しさん [2008/07/16(水) 02:16:12 ]
[1] 授業単元:
[2] 問題文(含コード&リンク):ランダムに現れる#、$、%、&を同じ記号で3つ揃えるスロットゲームの作成
  条件:スロットをするかどうかをy、nで判定
     スロットを行う
     実行結果通りの結果を出力させる
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C言語
[4] 期限: 至急
[5] その他の制限:実行結果の例
         スロットをを回しますか?(y/n)>>>y
         幸運をお祈りします
         ###
         大当たり
         スロットを回しますか?(y/n)>>>n
         ありがとうございました

どうかよろしくお願いします

238 名前:44 mailto:sage [2008/07/16(水) 02:31:44 ]
だれか>>44の問題お願いします



239 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 03:35:38 ]
>>44,238
1.1 [A] struct xyz [B] struct xyz [C] {0,0,0} [D] t
1.2 [A] struct xyz * [B] (*x).x [C] (*x).y[D] (*x).z
2.1 typedef struct tDate{ int y,m,d }Date;
2.2 void printDate(Date d) { fprintf( stdout, "%4d/%2d/%2d", d.y,d.m,d.d ); }
2.3
void printDateGen(Date d)
{
#define DD(Y,M,D) ((Y)*10000+(M)*100+(D))
char *Era[] = {"","明治","大正","昭和","平成"};
int y, e, dd = DD(d.y,d.m,d.d);
e = ( dd >= DD(1989,1,8) ) ? 4 : ( dd >= DD(1926,12,25) ) ? 3 : ( dd >= DD(1912,7,30) ) ? 2 : ( dd >= DD(1868,9,8) ) ? 1 : 0;
y = d.y - ( ( e == 1 ) ? 1867 : ( e == 2 ) ? 1911 : ( e == 3 ) ? 1925 : ( e == 4 ) ? 1988 : 0 );
if ( y == 1 ) { fprintf( stdout, "%s 元年 %2d月 %2d日", Era[e], d.m, d.d ); }
else { fprintf( stdout, "%s %2d年 %2d月 %2d日", Era[e], y, d.m, d.d ); }
}


240 名前:237 [2008/07/16(水) 03:44:28 ]
>>>237
誰かお願いします 切羽詰ってます

241 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 04:17:34 ]
>>240
「至急」なんて書かれても、「その内やる」としか思わないんじゃね?

242 名前:237 [2008/07/16(水) 04:24:04 ]
>>>237
午前7時まで

243 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 04:41:34 ]
>>240 >>237
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7400.c
スペースキーを押すと、左から順に止めることが出来る仕様

244 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 04:42:30 ]
あぁ、すまん、繰り返すかの y/n は自分で適当に組み込んでおいて

245 名前:237 [2008/07/16(水) 04:59:02 ]
>>>244
ありがとうございます!
繰り返すのはfor文ですよね?

246 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 05:11:44 ]
うむ。やっぱ、もう少し書き直してみるんでお待ちを

247 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 05:20:46 ]
>>240 >>237
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7401.txt
これでどうかな?

248 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 08:01:50 ]
>>234
とりあえず解いてみてください

ちなみにこれであってる?
一般解の形は x(t)=a*e^(-b*t*i)+c 但し e をネイピア数、i を虚数単位とする



249 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 08:15:52 ]
>>202
コンパイルエラーを取る問題。無理なのでネタと判断した。

250 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 08:16:29 ]
[1] 授業単元: Cプログラミング演習
[2] 問題文
構造体配列struct tfield name[10];がありメンバにchar str1;があるとします
文字列を適当にabscedと標準入力したとして
その文字列を1文字ずつ構造体配列name[i].str1にいれるように.
最終的にそのname[i].str1を表示するブログラムを
[3] 環境
 [3.1] OS: LINUX
 [3.3] 言語: (C言語)
[4] 期限:7/16
[5] その他の制限: 特になし



251 名前:248 mailto:sage [2008/07/16(水) 08:21:46 ]
>>248 の一般解、定数 b が複素数かも
よーわからん

忘却の彼方なので数学部分は中学レベルまでにして

252 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 08:32:55 ]
>>250
文字列の終端はどうするの?
#include<stdio.h>

struct tfield{
char str1;
};

int main(void){
struct tfield name[10];
char buf[10+1]="";
int i;

fgets(buf, sizeof(buf), stdin);
for(i=0;buf[i];i++) name[i].str1=buf[i];
// for(i=0;name[i].str1=buf[i];i++);
for(i=0;i<10;i++) printf("%c\n", name[i].str1);

return 0;
}

253 名前:249 mailto:sage [2008/07/16(水) 08:51:07 ]
void (*a)(const strtype) = show;
void (*b)(const strtype&) = show;

a(hello);
b(hello);

254 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 10:14:17 ]
キーボードから50人分の点数を入力し
90点以上の人の番号と点数を表示せよ。

っていうプログラムってどんな感じですか?

255 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 10:17:58 ]
入力が大変です

256 名前:デフォルトの名無しさん [2008/07/16(水) 10:19:34 ]
[1] 授業単元: Cプログラミング演習
[2] 問題文
キーボードから50人分の点数を入力して、90点以上の人の番号と点数を表示せよ
[3] 環境
 [3.1] OS: vista
 [3.3] 言語: (C言語)
[4] 期限:
[5] その他の制限: 特になし

257 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 10:53:56 ]
>>254
50人分の点数をテキストファイルにでも保存して
リダイレクトを使えば、プログラムを実行してから
毎回入力する手間は省けるが。
あとは、受け継いだ点数から90以上のものをカウントする
プログラムを作ればええがな。

258 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 10:57:34 ]
あ、カウントじゃなくて番号と点数で良いのか。
まぁ、そういうことで、1行ずつ先頭から番号、点数、改行して
50人分の点数を記述するか、点数も乱数を使って発生させるのもありやな。
ってことで、誰かやってちょっ。自分はちと席を外すんで。



259 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 11:14:17 ]
>>256
リダイレクト使った成績入力は自分でやってくれ

#include <stdio.h>

#define CLASSMAX (2) /* クラスの人数 */
#define MAXNAME (128) /* 名前の最大文字数 */
#define BOADER_POINT (90) /* 表示する最低点数 */

/* 生徒1分の成績 */
typedef struct tagRECORD {
char name[MAXNAME];
int point;
} RECORD;

void input_record(RECORD *r, int i)
{
const int MAXBUF = 128;
char buf[MAXBUF];

printf("Name[%d]?:", i);
scanf("%s", r->name);
printf("Point[%d]?:", i);
scanf("%d", &(r->point));
}

void print_record(RECORD *r)
{
printf("Name: %s, Point: %d\n", r->name, r->point);
}


260 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 11:14:58 ]
>>259 続き

int main(int argc, char *argv[])
{
RECORD clsRecord[CLASSMAX];
int i;

/* クラスの成績を入力 */
for (i = 0; i < CLASSMAX; i++) {
input_record(&clsRecord[i], i);
}

/* BOADER_POINT以上の生徒の成績表示 */
printf("\n***** Over %d students *****\n", BOADER_POINT);
for (i = 0; i < CLASSMAX; i++) {
if (clsRecord[i].point >= BOADER_POINT) {
print_record(&clsRecord[i]);
}
}

return 0;
}

261 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 11:17:38 ]
// 入力フォーマット: [番号],[得点]

int main()
{
  int i;
  int number;
  int score;

  for ( i = 0; i < 50; i++ ) {
    scanf( "%d,%d", &number, &score);
    if ( score >= 90 ) {
      printf("%d,%d", number, score);
    }
  }
}

262 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 11:39:01 ]
アンカー忘れてる、は回答プレ?

263 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 12:56:07 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
#include<stdio.h>

main()
{
char ch;

while(scanf("%c", &ch)==1){
ch-=0x20;
printf("%c", ch);
}
}

上記のプログラムを改良し、アルファベットは大文字と小文字を逆転し、それ以外の文字はそのまま表示するようにしなさい。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:?
 [3.3] 言語:C
[4] 期限:[本日16:30まで]

宜しくお願いします。

264 名前: ◆03xZ2wWsBw mailto:sage [2008/07/16(水) 12:57:49 ]
[1]C言語中上級
[2]
3つの65535以下の非負整数a,b,cを乱数で生成します。a,b,cから次のような文字列を作ります。
[a+b][b+c][c+a][a][b][c][|a-b|][|b-c|][|c-a|][ab][bc][ac]
[m]はmを10進表示した文字列を表す
|m|はmの絶対値を表す
それを10進数表示し結合した文字列を作り、それらをdecomposite関数に引数渡しして、
元の3つの数を再現する処理をC言語プログラムで記述しなさい。
元の3数は、decompositeからはアクセスできない、呼び出し側のローカル変数領域の外側に公開しないで下さい。
☆23,39,17が生成された場合文字列 62564023391716226897663391をdecompositeに渡す。
☆生成された3つの数、渡す文字列共に出力してから、decomposite関数を呼び出して下さい。
(関数の中で、決定された3数を出力)
☆一意に元の数を決定できない場合はdecomposite関数の中で一意決定不能と表示し、すべての候補を
出力して下さい。
[3]linux/gcc/C
[4]7/30 12:00

時間がまだあるので、急ぎません。
少なくとも本日はこのスレを覗きません(これからバイトに行きますので)
明日以降、どなたかよろしくお願いします。

265 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:03:04 ]
>>239
ありがとうございます
マジで助かりました

266 名前: ◆03xZ2wWsBw mailto:sage [2008/07/16(水) 13:03:27 ]
問題文に誤りが見つかりました。
-それを10進数表示し結合した文字列を作り、それらをdecomposite関数に引数渡しして、
+それをdecomposite関数に引数渡しして、

として下さい。

267 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:07:10 ]
>>263
っつか、そのプログラムの意図は?
ttp://e-words.jp/p/r-ascii.html

268 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:13:59 ]
>>263
ライブラリ使っていいなら以下。

#include<stdio.h>
#include<ctype.h>

main()
{
char ch;

while(scanf("%c", &ch)==1){
if(islower(ch)!=0)
ch=(char)toupper(ch);
else if(isupper(ch)!=0)
ch=(char)tolower(ch);
printf("%c", ch);
}
}



269 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:16:36 ]
>>263

#include <stdio.h>

main()
{
char ch;

while(scanf("%c", &ch)==1){
if(ch >= 0x40){
if(ch >= 0x61) ch-=0x20;
else ch+=0x20;
}
printf("%c", ch);
}
}

270 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:18:36 ]
>>267
小文字を大文字にしてるんでないの?

271 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:20:44 ]
>>270
アッ、ナール

272 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:23:47 ]
>>263
>>269ミスってた
#include <stdio.h>

main()
{
char ch;

while(scanf("%c", &ch)==1){
if(ch >= 0x41 && ch <= 0x5a) ch+=0x20;
else if(ch >= 0x61 && ch <= 0x7a) ch-=0x20;
printf("%c", ch);
}
}

273 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:24:11 ]
[1] 授業単元:オペレーティングシステム
[2] 問題文(含コード&リンク):
以下のプログラムを完成してください。
共有バッファを用いたプロセス間メッセージ通信をするプログラム。
親/子プロセスでメッセージを書き込み、子/親で読み出す。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7402.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:2008年7月16日23:59まで

よろしくお願いします。

274 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:29:50 ]
>>263
せっかくだからキモイコードを張るぜ
#include<stdio.h>
main()
{
    char ch;
    while(scanf("%c", &ch)==1){
        ch=(ch|32U)-'a'<26?ch^32:ch;
        printf("%c", ch);
    }
}


275 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:33:38 ]
>>263 ならば、おいどんのキショースも出すでごわす

#include<stdio.h>
int main(void) {
char ch;
while(scanf("%c", &ch)==1){
if( ch>='a' && ch<='z') ch=ch-'a'+'A';
else if( ch>='A' && ch<='Z' ) ch=ch-'A'+'a';
printf("%c", ch);
}
}


276 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:47:52 ]
悪法回答テンプレが一掃されて以来スレが清々しいなw
でもまだコードと一緒にアンカーと、コメント書く奴が多いな。


277 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:49:44 ]
どうでもいいけどな

278 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 13:50:12 ]
>>276
(・∀・)ニヤニヤ (・´ω`・)ンダゴルァ (・`ω´・)ナッナンダッテー



279 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 14:59:48 ]
>>274
キモッ
>>275
キショくなくてこまる

280 名前:263 mailto:sage [2008/07/16(水) 16:25:55 ]
>>272
ありがとう。おかげで間に合ったよ。

281 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 17:41:27 ]
[1] 授業単元:プログラム
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7403.txt
[3] 環境
 [3.1] OS: windows xp
 [3.2] コンパイラ名とバージョン:vc6.0
 [3.3] 言語: C++
[4] 期限:
[5] その他の制限:ソースに記載しています
 よろしくおねがいします


282 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 18:38:31 ]
[3.2]のコンパイラ名とバージョンってのが良くわからないんですが、
コンパイラ名:Borland C++
バージョン:5.5.1

って感じでいいんですか?

283 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 19:15:47 ]
>>273
は上級問題でおk?

284 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 19:32:31 ]
>283
少なくても僕の脳みそでは分かりません。
たぶん上級問題なのかもしれません。

285 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 19:33:29 ]
>>4 07/15 13:00 線形リスト
>>44 07/17 --:-- 4択3種 : >>239
>>50 07/17 00:00 減衰振動
>>58 07/15 18:00 木構造を用いた数式の処理
>>159 07/16 --:-- 複素数演算・ソーティング
>>179 --/-- --:-- 2文木->配列
>>202 --/-- --:-- (ごめんなさい、よくわからないです。) : >>253
>>207 --/-- --:-- 微分方程式の解析解
>>214 07/16 --:-- 20次元の2つのベクトル余弦 : >>219
>>228 07/16 --:-- 文字列のリバース : >>229, >>230

286 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 19:34:00 ]
>>231 --/-- --:-- = >>28
>>234 --/-- --:-- 微分方程式:ルンゲタック法
>>237 07/16 19:00 スロットゲーム : >>243, >>247
>>250 07/16 --:-- 構造体のメンバへの代入 : >>252
>>256 --/-- --:-- 「キーボードから50人分の点数を入力し90点以上の人の番号と点数を表示せよ」: >>2590-261
>>263 07/16 16:30 大文字<->小文字 : >>268, >>272, >>274, >>275
>>264 07/30 12:00 ???
>>273 07/16 23:59 セマフォを用いたプロセス間通信

287 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 20:20:19 ]
>>286
ルンゲ”食った”ね

288 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 20:28:43 ]
ほっとぞぬな問題



289 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 20:39:46 ]
すいませんがお願いします。
ポインタの問題です。

[1] 授業単元:C言語演習
[2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7404.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:visual stdio 2005
 [3.3] 言語: (C言語)
[4] 期限:今週
[5] その他の制限:ポインタを使用すること。


290 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 20:40:08 ]
[1] 授業単元: C言語入門
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7405.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語:C
[4] 期限: 7月17日まで
[5] その他の制限:

お願いします。

291 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 20:53:03 ]
だれか>>282について教えて

292 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 20:54:06 ]
[1] 授業単元: 1次元配列
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7406.txt
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語:C
[4] 期限: 7月17日まで
[5] その他の制限:

お願いします。

293 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:20:28 ]
>>292
#include<stdio.h>
#define DATA_NUM_MAX 100
int main(void){
int data[DATA_NUM_MAX], datanum
int sum=0, i;
double average;

for(datanum=0;datanum<DATA_NUM_MAX;datanum++){
printf("%d件目の点数を入力してください.\n", datanum+1);
scanf("%d", &data[datanum]);
if(data[datanum]==999) break;
printf("%d件目の点数は%d点です.\n", datanum+1, data[datanum]);
sum+=data[datanum];
}
if(datanum==0) return 1;
average=(double)sum/datanum;
printf("\n合計点は%d点です.\n平均点は%.1f点です.\n", sum, average);
printf("\t点数\t平均からの差\n");
for(i=0;i<datanum;i++) printf("\t%d点\t%5.1f点\n", data[i], data[i]-average);

return 0;
}

294 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:25:23 ]
>>290
#include<stdio.h>
#include<string.h>

int main(void){
char buf[10];
int i, count=0;

for(i=100;i<=600;i++){
sprintf(buf, "%d", i);
if(strchr(buf, '4') || strchr(buf, '9')) continue;
count++;
}
printf("このホテルの客室総数は%dです.\n", count);

return 0;
}

295 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:33:51 ]
>>273をお願いします。

296 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:35:28 ]
>>289
#include<stdio.h>

int main(void){
int a[5][5] = { { 1, 2, 3, 4, 5}, { 6, 7, 8, 9,10}, {11,12,13,14,15}, {16,17,18,19,20}, {21,22,23,24,25}, };
int b[5][5] = { { 3, 6, 9,12,15}, {18,21,24,27,30}, {33,36,39,42,45}, {48,51,54,57,60}, {63,66,69,72,75}, };
int c[5][5],*p_a,*p_b,*p_c, i;

p_a=a; // p_a=a[0] ?
p_b=b;
p_c=c;

for(i=0;i<5*5;i++){ // 問題1
printf("%d ", *(p_a+i));
if(i%5==4) printf("\n");
}

for(i=0;i<5*5;i++) *(p_c+i)=*(p_a+i); // 問題2
for(i=0;i<5*5;i++){
printf("%d ", *(p_c+i));
if(i%5==4) printf("\n");
}

for(i=0;i<5*5;i++) *(p_c+i)=*(p_a+i)+*(p_b+i); // 問題3
for(i=0;i<5*5;i++){
printf("%d ", *(p_c+i));
if(i%5==4) printf("\n");
}
return 0;
}

297 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:50:17 ]
[1] 授業単元: Cプログラミング演習
[2] 問題文
20次元の2つのベクトル余弦cos(θ)を求めよ。
ベクトルの要素はそれぞれ、ユーザーが入力すること。ベクトル要素は
double型とすること。


[3] 環境
 [3.1] OS:Mac
 [3.2] コンパイラ名とバージョン: Linux
 [3.3] 言語: (C言語)
[4] 期限:7/18
[5] その他の制限:
   お願いします><


298 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:54:03 ]
>>998
>>898
>>798
>>698
>>598
>>498
>>398
>>297
過去ログ

過去レスをみよ




299 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:55:31 ]
過去ログ見ろと言われて実際に見る奴なんていないだろw

300 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:58:01 ]
1]プログラミング
[2] 2から1000までの素数を表示するプログラム
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc 4.3.0
 [3.3] 言語:C
[4] 期限:7月18日17:00まで
[5] その他の制限: ポインタ、構造体なんかは習って無いです

宜しくお願いします

301 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 23:14:21 ]
>>300
#include<stdio.h>

int main(void){
int i, j;
for(i=2;i<1000;i++){
for(j=2;j<i;j++) if(i%j==0) break;
if(j>=i) printf(" %d", i);
}

return 0;
}

302 名前:300 mailto:sage [2008/07/16(水) 23:33:22 ]
すみません。
>>300を関数を使ってお願いします。

303 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 23:34:51 ]
>>291
それで良いんじゃないの。
オレ、ボーランド製品が全然わからないけど

304 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 23:43:29 ]
>>302
#include<stdio.h>
int is_prime(int value){
int i;
if(value<2) return 0;
for(i=2;i<value;i++) if(value%i==0) return 0;
return 1;
}
int is_prime(int value){
int i;
if(value<2) return 0;
if(value%2==0) return value==2;
for(i=3;value/i>=i;i+=2) if(value%i==0) return 0;
return 1;
}
int is_prime(int value){
int i, chk;
double sqrt(double);
if(value<2) return 0;
if(value%2==0) return value==2;
chk=sqrt(value+0.1);
for(i=3;i<=chk;i+=2) if(value%i==0) return 0;
return 1;
}
int main(void){
int i;
for(i=2;i<1000;i++) if(is_prime(i)) printf(" %d", i);
return 0;
}

305 名前:デフォルトの名無しさん [2008/07/16(水) 23:45:01 ]
>>159お願いします

306 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 23:47:49 ]
>>264
一意決定不能の例なんかあると助かるんだが。


307 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:08:04 ]
>>264
スペースないからdecomposite関数だけ。
void decomposite(char *str)
{
int a, b, c, ab, bc, ca;
char *p, *q, *r, temp[256];

for(p=str,ab=0; ab<=65535*2; p++) {
ab = ab * 10 + *p - '0';
for(q=p+1,bc=0; bc<=65535*2; q++) {
bc = bc * 10 + *q - '0';
for(r=q+1,ca=0; ca<=ab + bc; r++) {
ca = ca * 10 + *r - '0';
a = (ab + ca - bc) / 2;
b = ab - a;
c = ca - a;
if(a<0||b<0||c<0||a+b!=ab||b+c!=bc||c+a!=ca) continue;
sprintf(temp, "%d%d%d%d%d%d%d%d%d",a,b,c,abs(a-b),abs(b-c),abs(c-a),a*b,b*c,c*a);
if(strcmp(r+1, temp)==0) printf("a=%d b=%d c=%d\n", a, b, c);
}
}
}
}


308 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:13:29 ]
>>159 一つ目
#include<stdio.h>
#include<stdlib.h>
struct bunsuu{ int bunsi, bunbo; };
int gcd(int a, int b){
int c;
while((c=a%b)) a=b,b=c;
return b;
}
struct bunsuu bunsuu_set(int bunsi, int bunbo){
struct bunsuu ret={0, 1};
if(bunsi==0 || bunbo==0) return ret;
if(bunbo<0) bunsi=-bunsi, bunbo=-bunbo;
ret.bunsi=bunsi/gcd(abs(bunsi), bunbo);
ret.bunbo=bunbo/gcd(abs(bunsi), bunbo);
return ret;
}
struct bunsuu bunsuu_add(struct bunsuu a, struct bunsuu b){ return bunsuu_set(a.bunsi*b.bunbo+b.bunsi*a.bunbo, a.bunbo*b.bunbo); }
struct bunsuu bunsuu_sub(struct bunsuu a, struct bunsuu b){ return bunsuu_set(a.bunsi*b.bunbo-b.bunsi*a.bunbo, a.bunbo*b.bunbo); }
struct bunsuu bunsuu_mul(struct bunsuu a, struct bunsuu b){ return bunsuu_set(a.bunsi*b.bunsi, a.bunbo*b.bunbo); }
struct bunsuu bunsuu_div(struct bunsuu a, struct bunsuu b){ return bunsuu_set(a.bunsi*b.bunbo, a.bunbo*b.bunsi); }
void bunsuu_print(struct bunsuu x){ printf(x.bunbo==1?"%d\n":"%d / %d\n", x.bunsi, x.bunbo); }
int main(void){
struct bunsuu a={1,2}, b={2,3};
printf("input bunsuu ( ex. 1 / 2 ) :"); scanf("%d/%d", &a.bunsi, &a.bunbo);
printf("input bunsuu ( ex. 2 / 3 ) :"); scanf("%d/%d", &b.bunsi, &b.bunbo);
bunsuu_print(bunsuu_add(a, b));
bunsuu_print(bunsuu_sub(a, b));
bunsuu_print(bunsuu_mul(a, b));
bunsuu_print(bunsuu_div(a, b));
return 0;
}



309 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:15:10 ]
>>296
助かります、ありがとうございました。

310 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:17:19 ]
またすいません。
2問ありますがお願いします。

[1] 授業単元:C言語
[2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7407.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:visual stdio 2005
 [3.3] 言語: (C言語)
[4] 期限:今週
[5] その他の制限:ポインタを使用すること。



311 名前:45 [2008/07/17(木) 00:23:15 ]
>>172
遅れましたが、ありがとうございます。

312 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:23:32 ]
[1] 授業単元:プログラム実習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7408.txt
[3] 環境
 [3.1] OS:windowsXP
 [3.2] コンパイラ名とバージョン:VC6.0
 [3.3] 言語: C++
[4] 期限:(2008年7月18日17:00まで
[5] その他の制限:
一次元関数の問題です。期限が…

313 名前:300 mailto:sage [2008/07/17(木) 00:28:05 ]
>>304
うまく行きました
ありがとうございます

314 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:29:39 ]
[1] 授業単元:
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7409.txt
[3] 環境
 [3.1] OS:windowsXP
 [3.2] コンパイラ名とバージョン:VC6.0
 [3.3] 言語: (C++)
[4] 期限:
[5] その他の制限:クラスを変更して動作させよというものです

宜しくお願いします

315 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:35:37 ]
すみません。>>273をどなたがお願いできないでしょうか?
期限は明日までになりそうです。

316 名前: ◆r8ev9T1A36 mailto:sage [2008/07/17(木) 00:37:13 ]
[1] 授業単元: c言語演習
[2] 問題文(含コード&リンク):
c言語を用いて制作すること
・入力は、整数n≥1
・出力は、nのパリティ(偶パリティor奇パリティ)

[3] 環境
 [3.1] OS:windowsXP
 [3.2] コンパイラ名とバージョン:bcc
 [3.3] 言語: c
[4] 期限: 2008年7月19日
[5] その他の制限:

よろしくお願いします。

317 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 00:43:18 ]
>>264
>>307氏とは少しアプローチのちがうやつを
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7410.txt
長くてすまん

さっきからループでまわして見てるが一意に解が出ないパターンに出くわさないな

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




319 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 02:56:22 ]
>>312 そのうち>>231やるかも
line 18
// int calendar[rsize][csize];
int *calendar = new int[rsize * csize];
line 23
// calendar[i][j] = 0;
calendar[i*csize + j] = 0;
line 50
// calendar[i][j] = day;
calendar[i*csize + j] = day;
line 62:
// const int day = calendar[i][j];
const int day = calendar[i*csize + j];

320 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 03:22:30 ]
>>318
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7412.c
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7413.c

321 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 03:23:46 ]
>>231 >>319 delete[] calendar; retrun 0; 忘れてた。
line 17
// int calendar[rsize][csize];
int **calendar = new int*[rsize];
line 20
for (int i = 0; i < rsize; ++i) {
calendar[i] = new int[csize];
line 83
for (int i = 0; i < rsize; ++i)
delete[] calendar[i];
delete[] calendar;
return 0;

322 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 03:36:06 ]
すみません>>58助けてください・・・

323 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 03:46:09 ]
>>322
期限を過ぎてるじゃん

324 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 03:59:15 ]
期限過ぎても提出しないと全部ボツになるんです

325 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 05:09:45 ]
期限が過ぎていたからって、機嫌を悪くしないでね。

326 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 09:31:42 ]
>>320
>以下の雛形プログラムの指定部分のみを変更すること.
<ctype.h>のインクルードは題意に反する。

327 名前:デフォルトの名無しさん [2008/07/17(木) 09:48:43 ]
>>318
//1
#include <stdio.h>
#define N 128

/* プロトタイプ宣言 */
void printCapitals(char *s);

int main(void){
char str[N];

fgets(str, N, stdin);
printCapitals(str);

return 0;
}
void printCapitals(char *s)
{
int i;
for(i=0;s[i];i++)
if('A' <= s[i] && s[i] <= 'Z')
putchar(s[i]);
}
for(i=0;s[i],i++)
if('A' <= s[i] &&
}


328 名前:デフォルトの名無しさん [2008/07/17(木) 10:18:39 ]
>>318
#include <stdio.h>
//2
unsigned CommaSeparatedValueSum(FILE *fp)
{
unsigned csv[5] = {0};
unsigned sum = 0;
unsigned i;
while(!feof(fp)){
fscanf(fp,"%u,%u,%u,%u,%u",&csv[0],&csv[1],&csv[2],&csv[3],&csv[4]);
for(i = 0; i < 5; i++)
sum += csv[i];
}
return sum;
}
int main()
{
FILE *fop = fopen("data3.csv","r");
unsigned sum = CommaSeparatedValueSum(fop);
printf("CSV DATA SUM %u \n",sum);
return 0;
}



329 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 10:28:21 ]
>>281
private:
void strset(char *str){
p = new char[strlen(str)+1];
strcpy(p,str);
}
public:
strtype(char* str=""){
strset(str);
}
strtype(strtype &st){
strset(st.p);
}

330 名前:デフォルトの名無しさん [2008/07/17(木) 10:40:34 ]
[1] 授業単元: C言語プログラミング
[2] 分数の四則演算を計算するプログラムを作成する
[3] 環境
[3.1] OS: Windows 
[3.2]Microsoft Visual Studio
[3.3] 言語・C++
[4] 期限: ([2008年7月21日14:00まで
[5]条件
  分数を、 1|3 のように、| (縦棒)という記号で分子・分母を区別する。/ (スラッシュ)だと除算記号と混同してしまうから。
計算規則
 a|b + c|d = (a*d + b*c) | (b*d)
 a|b - c|d = (a*d - b*c) | (b*d)
 a|b * c|d = (a*c) | (b*d)
 a|b / c|d = (a*d) | (b*c)
計算結果については,分母が1の時には分子のみの表示にする。分数が0(ゼロ)の時には 0(ゼロ)のみを表示する。また,最終の計算結果を既約分数にする。

1.分母がゼロの入力エラーに対しては、再入力するよう促す。

2.除算において、除数がゼロの入力エラーに対しては、再入力するように促す。

3.以下範囲の整数(分子、分母にかかわらず)に対して、正しく計算できるようにすること。
  -2147483648 〜 2147483647
Visual Studioでお願いします

331 名前:100 mailto:sage [2008/07/17(木) 10:40:56 ]
>>180
遅れましたがありがとうございます。

332 名前:デフォルトの名無しさん [2008/07/17(木) 10:53:02 ]
>>310
問題文をもっと詳しく書かないと
意味がわからない

333 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 11:10:10 ]
>>310
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7416.txt
これであってるか?


334 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 11:25:25 ]
>>234をお願いしますm(__)m

335 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 11:53:44 ]
>>335
C言語の宿題じゃなくて数学の宿題ね

336 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 11:57:56 ]
>>334
自分で微分方程式解いたら、それ持って又来て。

337 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 11:59:46 ]
>>235
そだね

338 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 12:10:20 ]
>>236
違ってる



339 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 12:17:28 ]
>>273 をどうかよろしくお願いします。
セマフォを用いたプロセス間通信をするプログラムです。
期限は明日の12:00までになりました。
どうか、よろしくお願いします。

340 名前:デフォルトの名無しさん [2008/07/17(木) 12:49:47 ]
>>330
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7419.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7420.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7421.txt
こんなんで良いのかな

341 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 13:17:46 ]
>>234
>>334

ttp://pc-physics.com/rk1.html
ttp://www.damp.tottori-u.ac.jp/~ooshida/edu/ode/

この辺を参考にしてみたら?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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