C/C++の宿題を片付け ..
809:ロベ
08/06/06 16:25:00
>>646の課題はわりと単純なものでもかまいません
よろしくおねがいします
810:ねね ◆ia23AXgoXg
08/06/06 16:30:29
[1] 授業単元: 工学実験(画像処理)
[2] 問題文: 濃度ヒストグラムを伸長(濃度変換)する関数[extend()]を作成せよ
[3.1] OS:WinXP
[3.2] コンパイラ名とバージョン: VisualC++6.0
[3.3] 言語:C++
[4] 期限: 6/9 17:00
[5] その他の制限: 概念くらいしかわかってません…orz
メインプログラムおいときます、無理に使わなくてもいいかと
#include <stdio.h>
#define X 260 /* 画像の横方向の画素数 この例では260 */
#define Y 60 /* 画像の縦方向の画素数 この例では60 */
unsigned char f[Y][X]; /* 入力画像配列 横X画素 ,縦Y画素 */
unsigned char g[Y][X]; /* 入力画像配列 横X画素 ,縦Y画素 */
main()
811:ねね ◆ia23AXgoXg
08/06/06 16:31:12
main()
/* 画像処理を行うメインプログラム */
{
char source[80]; /* 入力ファイル */
char destin[80]; /* 出力ファイル */
unsigned char t; /* 閾値 */
printf("filename(input) ? ");
scanf("%s",source);
printf("filename(output) ? ");
scanf("%s",destin);
printf("threshold ? ");
scanf("%d",&t);
image_input(f,source); /* 画像の入力処理 */
threshold(f,g,t); /* 閾値処理の場合 */
image_output(g,destin); /* 画像の出力処理 */
どうかよろしくお願いします。・・・
812:デフォルトの名無しさん
08/06/06 16:36:16
>>805
for(k=0; k<3&&j>=0; k++, j--) if(i-3<=board[j] && board[j] <= i+3) flag = 0;
を適当なとこに突っ込んでそれに合わせて少しいじればおk
813:デフォルトの名無しさん
08/06/06 16:55:28
>791
#include <stdio.h>
void view(int attend[][7][4])
{
int main(void)
{
int n, d, p, a, attend[15][7][4]={0};
while(0<=fputs("number : ", stdout) && scanf("%d", &n)==1 && 0<=n && n<=14)
{
if(0<=fputs("day : ", stdout) && scanf("%d", &d)==1 && 0<=d && d<=6
&& 0<=fputs("period : ", stdout) && scanf("%d", &p)==1 && 0<=p && p<=3
&& 0<=fputs("attend : ", stdout) && scanf("%d", &a)==1 && 0<=a && a<=1)
{
attend[n][d][p]=a;
view(attend);
}
else
{
fputs("input error.\n", stdout);
}
}
return 0;
}
814:デフォルトの名無しさん
08/06/06 17:05:41
途中で送信しちゃった
void view(int attend[][7][4])
{
int i,j,k;
for(i=0; i<15; i++)
{
printf("student no.%d : \n", i);
fputs(" S M T W T F S\n", stdout);
for(j=0; j<4; j++)
{
printf("period %d : ", j);
for(k=0; k<7; k++)
{
printf("%d ", attend[i][k][j]);
}
putchar('\n');
}
}
}
815:デフォルトの名無しさん
08/06/06 17:09:58
>>807
URLリンク(kansai2channeler.hp.infoseek.co.jp)
816:デフォルトの名無しさん
08/06/06 17:11:23
>>797
っつか、劣化さえずにファイルサイズを小さくするってなら
PNG辺りを
817:デフォルトの名無しさん
08/06/06 17:12:34
>>804
高度すぎてワロタ
818:デフォルトの名無しさん
08/06/06 17:14:42
まあ、最悪マイクからの信号を拾えたとしても
「リアルタイム」で解析し、音名を表示ってえぐいなまた
と言うか音「名」ってなんだ?
819:デフォルトの名無しさん
08/06/06 17:15:22
>>818
ドとかそういうんじゃね?
820:デフォルトの名無しさん
08/06/06 17:16:17
内部で絶対音感を持ってる人に処理させればおk
821:デフォルトの名無しさん
08/06/06 17:18:07
内部で初音ミクが処理してるんですね、わかります
822:デフォルトの名無しさん
08/06/06 17:18:19
MikuMikuVoiceの機能を知りたい手合いか
823:デフォルトの名無しさん
08/06/06 17:21:58
音名ってまた曖昧な
ピアノのド=トランペットのレ=ホルンのソ
実音でいいのにな
824:デフォルトの名無しさん
08/06/06 17:21:58
音名表示のソフトとかフリーであるでしょ
まぁ俺はつくれんがwAPIはむり
825:デフォルトの名無しさん
08/06/06 17:23:04
>>805
スーパークイーン強すぎワロタ
826:デフォルトの名無しさん
08/06/06 17:24:02
>>807
すまん、>>815間違ってるわ
微妙に修正
URLリンク(kansai2channeler.hp.infoseek.co.jp)
827:デフォルトの名無しさん
08/06/06 17:24:45
>>646
グレイスケール化だけ
圧縮には未対応
URLリンク(kansai2channeler.hp.infoseek.co.jp)
828:kokoro
08/06/06 17:27:10
>>826
もうチョット簡単になりませんか?
for文のところの課題なので、for文(多重ループなど)を使ってお願いします。
++count、#defineはまだ勉強してないのです。
829:814
08/06/06 17:28:32
>791
こっちのほうがいいかな
URLリンク(kansai2channeler.hp.infoseek.co.jp)
830:デフォルトの名無しさん
08/06/06 17:29:16
>>828
#define ANSHOU_BANGO 1234
これはソース中にANSHOU_BANGOがあればコンパイル時に1234に置き換えますよということだけです。
831:デフォルトの名無しさん
08/06/06 17:32:21
>>828
こういう入力回数が決まってないループはwhileを使わないといけないと思うんだけど
whileは一回も使っちゃダメ?
832:kokoro
08/06/06 17:34:37
>>831
whileも使ってもおっけいです。
833:デフォルトの名無しさん
08/06/06 17:40:33
ループする条件があるならwhile()特に無しならfor(;;)のが素直だと思う
834:デフォルトの名無しさん
08/06/06 17:42:31
>>828
十分簡単だろうに。一体何が問題なのか理解できん
習ってないから使うな、なんて言われないぞ
835:kokoro
08/06/06 17:44:17
#include<stdio.h>
int main(void)
の次は、int totalMoney = 10000でいいのですか。
return 0; return 1; と書いてありますが、一番最後はreturn 0;で
終わるようにしたいです。
836:デフォルトの名無しさん
08/06/06 17:48:34
むしろmainにはreturn書いてないけどw
終わらせたければreturn 0;足せば良いじゃないw
837:デフォルトの名無しさん
08/06/06 17:48:46
>>835
なかなか難しい注文だなw
>>826の解はcになれてればどうってことないんだけどなw
838:デフォルトの名無しさん
08/06/06 17:49:44
int main ()
{
int type;
while( true ){
if( ( type = selectMainMenu() ) == 0 )
return 0;
if( inputNumber() == 0 )
return 0;
switch( type ){
case 1: deposit(); break;
case 2: withdraw(); break;
case 3: showMoney(); break;
}
printf( "\n" );
}
return 0;
}
839:デフォルトの名無しさん
08/06/06 17:50:31
あーすまん良く見たら書いてた、その上どっちもreturn 0じゃん
840:デフォルトの名無しさん
08/06/06 17:52:11
>>839
だからmainの最後にreturn 0が無いから心配してるだけなんだけど
実はwhileの中でreturn 0;で抜けてるから問題ないんだけどね・・・
841:kokoro
08/06/06 17:53:28
>>836
なんていうのかな・・・?
#include<stdio.h>
int main(void)
}
・
・
・
return 0;
}
でおわりたい。みたいな・・・?
842:デフォルトの名無しさん
08/06/06 17:55:11
>>832
for文2箇所で使って、#define使わずに
間違ってたところあったのでそれも訂正
URLリンク(kansai2channeler.hp.infoseek.co.jp)
>>835
暗証番号を三回ミスったってのを知らせないといけないから
0と1を区別して返してる、嫌なら関数を使うのをやめないといけないな
843:kokoro
08/06/06 17:58:26
>>842
関数まだやってないから、先生にみせるときチョット・・・まずいかも・・・
関数なしでできますか?
844:デフォルトの名無しさん
08/06/06 18:01:51
c慣れしてる人に関数無しで・・・ってある意味酷だな
845:デフォルトの名無しさん
08/06/06 18:02:38
後だしで条件つけんなよ
846:デフォルトの名無しさん
08/06/06 18:02:51
そこまで条件を後付けするのはわがまますぎるぞ。
自分でプリプロセッシングすれば済む話だろう
847:kokoro
08/06/06 18:04:53
>>844
すみません・・・
何とかなりませんか?お願いします。
848:デフォルトの名無しさん
08/06/06 18:07:16
簡単だけどやること多くてめんどくさい課題って初心者に出すには不向きだと思うがなあ
849:kokoro
08/06/06 18:09:56
そこを何とか・・・お願いします。
本当に困ってるのです。。。
これができないと・・・。
850:デフォルトの名無しさん
08/06/06 18:10:21
>>843
たぶんこれでおk
URLリンク(kansai2channeler.hp.infoseek.co.jp)
851:デフォルトの名無しさん
08/06/06 18:11:23
あーマジで関数却下されるとすげー面倒だなw
思考が関数ありきになってるのでむしろ書けといわれると沸きそうだ
852:デフォルトの名無しさん
08/06/06 18:11:47
このスレで言うのもなんだが、それもできないようじゃ単位落とした方がいいぞ
853:kokoro
08/06/06 18:12:38
>>850
ありがとうございます!!!
本当に助かりました^^
854:kokoro
08/06/06 18:15:18
>>852
ゼミでこれを取ったのですが、今後悔です。
本当分からないので、嫌になります・・・
マジ、単位落としそうだもん。
855:デフォルトの名無しさん
08/06/06 18:17:33
わからないからって人任せにしてたら全然上達しないぞ
書いてもらったソースと勉強に使ってる本見比べて
知識を自分のものにしないとな
856:デフォルトの名無しさん
08/06/06 18:20:35
こんな低レベルでもゼミなのかw
857:デフォルトの名無しさん
08/06/06 18:21:26
てかなんで学生って習ってないのを極端に怖がるの?
「勉強しました」って突っぱねれば問題ないじゃん
858:デフォルトの名無しさん
08/06/06 18:23:23
中高のIT関連の授業の課題かと思ってた。
859:kokoro
08/06/06 18:25:19
>>858
初めてc言語やりました。
テキストと並列してやっているので、やってないところがあると
まずいかなって。
自分なりのプログラム作ってみます。
でもできないところがあったら、マタお願いしてもいいですか
860:デフォルトの名無しさん
08/06/06 18:34:15
聞くこと前提にしてるとまた後悔するぞw
ここ見てりゃ黙っててもソースが出てくるんだから
それみて自分で弄ってみろw
861:tk
08/06/06 18:34:39
n個の常連立微分方程式を4次のRunge-Kuttaを使って解くプログラムを教えてください。
配列とか使うみたいなんですけど。
862:デフォルトの名無しさん
08/06/06 18:46:40
>>805
void solve(int n)
{
int i,j,k,u,l,flag; //kを追加
if(n==N){
count++;
for(i=0;i<N;i++){
for(j=0;j<N;j++) printf((board[i]==j)?"Q":"+");
printf("\n");
}
printf("No. %d\n\n",count);
return;
}
for(i=0;i<N;i++) {
j=n-1;u=i+4;l=i-4;flag=1; //uとlの初期値を変更
for(k=0; k<3 && j>=0 && flag == 1; k++, j--) if(l<board[j] && board[j]<u) flag = 0; //この一行を追加
while(flag==1 && j>=0){
if(board[j]==i || board[j]==l || board[j]==u) flag=0;
u++;l--;j--;
}
if(flag==1){
board[n]=i;
solve(n+1);
}
}
}
問題写すなら正確に写せよ
863:デフォルトの名無しさん
08/06/06 18:56:27
てか,今の時点での未解決問題はどれぐらいなんだ?
864:デフォルトの名無しさん
08/06/06 18:57:25
気になるなら自分で調べればいいだろ。
865:デフォルトの名無しさん
08/06/06 19:11:35
なんだ、今日はやさしい人が多いなあ
866:デフォルトの名無しさん
08/06/06 19:32:11
[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++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
6月9日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
スタックを習っているところです。
よろしくお願いします
867:デフォルトの名無しさん
08/06/06 19:45:05
>>808
解答と合わせて知識にしていきたいと思います
>>812
返答ありがとうございます
>>862
返答ありがとうございます
ミスありましたか どうもすいません
#defineのところですかね…
868:デフォルトの名無しさん
08/06/06 19:47:49
>>867
>if(board[i]==i || board[j]==l || board[j]==u) flag=0;
board[i] じゃなくて board[j]
869:デフォルトの名無しさん
08/06/06 20:04:23
>>868
根本と言っても過言ではないところを間違ってましたか
ありがとうございます
870: ◆DuoCt8/SKk
08/06/06 20:05:36
>>592について考えていたのですが,途中で分からなくなりました.
URLリンク(kansai2channeler.hp.infoseek.co.jp)
良ければ何かアドバイスなどをもらえないでしょうか?(オプション表示の方法や関数など)
よろしくお願いします!
871:デフォルトの名無しさん
08/06/06 20:10:10
>>870
実行してないけどオプションの表示はできてるんじゃないの?
入力させて、それに応じたオプション内容を表示できてるんだから後は
それを変数に入れておけばよいような。
戻り値にしてもいいし、パラメータで受けとってもいいし、グローバルでもいい。
872:デフォルトの名無しさん
08/06/06 20:10:52
[1] 授業単元:C言語による数値計算
[2] 問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows Vista
[3.2] コンパイラ名とバージョン: Windows Visual Studio
[3.3] 言語: C++
[4] 期限: 6月8日(日)
自分で作ったプログラムがうまく動いてくれません。
どなたかC言語を用いた数値計算(特に行列計算)に長けている方、
プログラミングに詳しい方、どうかよろしくお願いします。
873: ◆DuoCt8/SKk
08/06/06 20:16:33
>>871
返事ありがとうございます.
実行すると最初の部分はきちんと表示されるのですが
★★★★★★★★操作お疲れ様でした、商品を排出します★★★★★★
以降の表示がされないのです.あと,
>>入力させて、それに応じたオプション内容を表示できてるんだから後は
>>それを変数に入れておけばよいような。
>>戻り値にしてもいいし、パラメータで受けとってもいいし、グローバルでもいい。
の部分は・・・具体的にどのようにすればいいのでしょうか?
874:デフォルトの名無しさん
08/06/06 20:24:23
[1] 授業単元: Cプログラミング
[2] 問題文(含コード&リンク):(URLリンク(kansai2channeler.hp.infoseek.co.jp))
[3] 環境
[3.1] OS:Linux
[3.2] gcc
[3.3] 言語: C
[4] 期限: ([2008年06月10日まで]
[5] その他の制限:問題の文をベースにして、
new old bodyという変数にして、
ab xy acabcならbodyのabのところにxyを置き換え、またnewの値がなかった場合
そのままbodyを出力するというプログラムを作ることです。
875:デフォルトの名無しさん
08/06/06 20:34:54
>>872
変数 ‘y1’を使ってないようだけど、式は正しい?
876:デフォルトの名無しさん
08/06/06 20:57:48
>>872
b[N]とかa[N][N]ってなにをしたいの?
877:デフォルトの名無しさん
08/06/06 21:01:44
>>872
>>875
ごめんなさい
指摘どおり間違ってたので修正うp
URLリンク(kansai2channeler.hp.infoseek.co.jp)
y1を入れました
878:デフォルトの名無しさん
08/06/06 21:08:14
>>876
A*X=Bの方程式のAを行列a[N][N]、Bを行列b[N]として
行列を使ってXを解かないといけないらしくて
つまりX=A^(-1)*BにしてXを求めるみたいです
879:デフォルトの名無しさん
08/06/06 21:09:46
宿題:数式処理ソフトMaximaと同等のソフトウェアを明日までに作れ
ソースファイルの行数は1000行以内。
880:デフォルトの名無しさん
08/06/06 21:13:19
>>875
>>877
何度もすみません、こっちでした
URLリンク(kansai2channeler.hp.infoseek.co.jp)
そちらは間違ってました
881:デフォルトの名無しさん
08/06/06 21:14:54
>>879
コンソールでコマンド受け付けて裏でmaximaに投げればいい
882:デフォルトの名無しさん
08/06/06 21:16:42
>>878
そういうことじゃなくてb[N]にアクセスすんなってことなんだけど
883:デフォルトの名無しさん
08/06/06 21:26:29
>>880
バカですみません
printf("y1 = "); scanf("%lf",&y2);じゃなくてprintf("y1 = "); scanf("%lf",&y1);でした
>>882
申し訳ありません、プログラミングに詳しくないので
「b[N]にアクセスするな」とはprintf("%lf\n", b[i]);とdouble gauss( double a[14][14], double b[14] )の
部分ですか?
よろしければ解決策を教えて下さい
884:デフォルトの名無しさん
08/06/06 21:34:36
>>882
double gauss( double a[14][14], double b[14] )の
/* 後退代入 */
b[N] = b[N]/a[N][N];
のとこはは部分ピボット付きガウス消去法をコピペしてきただけなので
詳しい仕組みやアクセスやらはよく分からないです
885:デフォルトの名無しさん
08/06/06 21:49:16
>>206
double b[14];
こう宣言を行ったときは、b[0] 〜 b[13] までの14要素であって、
b[N] == b[14] にはアクセスしちゃいけないってこと。
Nをdefineしたのに14という数字があちこちに散らばってる
(マジックナンバーていいます)のもよくないよ。
886:885
08/06/06 21:50:18
なんかレスアンカミスった><
>>885 は >>883 宛てです
887:デフォルトの名無しさん
08/06/06 21:59:14
本人が何をしてるかわからないもののデバッグなんてさせんな
888:デフォルトの名無しさん
08/06/06 22:02:09
>>646
とりあえず出来た
URLリンク(kansai2channeler.hp.infoseek.co.jp)
889:デフォルトの名無しさん
08/06/06 22:06:56
何も分からんならmaximaでもmathematicaでも好きに使って解けばいい
890:デフォルトの名無しさん
08/06/06 22:09:26
>>887
じゃあ宿題を片付けますスレに来なければいいじゃんww
分からない人やできない人を貶したいだけなら他に逝けよ
891:デフォルトの名無しさん
08/06/06 22:10:56
>>890
そういうお前も文句つけたいだけだなw
892:デフォルトの名無しさん
08/06/06 22:22:48
>>891
うわぁ.......
まるで餓k(ry
893:デフォルトの名無しさん
08/06/06 22:31:29
>>884
とりあえずループ変数を<=Nじゃなくて<Nまでにしてみたら?
894:デフォルトの名無しさん
08/06/06 22:33:52
一から問題解くならいいけど、腐ったコードの手直しさせられるのは勘弁願いたい
どんだけ凡ミスあるかいちいちチェックしなきゃいけないのかよ
895:デフォルトの名無しさん
08/06/06 22:42:07
俺もあの有名なサイト「初心者のため(ry」でひどいソースを呈示され
「どこが間違ってるんでしょうか」と言われ、あまりのひどさに一からソースを
起こして書いてやったらすぐ書けてしかも正常に動いた。
ところが質問者が「元のソースを手直しして欲しいのです」と来たもんだ。
金もらってるならともかく、こんなボンクラの相手をしている暇はないので
それ以降無視してやった。
896:デフォルトの名無しさん
08/06/06 23:22:21
>>873
張ってあるソースは全然使ってないし、ごちゃごちゃしてわかりずらいかもしれないけど、
できたのでうp (まだ気に入らないところあるけど、言い出したらきりないしね)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
897: ◆DuoCt8/SKk
08/06/06 23:30:46
>>896
わざわざソースを書いて頂きありがとうございます!
参考書を使いながら理解に励もうと思います.
898:デフォルトの名無しさん
08/06/06 23:50:38
>>897
質問者の皆が皆こんな感じの人なら気持ちいいのにな
頑張ってね
899:デフォルトの名無しさん
08/06/06 23:59:58
>>897
!
今回は高度すぎて、、とかじゃなくて理解しようと思いましたかw
いい心がけだとおもいますー。応援してるお
900:デフォルトの名無しさん
08/06/07 00:06:41
[1] C
[2] URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3]
[3.1] LINUX
[3.3] C
[4] 6月9日
[5] 記載のプログラムに付け加える形でお願いします
よろしくお願いします
901:896
08/06/07 00:48:25
>>897
一部変数名がなんかおかしいところあるから気をつけてね
最初、optvol_tのところoptmode_tで作ってたのを
あげる前に見直してモードじゃおかしいな、量だなってことでoptmode_t だったのを optvol_tに
代えたんだけど、関連する場所(option_t 内のmode, modeflgとか)変更するの忘れてた
ソースの修正はやっぱ慎重にしなきゃね
902:デフォルトの名無しさん
08/06/07 00:49:16
そんな変更エディタの機能でやればいいのに
903:デフォルトの名無しさん
08/06/07 01:02:48
置換 mode→vol でおk
904:デフォルトの名無しさん
08/06/07 01:05:46
>>874
日本語で
905:896
08/06/07 01:09:11
>>897
変数名修正したのあげときます(なんかまだおかしいとこありそうだけど)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
906:デフォルトの名無しさん
08/06/07 01:37:41
>>874
tr コマンドみたいなものでおk?
907:デフォルトの名無しさん
08/06/07 01:39:29
この規模なら気にしなくていいけど、エディタの機能でやるときには
慎重にやらないとだなあ。
リファクタリング機能のある開発環境ならさっくりだけど。
908:デフォルトの名無しさん
08/06/07 03:01:33
[1] 授業単元: C言語
[2] 問題文:
入力文字列からトークンを切り出してchar配列に格納するプログラムを作成する。
<入力文字列の指定条件とトークンの切り出しについて>
・入力文字はASCIIコードのみとする。
・デリミタとなる文字は半角スペースとする。
例) 入力が「abc defg hij」 → 「abc」、「defg」、「hij」の3つのトークン
・半角スペースを含むトークンは"(ダブルクォート)でトークンを囲む。
例) 入力が「abc "d e f g" hij」 → 「abc」、「d e f g」、「hij」の3つのトークン
・トークンに"(ダブルクォート)自体が含まれる場合は""のように2回指定する。
例) 入力が「abc "d e "" f g" hij」 → 「abc」「d e " f g」「hij」の3つのトークン
[3] 環境
[3.1] OS: Ubuntu 8.04
[3.2] コンパイラ名とバージョン: gcc4
[3.3] 言語: C
[4] 期限: 来週まで
[5] その他の制限:
トークンの個数や入力文字列の長さは特に上限がないので、自分で設定してよいそうです。
試しにstrsep()で空白スペースをデリミタにすると、やはりトークンがおかしくなります。
長くなりましたが、よろしくお願いいたします。
909:デフォルトの名無しさん
08/06/07 03:53:36
>>908
abc"def""ghi"jkl とかは?
910:デフォルトの名無しさん
08/06/07 07:20:12
>>909
4番目の条件に合致しない?
911: ◆DuoCt8/SKk
08/06/07 08:19:55
>>901
>>905
そうだったのですか・・・全くわかりませんでした,指摘して頂きありがとうございます.
引き続き頑張ってみます!
912:デフォルトの名無しさん
08/06/07 09:59:53
>>910
デリミタとして指定されてるのが半角スペースだけだから
abc"def""ghi"jklが
abc
def"ghi
jkl
なのか
abcdef""ghijkl
なのかどっちで作ればいい?ってことでしょ。
913:デフォルトの名無しさん
08/06/07 10:02:30
あ、あと4つに分割する可能性もあるのか。
914:639
08/06/07 10:33:41
>>639ですが
あれからしばらく自分なりに頑張ってみたのですが
どうにもうまくいかず…
gccは無理なのでしょうか?
すみませんがアドバイスお願いします
915:908
08/06/07 10:55:54
>>909
>>910
>>912
入力文字列が「abc"def""ghi"jkl」の場合は、
デリミタの半角スペース無しで"(ダブルクォート)が
指定されたという事でフォーマットエラーとするそうです。
× 「abc"def""hki"jkl」
○ 「abc "def""ghi jkl」
916:908
08/06/07 10:58:43
すみません。記述ミスしました。
× 「abc"def""hki"jkl」 → 'c'の後に'"'なのでフォーマットエラー
○ 「abc "def""ghi" jkl」 → 「abc」「"def"hki」「jkl」の3つのトークン
917:デフォルトの名無しさん
08/06/07 11:23:57
>>914
物凄くやっつけで完璧に動作するか知らないけどこんなんで良いならどうぞ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
918:908=916
08/06/07 11:34:43
また間違えました。もう何か駄目だ…
× 「abc"def""hki"jkl」 → 'c'の後に""でなく"dとなっているのでフォーマットエラー
○ 「abc "def""ghi" jkl」 → 「abc」「def"hki」「jkl」の3つのトークン
919:639
08/06/07 11:49:50
>>917氏、ありがとうございます
とてもありがたいですm(_ _)m
920:デフォルトの名無しさん
08/06/07 12:22:39
>>810
忘れ去られてそうなので…
921:デフォルトの名無しさん
08/06/07 12:55:06
>>810 (>>920)
問題の意味が分かりません
ついでにC++?C?
922:ロベ
08/06/07 13:14:42
>>888
ありがとうございました。
その他の方も色々とありがとうございました。
923:デフォルトの名無しさん
08/06/07 14:48:10
期限過ぎてない奴で反応がない課題(多分)
6/9 >>485 >>866
6/11 >>765
6/14 >>597
6/18 >>608
6/20 >>179
924:874
08/06/07 15:19:25
すいません、わかりにくく書いてしまって。
いいたいことは、張ったコードをmember()で利用して
そのアルファベットがあれば置き換えるプログラムが作りたいのです。
よろしくお願いします。
925:デフォルトの名無しさん
08/06/07 17:50:41
>>908
エラー処理がやっつけなので、もっとデバッグする必要あり
URLリンク(kansai2channeler.hp.infoseek.co.jp)
926:デフォルトの名無しさん
08/06/07 20:27:29
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[1] 授業単元:コンピュータグラフィックス
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VisualC++6.0
[3.3] 言語: C++
[4] 期限:6月10日までにお願いします。
[5] その他の制限:元の図をもとに、できるだけ簡単にお願いします。
927:925
08/06/07 21:51:07
>>908
スレが進んでいなかったので、自分デバッグしてみた
URLリンク(kansai2channeler.hp.infoseek.co.jp)
928:デフォルトの名無しさん
08/06/07 22:08:47
>>765
fork1とfork2は外部プログラムとして呼ぶの?
それとも、親プログラムに埋め込むの?
929:デフォルトの名無しさん
08/06/07 22:44:44
[1] 授業単元:c言語
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:xp
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語: C
[4] 期限:明日中
[5] その他の制限:できるだけ簡単なプログラムでお願いします
お願いします
930:デフォルトの名無しさん
08/06/07 22:47:06
>>929
問題は?
931:929
08/06/07 22:47:29
929です
すいませんが問題の追記です
このプログラムが正常に作動するように記述を追加しなさい
入力される文字列は9文字以下とする
m<_ _>m
932:デフォルトの名無しさん
08/06/07 22:49:51
char *str[NUM] → char str[NUM][10]
933:デフォルトの名無しさん
08/06/07 22:50:08
コメントアウトする馬鹿登場
↓
934:デフォルトの名無しさん
08/06/07 22:51:02
↑
コメントアウトする馬鹿
935:デフォルトの名無しさん
08/06/07 22:53:48
追加限定なら
#include <stdlib.h>
for(i=0; i<NUM; i++) str[i] = malloc(10);
for(i=0; i<NUM; i++) free(str[i]);
をそれぞれ適切な位置に追加
936:デフォルトの名無しさん
08/06/07 23:06:38
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
kadai01.c
コマンドラインから加算もしくは減算の式を入力し
以下のような結果になるように/*記述*/のところを追加して完成させよ
#include <stdio.h>
#include <stdlio.h>
int main(int argc, char *argv[])
{
int result;
/*記述*/
printf("result = %d\n",result);
return(0);
}
結果
kadai01 10 + 21
31
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)すみませんわかりません
[3.3] 言語: C
[4] 期限:月曜まで(できるだけ早めで)
[5] その他の制限:大学2年レベルでお願いします
937:デフォルトの名無しさん
08/06/07 23:08:21
>>936
result=argv[0]+argv[2];
938:デフォルトの名無しさん
08/06/07 23:09:48
result = atoi(argv[1]);
if(argv[2]=='+') result += atoi(argv[3]);
else if(argv[2]=='-') result -= atoi(argv[3]);
939:デフォルトの名無しさん
08/06/07 23:10:56
>>932
早い解答ありがとうございます
940:デフォルトの名無しさん
08/06/07 23:12:27
>>938
ちょw
941:デフォルトの名無しさん
08/06/07 23:13:42
>>938
これはひどい
942:デフォルトの名無しさん
08/06/07 23:14:49
argv[2][0]=='+' か strcmp(argv[2],"+")==0 だな
943:デフォルトの名無しさん
08/06/07 23:21:16
936
減算の場合は+をそのまま-にすればいいんでしょうか?
944:デフォルトの名無しさん
08/06/07 23:43:37
[1]プログラミング
[2]問題文
三つの整数値を読み込んで、それらの値が全て等しければ、「三つの値は等しいです。」と、どれか二つの値が等しければ、「二つの値が等しいです。」と、そうでなければ、「三つの値は異なります。」と表示するプログラムを作る。
[3-1]windows
[3-2]gcc
[3-3]C言語
[4]明後日まで。
よろしくお願いいたします。
945:デフォルトの名無しさん
08/06/07 23:46:03
条件演算子で済ませる馬鹿
↓
946:↑答える気も無いのに批判しかしないバカ
08/06/07 23:51:49
947:デフォルトの名無しさん
08/06/07 23:52:47
#include <stdio.h>
int main(void)
{
int a, b, c;
char *str[] = {"三つの値は異なります。","二つの値が等しいです。","", "三つの値は等しいです。"};
scanf("%d%d%d", &a, &b, &c);
printf("%s\n", str[(a==b) + (b==c) + (c==a)]);
return 0;
}
948:デフォルトの名無しさん
08/06/08 00:03:59
おい、全部等しかったら死ぬぞ
949:デフォルトの名無しさん
08/06/08 00:05:02
勝手に死んでろよw
950:デフォルトの名無しさん
08/06/08 00:06:06
死なない
空文字列が目に入らぬか?
951:デフォルトの名無しさん
08/06/08 00:07:59
>>948 答えもせず、さらに間違うとは、お前このスレには必要ねーな
一生ROMってろ
952:デフォルトの名無しさん
08/06/08 00:13:19
[1] 授業単元:
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:xp
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語: C
[4] 期限:月曜日まで
[5] その他の制限:大学生レベルでお願いします
よろしくお願いします
953:デフォルトの名無しさん
08/06/08 00:31:35
d = malloc(sizeof(char *) * NUM);
for(i=0; i<NUM; i++) {
for(j=0; p[i][j]; j++);
d[i] = malloc(j + 1);
while(j >=0) {
d[i][j] = p[i][j];
j--;
}
}
func(ccc);
954:デフォルトの名無しさん
08/06/08 00:37:44
>>953
ありがとうございます
ですがmallocをまだ習ってないので
使わずにできませんか?
955:デフォルトの名無しさん
08/06/08 00:39:27
>>954
>d[NUM][文字列の長さ+1]を動的にメモリ上に確保する
それだとこれができない
956:デフォルトの名無しさん
08/06/08 00:39:29
callocは習った?
957:デフォルトの名無しさん
08/06/08 00:40:27
mallocを習わずどうしてfreeが出てくるんだ?
958:デフォルトの名無しさん
08/06/08 00:40:42
>>956
はいcallocは習いました
959:デフォルトの名無しさん
08/06/08 00:42:26
習ってない事はやらないのが大学生レベルですか?
960:デフォルトの名無しさん
08/06/08 00:42:56
じゃあ
malloc(sizeof(char *) * NUM) → calloc(NUM, sizeof(char*))
malloc(j + 1) → calloc(j+1, 1)
961:デフォルトの名無しさん
08/06/08 00:45:47
>>960
ありがとうです!!
962:デフォルトの名無しさん
08/06/08 00:47:01
calloc教えてmalloc教えないとはw
それか単にmallocは習ったけど脳内スルーで習ってないことになってるか
963:デフォルトの名無しさん
08/06/08 00:48:37
realloc、エラ張るとテネスは学びました!バブルソートは習ったけど
基本洗濯、クックソートは学んでいませんです、はいっ!おながいします!
964:デフォルトの名無しさん
08/06/08 00:51:42
953まで誰も答えないのに、954が出たとたんに書き込み増えるってw
ホントにこの時間はケチつけたいだけのヤツがいるんだな
965:デフォルトの名無しさん
08/06/08 00:53:14
>>964
だからそれがお前だろ?
966:デフォルトの名無しさん
08/06/08 00:53:27
別に自己紹介しなくてもいいだろ
967:デフォルトの名無しさん
08/06/08 00:54:33
>>965
いや俺は953で960だ。
ついでに言えば932で935で947でもある。
968:デフォルトの名無しさん
08/06/08 00:55:49
ケチつけてるのは俺だけだけど?
969:デフォルトの名無しさん
08/06/08 00:59:58
>>968
>>890
970:デフォルトの名無しさん
08/06/08 01:26:43
>>969
いや、2chなんて捻くれてる人間だから
ケチつけて情報を引き出すの。
971:デフォルトの名無しさん
08/06/08 01:32:06
麻呂のクソースはケチをつけられようが、早く出せと言われようが
またーりと記述した後適当にうpするでおじゃるよ?
972:デフォルトの名無しさん
08/06/08 04:47:03
[1] 授業単元: アルゴリズム
[2] 問題文(含コード&リンク):
非再帰的な方法でヒープソートを実装せよ
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C
[4] 期限: 2008/6/9まで
[5] その他の制限: URLリンク(www2.uploda.org)
まで書いたのですが、きちんとソーティングされなくて困ってます。
どこがおかしいのでしょうか?
よろしくお願いします。
973:デフォルトの名無しさん
08/06/08 05:27:49
>>972
プロトタイプ宣言が・・・・
974:デフォルトの名無しさん
08/06/08 05:32:47
プロトタイプ宣言とソーティングされないのは関係ないだろw
975:デフォルトの名無しさん
08/06/08 06:03:42
#include <sys/wait.h>
#include <stdio.h>
#include <unistd.h>
int main() {
pid_t p1, p2;
switch (p1 = fork()) {
case -1: perror("fork"); return 1;
case 0: /* ここに fork1 の内容を書く */
_exit(0);
default: break; }
switch (p2 = fork()) {
case -1: perror("fork"); return 1;
case 0: /* ここに fork2 の内容を書く */
_exit(0);
default: break; }
976:デフォルトの名無しさん
08/06/08 06:04:27
for (; p1 != -1 || p2 != -1;) {
pid_t c;
int status;
if ((c = wait3(&status, 0, NULL)) == -1) { perror("wait3"); break; }
if (c == p1) {
if (WIFEXITED(status)) printf("fork1 exit (%d)\n", WEXITSTATUS(status));
else printf("fork1 killed (%d)", WTERMSIG(status));
p1 = -1;
}
if (c == p2) {
if (WIFEXITED(status)) printf("fork2 exit (%d)\n", WEXITSTATUS(status));
else printf("fork2 killed (%d)", WTERMSIG(status));
p2 = -1;
}
}
return 0;
}
977:デフォルトの名無しさん
08/06/08 06:28:11
>>972
- iter_heap(a,0,size-2);
+ iter_heap(a,0,size-2);
もう一カ所間違いがあるが、自分で探せ。
978:デフォルトの名無しさん
08/06/08 08:09:30
>>977
もちつけ
979:デフォルトの名無しさん
08/06/08 08:21:35
完全ニ分木って階層を渡って一列に整列できるよね
ある節の子の左の子の添え字を返す関数かいてみてくれない
いやならいいけど
多分嫌だろうけど
980:デフォルトの名無しさん
08/06/08 09:31:12
[1] 授業単元: プログラム
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VC6
[3.3] 言語: c++
[4] 期限: 2008/6/10
[5] その他の制限: 問題文中の制限
お願いします(・ω・`)
981:側近中の側近 ◆0351148456
08/06/08 09:45:57
>>980
(っ´▽`)っ
こんな簡単なプログラムなら自分で作ればいいじゃない
982:側近中の側近 ◆0351148456
08/06/08 09:50:18
>>980
(っ´▽`)っ
#include <stdio.h>
int main(void)
{
int h[10];
int i;
for(i = 0; i < sizeof(h)/sizeof(h[0]); i++){
h[i] = 10 - i;
printf("h[%d] = %d\n", i, h[i]);
}
printf("h[%d] = %d\n", 3-1, h[3-1]);
printf("h[%d] = %d\n", 5-1, h[5-1]);
return 0;
}
983:側近中の側近 ◆0351148456
08/06/08 09:55:27
(っ´▽`)っ
これはC言語であって、C++じゃない
というような野暮なことは言わないように。
984:デフォルトの名無しさん
08/06/08 10:28:10
ああc++でした
いくつか似たような問題とかないといけないので参考にさせていただきます
有難うございました(´・ω・)
985:デフォルトの名無しさん
08/06/08 10:31:45
すいません、どなたか>>866お願いします
986:デフォルトの名無しさん
08/06/08 10:49:57
[1]プログラミング
[2]問題文
要素数がnoであるint型の配列v2の並びを逆順にしたものを配列v1に格納する関数を、動作を確認するための適切なメイン文も含め作る。
[3-1]windows
[3-2]gcc
[3-3]C言語
[4]明後日まで。
[5]なるべく単純な書き方にしてもらいたいです。
よろしくお願いいたします。
987:側近中の側近 ◆0351148456
08/06/08 11:08:15
>>986
(っ´▽`)っ
以前回答しただろうがっ
988:デフォルトの名無しさん
08/06/08 11:13:21
>>866
課題1
URLリンク(kansai2channeler.hp.infoseek.co.jp)
989:側近中の側近 ◆0351148456
08/06/08 11:14:16
>>986
(っ´▽`)っ
void sortInverse(int *v1, int *v2, int no);
int main(void)
{
int no;
int i;
int v1[] = {1, 2, 4, 8, 16, 32, 64};
int v2[7];
no = sizeof(v1)/sizeof(v1[0]);
for(i = 0; i < no; i++){
printf("v1[%d] = %d\n", i, v1[i]);
}
sortInverse(v1, v2, no);
for(i = 0; i < no; i++){
printf("v2[%d] = %d\n", i, v2[i]);
}
}
return 0;
}
void sortInverse(int *v1, int *v2, int no)
{
int i;
for(i = 0; i < no; i++){
v1[i] = v2[no - i - 1];
}
return;
}
990:側近中の側近 ◆0351148456
08/06/08 11:14:56
(っ´▽`)っ
>>989は微妙に間違っているがそれがいい。
>>986は苦しめ☆
991:デフォルトの名無しさん
08/06/08 11:32:03
>>988
ありがとうございます!
例題では
pop 1 回目 50 をpop します。 スタックの中 [ 40 30 20 10 ]
pop 2 回目 40 をpop します。 スタックの中 [ 30 20 10 ]
・
・
のところが、書いてもらったプログラムでは
pop 1 回目 50 をpop します。 スタックの中 [ 10 20 30 40 ]
pop 2 回目 40 をpop します。 スタックの中 [ 10 20 30 ]
・
・
となっているのですが、どうすればいいのでしょうか?
992:デフォルトの名無しさん
08/06/08 11:36:30
>>991
失礼いたしました。printstack関数を変更して下さい。
/* スタックの出力 */
void printstack(CELL *stack)
{
int i;
printf("\tスタックの中 [ ");
for(i = stack->top - 1; i > 0; i--){
printf("%d ", stack->element[i]);
}
/* for文の中に判定文を入れたくなかったから、外に出した */
if(i == 0){
printf("%d ", stack->element[i]);
}
printf("]\n");
}
993:デフォルトの名無しさん
08/06/08 11:40:32
>>992
ご丁寧にありがとうございます。
ちゃんと動作しました!
994:デフォルトの名無しさん
08/06/08 12:31:30
次スレ
C/C++の宿題を片付けます 109代目
スレリンク(tech板)
995:デフォルトの名無しさん
08/06/08 12:46:14
>>992
なんで外に出してるの?
996:デフォルトの名無しさん
08/06/08 14:49:06
中に出すと出来ちゃうから。
997:デフォルトの名無しさん
08/06/08 14:51:11
>>996 指導 減点1
998:765
08/06/08 16:49:26
>>928
言葉足らずで申し訳ありませんでした。
外部プログラムとして呼ぶ形でお願いいたします。
999:デフォルトの名無しさん
08/06/08 17:02:34
999
1000:デフォルトの名無しさん
08/06/08 17:03:10
うめ
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5242日前に更新/305 KB
担当:undef