トップページ⇒tech
1001コメント428KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/01/09(月) 10:02:47
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して
 投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 2.9 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

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

【前スレ】
C/C++の宿題を片付けます 56代目
http://pc8.2ch.net/test/read.cgi/tech/1135125328/
【過去スレ一覧】
http://makimo.to/cgi-bin/search/search.cgi?q=C%2B%2B%82%CC%8Fh%91%E8&andor=AND&sf=2&H=&view=table&D=tech&shw=2000
0159デフォルトの名無しさん2006/01/12(木) 00:14:34
>学生一人分の情報
全部?
0160デフォルトの名無しさん2006/01/12(木) 00:19:38
なんで左シフトした空きビットに0を入れると成り立つのか?

この質問はどこにもって行けばいい?
0161デフォルトの名無しさん2006/01/12(木) 00:21:12
墓場までもっていけ
0162デフォルトの名無しさん2006/01/12(木) 00:22:16
頼みますよ・・・助けてください
0163デフォルトの名無しさん2006/01/12(木) 00:24:09
>>158
"9"の文字列は"9桁の正整数を引数に"とでもしておいてください

入力はプログラム実行時引数として渡して下さい
例えば作ったプログラムがreverse.exeなら、
reverse 12345
で実行すれば結果は
1 2 3 4 5
5 4 3 2 1
となると思います。
0164デフォルトの名無しさん2006/01/12(木) 00:34:42
てか、これで出来るじゃん…

int main()
{
int a;
scanf("%d", &a);
while(a) {
printf("%d ", a % 10);
a /= 10;
}
putchar('\n');
}
0165デフォルトの名無しさん2006/01/12(木) 00:37:00
>>102
すみません、遅くなりました↓これです
void input(int *a){int i;for(i=0;i<N;i++){scanf("%d",&(a[i]));}}
void output(int *a){int i;for(i=0;i<N;i++){printf("%d\n",a[i]);}}
int main(){int a[N];input(a);output(a);return 0;}
0166デフォルトの名無しさん2006/01/12(木) 00:37:15
C言語のリスト構造がまったく理解できないのですが、
猿並の頭でも理解できるくらい詳しく解説しているサイトを教えていただけないでしょうか…。
サンプルプログラムみたいなのが載ってると理解しやすいかと思うのですが…。
0167デフォルトの名無しさん2006/01/12(木) 00:40:05
>>166
質は保証しない。Googleで出てきただけだから。
自己参照構造体
ttp://www9.plala.or.jp/sgwr-t/c/sec15-5.html
0168デフォルトの名無しさん2006/01/12(木) 00:42:06
>>163
#include <stdio.h>

main(){
int i;
char str[10];
gets(str);
for(i=0;i<strlen(str);i++)
printf("%c ",str[i]);
printf("\n");
for(i=strlen(str)-1;i>=0;i--)
printf("%c ",str[i]);
return 0;
}
0169デフォルトの名無しさん2006/01/12(木) 00:43:00
あっ、引数としてとってないや・・・(汗)
01701322006/01/12(木) 01:12:02
>>149
レスが遅れてすみませんm(_ _)m

・使用するRunge-Kutta法は4段4次でお願いします。
・値の蓄積にはどのような方法でもいいです。
0171デフォルトの名無しさん2006/01/12(木) 02:47:17
[1] 授業単元:

[2] 問題文(含コード&リンク):

自分で任意のプログラムを作ります。
オセロのプログラムを作ろうと思っています。めちゃくちゃ簡単なのを作ろうと思っています。
使うのはprintf、scanf、if、forなどの超基本的なものだけでいきたいす。
コンピュータに手は打たせないで自分が二役分の手を打っていく形でコンピュータに手は考えさせないでいいです。
つまりはまずフィールドのようなものを表示するプログラム。そこに白、黒の人がが交互にマス目を埋めていくプログラム。
白、黒、黒、白などとフィールド中に縦横か斜めで並んだときに真ん中の黒を白に変えるプログラム。最後にどちらが勝ちか判定するプログラム。
黒や白、フィールドに何も置かれていない状態の表示は簡単のために0,1,2などで表示したほうがいいかもと思うんですが他の方法でもかまいません。

[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:c
[4] 期限: できれば今日中
[5] その他の制限: 200行以内くらいのプログラム。

アドバイス、協力してくれる方いましたらよろしくお願いします。一応メアドも載せときます。
01721712006/01/12(木) 02:48:31
連投失礼します。メアドです。
0173デフォルトの名無しさん2006/01/12(木) 02:50:06
>>132
これでどう?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1433.txt
実行は初期値を4つ引数に渡して -o progname でコンパイルしたら
./progname [振子1の初期位置] [振子1の初期速度] [振子2の初期位置] [振子2の初期速度]
で実行し、出力は1行ごとにその時点での
[振子1の位置] [振子2の位置]

"時間微分が高次の時はそれぞれの変数が1次になるよう変数を増やす"
0174デフォルトの名無しさん2006/01/12(木) 02:57:53
>秒、分、時間、西暦、Cの配列の添え字、が0オリジン
>月、年、COBOLの配列の添え字、が1オリジン
どうでもいいけど思いっきり間違ってるな。
0175 ◆RIMzpqxXe. 2006/01/12(木) 03:10:01
[1] 授業単元:データ構造とアルゴリズム
[2] 問題文(含コード&リンク):
プログラム2は指定したファイルを読み込み、英数字(AからZとaからzと0から9)の塊を表示するプログラムです。
ここで isalnum 関数は文字を読み、文字が英字が数字だった時は 0 以外、英字でも数字でもなかった場合は 0 を返すものです。
このプログラムと strcmp 関数を利用して、この塊が出て来る頻度を大文字小文字を区別した辞書順(strcmp が定める文字列の順序) に
並べるプログラムを作りたい。題意を満たすプログラムを作成しなさい。

プログラム2
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1434.c

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:できればCでお願いします。
[4] 期限:2006年01月12日13:00まで
[5] その他の制限:特に制限はありません。よろしくお願いします。
0176デフォルトの名無しさん2006/01/12(木) 03:27:14
西暦は1オリジンだね。
COBOL はしらん。
0177732006/01/12(木) 03:35:45
>>158
意味がわからん。
ソースに「でした」なんて書いてもいないのにそんな表示出るわけない。
↓ちょっと変えた。たぶん、Windows でも動く。

#include <stdio.h>
int main( void )
{
int n_digits[10] = { 0,0,0,0,0,0,0,0,0,0 };
int c, i;
while (( c = getchar() ) != EOF ) {
if ( c < '0' || '9' < c ) /* that's not a numeral */
continue;
++n_digits[ c - '0' ];
}
for ( c = 0; c < 10; ++c )
for ( i = 0; i < n_digits[c]; ++i )
printf( "%d ", c );
putchar( '\n' );
for ( c = 10; c >= 0; --c )
for ( i = 0; i < n_digits[c]; ++i )
printf( "%d ", c );
putchar( '\n' );
return 0;
}
0178デフォルトの名無しさん2006/01/12(木) 03:45:08
なんか 12345 54321 のやつだけ手厚くサポートされすぎだな
これだけ何種類も答えを提示されて一つも動かないとなると、
何をどう教えても無理じゃないかという気がしてきた
0179デフォルトの名無しさん2006/01/12(木) 03:45:38
>>175
"strcmpを利用して"って題意としてクリティカル?
0180デフォルトの名無しさん2006/01/12(木) 03:47:09
>>175
ぶっちゃけ問題の後半の意味がわからない









さて、自分の宿題やるか( 'A`)
0181デフォルトの名無しさん2006/01/12(木) 03:51:43
>>175
このソース汚すぎ。自分で書いただろ。
ttp://www.pro.or.jp/~fuji/mybooks/cdiag/index.html#mokuji12
0182 ◆RIMzpqxXe. 2006/01/12(木) 03:52:05
>>179
必須だと思います。

>>180
このような形にしたいのです。
入力
def abc
abc def ghi
出力
abc: 2
def: 2
ghi: 1
0183デフォルトの名無しさん2006/01/12(木) 03:56:27
>>179
入力の出現文字列塊は最大何文字以内とかの制約は?
0184 ◆RIMzpqxXe. 2006/01/12(木) 03:57:54
>>181
教師側から提示されたものなので何とも…^^;
0185 ◆RIMzpqxXe. 2006/01/12(木) 04:01:59
>>183
制約としては明記されていないので、一行の上限である80までだと思います。
0186デフォルトの名無しさん2006/01/12(木) 05:24:14
>>175
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1435.txt
0187 ◆RIMzpqxXe. 2006/01/12(木) 06:28:59
>>186
申し訳ありません、少しうとうとしてしまいました。
動作確認いたしました。ありがとうございます。

もう一つの問いに、先に作成したプログラムを書き換える問題で
「文字列の先頭から順に比較していき、最初に異なった文字の大小関係とし、
途中で文字が無くなった場合は無い方が小さいとする」
というものがあるのですが、これは簡単にできるものなのでしょうか?

例:
入力
abcd ab
defg ghi def

出力
ab
abcd
def
defg
ghi
0188デフォルトの名無しさん2006/01/12(木) 06:32:55
>>171
http://pc8.2ch.net/test/read.cgi/tech/1087979678/235-236
0189デフォルトの名無しさん2006/01/12(木) 06:42:04
>>171
俺も昔課題で先読み指向型オセロ作らされたからその時に考えたアイデアの一部

・マスは縦*横の2次元配列
・コマは白=0, 黒=1などどして数値で判別。
・コマをおく時はX=? Y=?それぞれをscanf等で入力

入力した後の処理
1.指定した座標にコマがないか、存在する座標か判別。 ある↓ 無い→座標再入力要求
2.隣接するマスで最低1個以上の相手のコマがあるかどうか調べる。 ある↓ 無い→座標再入力要求
3.相手のコマがある方向へ、マスがなくなるまでfor分でサーチ
 サーチして自分のコマがあったら、その部分まで全てのコマを自分のコマに置き換え 自分のコマが無い→座標再入力要求
 相手のコマがある方向全てに対して処理する
4.コマの切り替え

あとはパスの判定とかマスが全て埋まったらコマの数を数えて結果を出力する処理が必要。
他に効率のいいやり方があるだろうが俺の場合はこんな感じ。
printf、scanf、if、for、whileくらいでいけるはず。200行以内でいけるかは分からん。
0190デフォルトの名無しさん2006/01/12(木) 06:49:55
マジレスすると盤面2次元配列にすると面倒だから1次元のがいい
0191デフォルトの名無しさん2006/01/12(木) 07:03:40
>>187
頻度出力してる部分削ればいい
"%s: %d\n" を "%s\n"とかって
0192デフォルトの名無しさん2006/01/12(木) 07:07:27
面倒でも分かりやすいほうがいいよ。
まあどっちでもいいんだけど。
2次元なら↓みたいになるのかな

//0=空 1=● 2=○
int panel[8][8]=
{
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 2, 1, 0, 0, 0},
{0, 0, 0, 1, 2, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
}:
0193デフォルトの名無しさん2006/01/12(木) 07:08:33
2次元配列にすると変数そのものが扱いにくくなるんだよなぁ
特にポインタ関係
0194デフォルトの名無しさん2006/01/12(木) 07:17:56
8×8だと周りを壁で囲めないから判定面倒になるぞ
01951712006/01/12(木) 07:25:40
みなさん、ありがとうございます。私もとりあえず2次元配列はわかると思うのでそっちで進めていこうと思います。
>>188ソースが半分以上意味わかめなので要所要所理解してみます。
>>189細かくありがとうございます。パスの概念とか見逃していました。
0196デフォルトの名無しさん2006/01/12(木) 07:31:44
二次元使ってると途中でマジで蹴り飛ばしたくなるからやめとけ
0197 ◆RIMzpqxXe. 2006/01/12(木) 07:34:08
>>191
あ、すみません。
そういう事ではなくて、文字数が少ないものが上にくるようにしたいのですが。。。
どうにかできませんでしょうか?
0198 ◆RIMzpqxXe. 2006/01/12(木) 07:40:42
申し訳ない、私の勘違いでした^^;

長い時間お付き合い頂きありがとうございました。
これで安心して学校へ行けそうです。
0199デフォルトの名無しさん2006/01/12(木) 07:54:02
あー、なんか終わってるぽい。でも折角作ったからあげとく。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1436.c
win2000、bccでしか確認してないけど、多分OK。
二次元で8×8だけど今のところ問題なし。
0200デフォルトの名無しさん2006/01/12(木) 07:55:41
安心して学校へって言っても実際力ついてないんだよな
そこんとこ錯覚しないでくれよ
02011712006/01/12(木) 08:04:51
>>199ほんとありがとうございます。ちょっと私から見ると難しそうですが、めちゃくちゃ参考にします。
>>196わかりました。一次元でも考えてみます。
0202デフォルトの名無しさん2006/01/12(木) 08:41:27
甘えるやつを甘やかしてどんどん堕落させるのが俺らの役目ヽ( ゚∀゚)メ(゚∀゚ )ノ アヒャヒャヒャ
02031992006/01/12(木) 08:57:58
>171
バグってた。入力に8以上の数字を入れるとさくっとメモリ破壊される。
修正版↓ #defineも入れといた。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1439.c
Cygwin+gccでも動作確認OK。

>202
堕落、堕落はあざなえる縄のごとし。
0204デフォルトの名無しさん2006/01/12(木) 09:01:11
そして日本は腐ってく
俺みたいに
0205デフォルトの名無しさん2006/01/12(木) 10:10:12
time() 関数を使うと UNIX 時間を秒単位で得られますが、
もう少し細かく時間を知る方法は無いでしょうか?

外部のプロファイラなどに頼らず、
ある関数の開始と終了時点で計時し、
かかった時間を調べたいと思っています。

IA32 アーキテクチャの RDTSC レジスタを読み取って、
クロック数を得る事で粒度の細かい計時が可能なのですが、
もう少しポータブルな方法を探しています。
Cygwin, Linux および Solaris で共通に利用できるような
方法を探しています。
0206デフォルトの名無しさん2006/01/12(木) 10:28:38
clock()とかgettimeofday()とかgetusage()とか?
0207初心者ですみません2006/01/12(木) 10:49:34
出力した素数の数を数えるプログラムはどうやったら作れますか?

例えば、
1〜100までの素数の数は

25 です

このように表したいです
0208デフォルトの名無しさん2006/01/12(木) 10:55:32
wcに喰わせる。
0209デフォルトの名無しさん2006/01/12(木) 10:55:33
>>205
>>207
まず、>1をよく読むといいと思うよ。
02101212006/01/12(木) 11:02:27
>>207
>>119流用

#include <stdio.h>
int sosu(int n){int i;for(i=2;i<n;i++){if(n%i==0){return 0;}}return 1;}
int main(){
int n,m,cnt;cnt=0;
printf ("自然数mを入力してください\n");
scanf ("%d", &m);
for (n=1; n<=m; n++){if (n!=1 && sosu(n)){
//printf ("%d ", n);
cnt++;}}printf ("\n素数は%d個\n",cnt);return 0;}

コメント外せば素数表示できる。
100入れたら25出たからたぶん大丈夫。
02111212006/01/12(木) 11:07:16
訂正。とは言え自己満足のレベルだけど。

#include <stdio.h>
int sosu(int n){int i;for(i=2;i<n;i++){if(!(n%i)){return 0;}}return 1;}
int main(){int n,m,cnt;cnt=0;printf ("自然数mを入力してください\n");
scanf ("%d", &m);for (n=1; n<=m; n++){if (n!=1 && sosu(n)){
/*printf ("%d ", n);*/cnt++;
}}printf ("\n1〜%dまでの素数は%d個\n",m,cnt);return 0;}
0212デフォルトの名無しさん2006/01/12(木) 12:10:04
符号付2進展開のプログラムについてです。

[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
a^rをa,rごとに入力し、rを2進展開して(5^3)*(2^6)を求めるプログラムを作りなさい。
またrを符号付2進展開にした場合のプログラムも作りなさい。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語:C言語
[4] 期限:2006年1月15日
[5] その他の制限:a,rの入力は面倒だと思うのでscanf使わずにプログラムに埋め込んでいいです。

問題文分かりにくいですが以下のようなことです。
(符号付じゃない場合)
   3 = 0 1 1・・・・・・5の指数部
   6 = 1 1 0・・・・・・2の指数部
ーーーーーーーーーー
上のように指数部を2進展開して上位ビットから見ていきます。
1がたったビットでは×仮数部をして、右にシフトするごとに2乗するようにします。 
このような仕様です。よろしくお願いします。
      
0213デフォルトの名無しさん2006/01/12(木) 13:05:50
#include <stdio.h>

int main( void )
{

int num, *pnt;

for( num = 10; num >= 6; num-- ){
printf( "value:%2d address:%p\n", num, &num );
}
while( num != 0 ){
pnt = #
printf( "value:%2d address:%p\n", *pnt, pnt );
num -= 1;
}

return 0;

}


関数とポインタ関数を用いて10〜1の値と、そのアドレスを表示せよというプログラムを書いたつもりなんですが、
これでいいんでしょうか
実行してみると、アドレスが全部同じなんですが・・・・・
0214デフォルトの名無しさん2006/01/12(木) 13:10:34
num という関数の確保した領域しか存在しないから、アドレスは一定だよ。
コードは汚いが合ってる。
0215デフォルトの名無しさん2006/01/12(木) 13:39:35
課題が出ました。お願いします
1,変数x,yにそれぞれ8と5を代入して,x/yを計算し,
整数解と実数解を出力するプログラムを作成せよ

2,sを入力し,sから200までの整数のうち16の倍数となる整数を
出力するプログラムをfor文またはwhile文を用いて作成せよ

3,nを入力したとき,その数を3で割ったとき,割り切れるならばaを
,1余るならばbを,2余るならばcを出力するプログラムを作成せよ。

4,n人分について国語,社会,数学,理科,英語の5科目の得点を入力し,
それぞれの合計点を計算した後,n人を合計点の小さい順に並び替え,
出力するプログラムを作成せよ。ただし,各科目の変数名を
ko,sy,su,ri,eiとし,配列名はtokutenとすること

5,すべて大文字の英字を10字以内で入力し,
そのうちの子音(a,i,u,e,o以外の文字)の部分を小文字に
変換して出力するプログラムを作成せよ。
(例:MOMOTAROU → mOmOtArOU)

6,15文字以内の文字列(英字)と3文字のキーワード(英字)を入力する.
このとき,先に入力した文字列にキーワードが含まれていたら 「あります」
,含まれていなければ 「ありません」 と,
メッセージを返すプログラムを作成せよ.
たとえば,入力文字が「takoikatai」のとき,
キーワードが「ika」の場合は「あります」,キーワードが「aji」の場合は「ありません」と表示されるようにする.
0216すいません 215です2006/01/12(木) 13:44:01
[1] 授業単元:プログラミング演習

[2] 問題文(含コード&リンク): 215です
[3] 環境
 [3.1] OS: (Windows xp
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語: (C
[4] 期限: 2006年1月14日24h
[5] その他の制限:、標準ライブラリは使ってはいけない
授業は215の範囲ぐらいしかいってません
0217すいません 215です2006/01/12(木) 13:48:28
一番はとけたのですが,後のものがとけません。
一番以外お願いします。
0218デフォルトの名無しさん2006/01/12(木) 14:05:34
>>214 関数とポインタ関数を用いて
とあるので違うと思う
0219デフォルトの名無しさん2006/01/12(木) 14:10:10
変数だと勝手に解釈したが…
0220デフォルトの名無しさん2006/01/12(木) 14:14:15
>>215
2.
scanf("%d".&s);
for(s;s<201;s++)
{
if(s%16==0)
{ printf("%d\t",s);
}
}

3.
scanf("%d",&n);
if(n%3==0)
{ printf("a\n");}
else if(n%3==1)
{ printf("b\n");}
else
{ printf("c\n");}

0221デフォルトの名無しさん2006/01/12(木) 14:19:19
>>215
何故1.が出来て2.3.が出来ないか!!

とりあえず2.
#include <stdio.h>
int main(){int i,s;
printf ("input s:");scanf ("%d", &s);printf("\n");
for( i=s; i<200; i++)if(!(i%16))printf("%d ",i);}
0222デフォルトの名無しさん2006/01/12(木) 14:24:23
[1] 授業単元:情報処理
[2] 問題文人工無能を作れ。
       やる気がなければオウム返しでもよい。
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:2006年2月上旬
[5] その他の制限:なし
0223デフォルトの名無しさん2006/01/12(木) 14:36:53
>222

#include <stdio.h>
#include <string.h>

int main(){
char buf[BUFSIZ];
while(fgets(buf, sizeof(buf), stdin)){
if(!strcmp(buf, "quit\n"))
break;
printf("> %s", buf);
}

return 0;
}
0224デフォルトの名無しさん2006/01/12(木) 14:45:07
>>215
の2
int s;
scanf("%d", &s);
s+=(16-(s%16))%16;
while(s<200)printf("%d\n", s), s+=16;
もう解決してるし・・・
せっかくだからおいとく
0225デフォルトの名無しさん2006/01/12(木) 14:53:16
>>215
5.(4はめんどいんで後回し)

#include <stdio.h>
int main(){char s[10+1],*p;
fgets(s,10+1,stdin);p=s;
while(1){if(*p=='\0') break;
if(*p>='A' && *p<='Z')if(*p!='A'&&*p!='I'&&*p!='U'&&*p!='E'&&*p!='O')*p+=0x20;
putchar(*p++);}}
0226デフォルトの名無しさん2006/01/12(木) 15:05:27
3.やっと動いた。
いちど別の変数に入れてポインタ指定しないとダメなんかな?
このへんの処理が(見た目)重い…

#include <stdio.h>
int main(){int n;char s[]={'a'},*p;p=s;scanf("%d",&n);putchar(*p+=n%3);}
02272152006/01/12(木) 15:10:00
ありがとうございます。
自分でもいまやってるんですが,やはり皆さんはやいです。
すげー
0228デフォルトの名無しさん2006/01/12(木) 15:18:28
>>226
すげぇ無駄だな。
02292152006/01/12(木) 15:19:01
すいません・・・
c++でした・・。
0230デフォルトの名無しさん2006/01/12(木) 15:20:02
うはwwwwwwwwww
最初に言えよwwwwwwwwwwwwww
0231デフォルトの名無しさん2006/01/12(木) 15:20:48
>>229
死ね
0232デフォルトの名無しさん2006/01/12(木) 15:21:45
テキストファイルを読み込み、最長の行を出力するプログラムを作成しなさい。
これ、教えて。
0233デフォルトの名無しさん2006/01/12(木) 15:22:01
>>226
putchar('a'+n%3);
これでいいね。
02342152006/01/12(木) 15:28:40
すいません。 そこんとこもよくわからん初心者でして・・・
02352262006/01/12(木) 15:31:57
>>233
動きましたw
改めて貼っとく。

#include <stdio.h>
int main(){int n;scanf("%d",&n);putchar('a'+n%3);}
0236デフォルトの名無しさん2006/01/12(木) 15:32:15
[1] 授業単元:情報工学
[2] 問題文(含コード&リンク):円周率をマチンの公式を使い1万桁表示するプログラムを作る.
多倍長演算を使い,5桁ごとに1つ空白を入れる.
[3] 環境
 [3.1] OS: unix
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 今日中 1月12日24時まで
[5] その他の制限: なし
よろしくおねがいします
0237デフォルトの名無しさん2006/01/12(木) 15:35:34
[1] 授業単元:応用プログラミング
[2] 問題文(含コード&リンク):期末試験を手伝え。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 01/23 12:50〜14:20限定
[5] その他の制限: 留年かかってます。当日ここに高速で書き込むので即答をお願いします。
0238デフォルトの名無しさん2006/01/12(木) 15:36:20
>>237
手伝えってw
命令口調ワロス
0239デフォルトの名無しさん2006/01/12(木) 15:39:04
>>237
お手伝いロボット置いときますね。ぐぐっただけなんで詳細不明

               -―-
              . ´       ` 、
          '    , i l ! ヽ  ヽ
           〈\ .〃/‐リノ ノリ)ヘヽ.\`
        ,' ヽ \ /,ィ'"|`  f'!ヽト、!`   / ̄ ̄ ̄ ̄ ̄
          l//, ゙{0))! ヒ1!   ,l.!,. l、ヽ   .|
          ' /l/` リl、"´  lフ  イゝ   < 健康びーむ?
           '´ l/_i_リ,!  r._´ リ     |
            '「 , ‐ゝ>r'l〉く.、      \_____
           く,`l  ,.`Kト〉ヾヽ
             ゝL  ヾ.l、〉 r'
               ,-|  「 {} !_ |
                ! l、  `)}´}
               `>/`,-´、 ァ'
             く./ {_`」./ l}
             // 「i.     k
             ,.' /   >!    l}
          j /   r'j    i1
            ^!,'    k1   k'
0240デフォルトの名無しさん2006/01/12(木) 15:40:14
天才ハゲワロス
0241デフォルトの名無しさん2006/01/12(木) 15:53:13
マルチなんかに手伝わせたら
確実に留年する
0242デフォルトの名無しさん2006/01/12(木) 16:00:05
>>216
やばいな、見落としてた。

[5] その他の制限:、標準ライブラリは使ってはいけない
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^このへん
どうしようか・・・_| ̄|○ ゼンブヤリナオシカヨ
0243デフォルトの名無しさん2006/01/12(木) 16:10:51
標準ライブラリ駄目って<stdio.h>も駄目か?
0244デフォルトの名無しさん2006/01/12(木) 16:12:18
C++ でしょ?
cout もだめとか
0245デフォルトの名無しさん2006/01/12(木) 16:17:07
>>215
全部まとめてみましたバージョン
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26804
0246デフォルトの名無しさん2006/01/12(木) 16:26:28
>>215
WindowsAPI叩けってことだよね?
0247デフォルトの名無しさん2006/01/12(木) 16:36:40
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
d2y(x) / dx2 + dy(x) + y(x) = sin(πx)
0≦x≦1で定義された微分方程式
を境界条件 y(0)=0, y(1)=0のもとで解け

[3] 環境
 [3.1] OS: UNIX
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 1月13日17時まで
お願いします

0248デフォルトの名無しさん2006/01/12(木) 16:39:17
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
   ファイル名をコマンドラインで指定し、その内容を256バイトずつ1ブロックとして、16進と文字列形式でダンプ出力した上で、その内容を16進コードで更新するプログラムを作る。
ただし表示ブロック位置(先頭を0とする)はキーボードから入力するものとして、負値またはエンターキーのみが入力させるまで続ける。ブロック内の更新データの先頭はアドレスは16進で入力する。
更新データは2桁で1バイトの16進データを入力する。

:実行例:

a:\e12345.exe e12345.c
BLNo.->2
000200: 64 69 2e ・・・・・・・・・・・・・・ 63 28 dio.h>・v oid spc(
000210: 69 6e 74 ・・・・・・・・・・・・・・ 28 6e int n)・{ ・・if ((n

         |||途中省略|||

0002f0: 0a 09 7d ・・・・・・・・・・・・・・ 29 3b ・・}・・fcl ose(fi);
ADR->12
DATA->a1a2a4
000200: 64 69 2e 68 3e・・・・・・・・・・・ 63 28 dio.h>・v oid spc(
000210: 69 6e a1 a2 a4 ・・・・・・・・・・ 28 6e int n)・{ ・・if ((n

         |||途中省略|||

0002f0: 0a 09 7d 0a 09・・・・・・・・・・・ 29 3b ・・}・・fcl ose(fi);
DATA->_
ADR->_
Change OK?->y
BLNo.->
[3] 環境 Windows C言語
[4] 期限:2006年1月13日12:00まで
成績に関わるんでよろしくお願いします。
0249デフォルトの名無しさん2006/01/12(木) 18:14:04
[1] 授業単元: アルゴリズム演習B
[2] 問題文(含コード&リンク):
int t(int x, int y, int z) {
  if (x > y) return t(t((x-1),y,z),t((y-1),z,x),t((z-1),x,y));
  return y;
}
という関数tがある。tと等価な関数で高速なものを実装せよ。
目安としてはt(2006,1003,0)がtimeコマンドで10s以内

[3] 環境
 [3.1] OS: 問わない
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2006年1/15(日)の23:59まで
0250デフォルトの名無しさん2006/01/12(木) 20:15:23
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): セット時刻になったらグラフィックを表示し音楽を鳴らすプログラムを作る
[3] 環境
 [3.1] OS:Windows
 [3.2] lcc
[4] 期限:17日
[5] その他の制限: グラフィックはchinouglなどをつかう


プログラミングが完成したらグラフィック処理、音楽処理、時間判定の処理を関数として書き、
main()から呼び出す形にしなきゃいけません。
・・・
int main(){
・・・
timecomp();
graphic();
music();
・・・
}

後、絵はなんでもいいです!
面倒だとは思いますがよろしくお願いします。

0251デフォルトの名無しさん2006/01/12(木) 20:25:45
chinougl おもしろすぎ
0252デフォルトの名無しさん2006/01/12(木) 20:26:56
[1] 授業単元: プログラミング
[2] 問題文:
 1.下のファイルに画像があります。その中の赤枠の中お願いします。その文章中の演習問題4-8の
  プログラムが1.cppです。

 2.ファイルの中にある、2.cppは2つの画像を重ねて画素の差の有無で0か255に出力するプログラムです。
  そして、もとの画像は、見た目が同じものを使うのですが出てきた画像は他の画像になっています、
  それは何故でしょうか?
  

[3] 環境
 [3.1] OS: WinXP
 [3.2] コンパイラ名とバージョン: VC 5.0か6.0
 [3.3] 言語: どちらでも可
[4] 期限: 1月13日14:00まで
[5] ファイルは(http://cgi.2chan.net/up2/up.htm)のf111554.zipです。
  出来ないと単位を取れないので、時間が無いですが、お願いします。
0253デフォルトの名無しさん2006/01/12(木) 20:34:25
ハッピー☆マテリアルですか?
それはともかく
>>250
グラフィック処理、音楽処理は機種依存の処理になるので
そのあたりは下で問い合わせた方がいいかもしれません
  【初心者歓迎】C/C++室 Ver.24【環境依存OK】
  http://pc8.2ch.net/test/read.cgi/tech/1135828083/l50
そのchinouglというライブラリの仕様がこちらからではわからないためです。

ここで回答できるのは
ソースにセット時刻を書き込むか(コンパイルしたら設定変更できない)
外部テキストファイルから読み込んでその時刻になったら
graphic(); 
music(); 
を呼び出すということくらいですがよろしいですか。

0254デフォルトの名無しさん2006/01/12(木) 20:39:32
>>252
#include "params.h" 
#include "ImageMDisp.cpp"
#include "ResultMDisp.cpp"
がどんなファイルかわかりませんので答えようがありません。

今なぜあなたが単位がとれるかどうかの瀬戸際に立たされているか
ということをよく考えればなんとか解決できるのかもしれません。
0255デフォルトの名無しさん2006/01/12(木) 20:47:04
google 検索によると chinougl は熊本大学限定ライブラリのようだ。
0256デフォルトの名無しさん2006/01/12(木) 20:50:42
[1] 授業単元: 情報処理
[2] 問題文(含コード&リンク):整数iの自乗が1000以上で、一番1000に近い値となるiとiの自乗を出力するプログラムを作成
#include <stdio.h>

void main(void)
{
int i;
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: ボーランドC++ Compiler
 [3.3] 言語:C++
お願いします
0257デフォルトの名無しさん2006/01/12(木) 20:53:49
>>254
そうですか、その辺は習っていなくて学校のサーバーから移してvoid Processing(unsigne〜〜[X_SIZE])以下を
打つように習っていました。

馬鹿すぎて取れなくて当然ということですか?
0258デフォルトの名無しさん2006/01/12(木) 20:58:38
>>256
切り番おめ。

#include <iostream>
int main( void )
{
int i = 0;
while( true ) {
++i;
if ( i*i >= 1000)
break;
}
std::cout << "i: " << i << " i*i: " << i*i << std::endl;
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています