宿題手伝いますYO!!
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG・マルチポストは厳禁です。
・キーワードが分かっているなら、http://www.google.co.jp を活用すること。
・質問内容がちゃんと日本語になっていること。
・言語名を入れること。
・自分の力で頑張ってみたことを伝えられる人。
・どこまでわかったのかを書くこと。
以上です。
前スレ http://pc3.2ch.net/test/read.cgi/tech/1029422194/
新
↑
│ http://pc3.2ch.net/test/read.cgi/tech/1027756023/
│ http://pc3.2ch.net/test/read.cgi/tech/1026138039/
│ http://pc.2ch.net/test/read.cgi/tech/1024592344/
│ http://pc.2ch.net/test/read.cgi/tech/1007902384/
│ http://pc.2ch.net/tech/kako/1003/10038/1003838158.html
│ http://pc.2ch.net/tech/kako/982/982853418.html
│ http://piza.2ch.net/tech/kako/972/972032579.html
↓
古
長いソースを張れるBBS
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433
0604デフォルトの名無しさん
NGNG餅付スレに帰れ。
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNG正常な感覚があれば 2ch になど来ない。
つまり、漏れも貴方も異常という事だアヒャ
0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNG自覚症状があると言うことはいいことだ。
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNG十八禁は生きていくのに必要
よく覚えとけよ
0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNGサイト、もしくは参考書をご存知の方がいらっしゃいましたら、教えてくださいませんか?
HELPもさっぱりで・・・・・バカですみません。
0617さっぱり
NGNG課題で出されたCがわからなくてこまってます。
課題は2つの行列AとBを加算するプログラム(matadd.c 未完成)をディスクに保存する。
入力用データファイル matadd.dat をディスクに保存する。
ソースプログラムをコンパイルし,実行する。
実行時に次のように入力のリダイレクトを行い,データファイルからデータを読み込ませる。
matadd < matadd.dat
表示された結果とソースプログラム内容を観察し,どのような手順で2次元配列を入力・出力しているか,理解する。
次に,C=A+B を計算し,Cの各要素を行列らしく出力する部分を追加して完成させる。
上と同様に実行して動作確認ができたら,ソースプログラムを提出する。お願いします。
0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNG2chにコレを書き込むと
どんな反応が返ってくるかを観察する課題です
0621デフォルトの名無しさん
NGNGC++ の方で extern "C" してないなら無理っぽいと思う
0622デフォルトの名無しさん
NGNGとにかくソース貼れよ。
0623デフォルトの名無しさん
NGNGマルチに対してそういうレスつけるのはやめれ。
0624デフォルトの名無しさん
NGNGさっぱりわかりません。教えてください
0625デフォルトの名無しさん
NGNGダウンカウンタ?
0626デフォルトの名無しさん
NGNGハードウェア?
0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNGAAで書くのあまりにしんどいな・・・
0629デフォルトの名無しさん
NGNGお願いします
0630デフォルトの名無しさん
NGNGVBからWindowsAPIを使う方法は知ってる?
それがわかれば、DLLの使い方もわかるよ。
"VB" & "API"で検索。
書籍なら
http://www.ai-pub.co.jp/contents/book/prog/win32api.html
0631デフォルトの名無しさん
NGNGAPI DLL と C++ DLL は違うんだよ・・・
0632デフォルトの名無しさん
NGNGご親切にありがとうございました。早速注文しました。とりあえず、どのようにしてDLL
に実装された関数を呼ぶかはべつにして、VBAからC++ので書かれた関数を使いた
いのです。
>>631
できるだけ自分で模索します。わからないときがあったらここにまた戻ってきます。
お二人ともありがとうございました。
0633デフォルトの名無しさん
NGNG論理設計の教科書に載ってないの?
回路図書くのって大変だから、多分誰もやってくれないと思う・・・
0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNGたまにはいいこと言うね!
0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNG#include <ctype.h>
int
hash(char *s)
{
int i, h;
h = 1;
for(i=0; s[i] && isalpha(s[i]); i++)
h = ((s[i]-'A'+1)*h) % 47;
return h;
}
void
main(void)
{
FILE *in, *out;
char comet[100], group[100]; /* bigger than necessary, room for newline */
0638637
NGNGin = fopen("input.txt", "r");
out = fopen("output.txt", "w");
fgets(comet, sizeof comet, in);
fgets(group, sizeof group, in);
if(hash(comet) == hash(group))
fprintf(out, "GO\n");
else
fprintf(out, "STAY\n");
exit (0);
}
0639637
NGNG>for(i=0; s[i] && isalpha(s[i]); i++)
>char comet[100], group[100];
>if(hash(comet) == hash(group))
char comet[100], group[100];と定義されて、
hash(comet)っていう関数に入れているが、この関数は
hash(char *s)とポインタを括弧に入れて定義されている。
cometは配列なのに*sがポインタなのが意味不明。
>for(i=0; s[i] && isalpha(s[i]); i++)
s[i] && isalpha(s[i])ってs[i]==trueかつisalpha(s[i])==true
っていう条件を表すのですか?
*sと定義されているのになぜs[i]と配列のような使い方を
するのですか?
isalpha(s[i])とはなにを表すのですか?
>for(i=0; s[i] && isalpha(s[i]); i++)
h = ((s[i]-'A'+1)*h);
これじゃ毎回47で割った余りをhに代入することになって、
題意は「全部掛け合わせた後47で割った余り」なので、
for(i=0; s[i] && isalpha(s[i]); i++)
h = ((s[i]-'A'+1)*h);
h = h%47;
にしないのは何故ですか?
>void main(void)
ってどういうこと?なんでint main(void)じゃないのですか?
0640デフォルトの名無しさん
NGNG続きはいつ書くんだ?
まぁ、取り敢えずisalpha()がisupper()じゃないから
一文字目が'o'等の時に0になって上手く動かないと予想する
0641637
NGNG2行からなる入力ファイルから単語(1行に1語ずつ、1〜6のアルファベットからなる)
を読み込んで、A=1, B=2, C=3, ……Z=26として、上の行の単語にあるアルファベットの、
積を47で割った余りが、下の行の単語にあるアルファベットを47で割った余りと
等しければGO,異なっていればSTAYを出力ファイルに書き込むようにしようという
プログラムの問題です。
例 -> GOOD という単語なら7*15*15*4%47です。
0642デフォルトの名無しさん
NGNG>hash(char *s)とポインタを括弧に入れて定義されている。
>cometは配列なのに*sがポインタなのが意味不明。
ポインタの勉強をしましょう
>s[i] && isalpha(s[i])ってs[i]==trueかつisalpha(s[i])==true
>っていう条件を表すのですか?
s[i] != 0 かつ isalpha(s[i]) != 0 と言う条件を表す
>*sと定義されているのになぜs[i]と配列のような使い方を
>するのですか?
1つ目の質問に同じ
>isalpha(s[i])とはなにを表すのですか?
s[i]が英字であるなら真(1)違うなら偽(0)を返す関数
>for(i=0; s[i] && isalpha(s[i]); i++)
>h = ((s[i]-'A'+1)*h);
>h = h%47;
>にしないのは何故ですか?
hが表現出来る数INT_MAXを超えてしまう事があり
その結果、期待した値と実際の値が違う可能性があるから
>>void main(void)
>ってどういうこと?なんでint main(void)じゃないのですか?
作った人がアホだから
0643637
NGNG質問がまだあったので付け足しときます。
>fgets(comet, sizeof comet, in);
>fgets(group, sizeof group, in);
sizeof cometを使ってファイルを読み込んで一行に全部で何文字あるかを
自動的に調べてくれるのですか?
>exit (0);
なんでreturn 0;じゃないのですか?
また、それとはどう違うのですか?
0644642
NGNG>s[i]が英字であるなら真(1)違うなら偽(0)を返す関数
s[i]が英字であるなら真(非0)違うなら偽(0)を返す関数
の間違いだったかも (普段使わないから覚えてないので…)
0645デフォルトの名無しさん
NGNG>>fgets(group, sizeof group, in);
>sizeof cometを使ってファイルを読み込んで一行に全部で何文字あるかを
>自動的に調べてくれるのですか?
sizeof comet はcometのサイズをバイト単位で返します(この場合100)
>>exit (0);
>なんでreturn 0;じゃないのですか?
作った人に聞いて下さい(恐らくvoidでエラーが出たからだと思うが)
>また、それとはどう違うのですか?
return は関数を終了し、値がある場合は、その値を呼ばれた関数に返す文
exit() はプログラムを終了し値を呼ばれたプログラムに返す関数
0646デフォルトの名無しさん
NGNGX2乗+y2乗+z2乗→最小
6x+3y+4z=61
をc言語でやるとどうなりますか??
お願いします
0647デフォルトの名無しさん
NGNG質問の意味がわかりません。
略さずにきちんと質問を書き直すか
国語をやり直してきてから質問を書いてください。
0648デフォルトの名無しさん
NGNGx,y,zを求めるのかい?
0649デフォルトの名無しさん
NGNGint ex,ey,ez;
int e=∞;
for(z=-∞;z<∞;z++){
for(y=-∞;y<∞;y++){
for(x=-∞;x<∞;x++){
if(6*x+3*y+4*z==61 && x*x+y*y+z*z<e){
e=x*x+y*y+z*z;
ex=x;
ey=y;
ez=z;
}
}
}
}
0650デフォルトの名無しさん
NGNG実装できればいいがな。
intなのが気になるが。
0651デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio>
int hit(char *r,char *s) {
int i,j,iHit=0,iBrrow=0;
char wr[4],ws[4];
for (i=0;i<4;i++) {
wr[i]=r[i];
ws[i]=s[i];
}
0652デフォルトの名無しさん
NGNG(゚Д゚) ハァ?
0653デフォルトの名無しさん
NGNGウエエーーンお前が何言いたいのか分からないです。助けてください。
小学校からやり直して来い
0654デフォルトの名無しさん
NGNG変数って何なの?って言ってるのかも・・・
0656デフォルトの名無しさん
NGNGウエエーーン。
教授が、上記プログラムで使用した変数の意味を書けって言ったのです。
で、intとかの意味を書いて見たら、突っ返されたのです・・・・・・
0657デフォルトの名無しさん
NGNG651の間違いだとして…
何に使われてるか書けってコトじゃないの?
「意味」なんてわかりづらい言葉使うなよ…。
0658デフォルトの名無しさん
NGNGjなら「メモリを無駄に使うため」
wrなら「時間を浪費するため」
かな? いや、これだけだとそうとしか答えられん。
0659デフォルトの名無しさん
NGNGこのプログラム誰が書いたんだ?
もし教授が書いたもんなら、
意味も想像つかないような名前を変数につけんなって突っ返せ。
0660デフォルトの名無しさん
NGNGウエエーーン。申し訳ないです。続きの分です・・・・・・
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio>
int hit(char *r,char *s) {
int i,j,iHit=0,iBrrow=0;
char wr[4],ws[4];
for (i=0;i<4;i++) {
wr[i]=r[i];
ws[i]=s[i];
}
for (i=0;i<4;i++)
if (wr[i]==ws[i]) {
iHit++;
wr[i]='r';
ws[i]='s';
}
for (i=0;i<4;i++)
for (j=0;j<4;j++)
if (i!=j && wr[j]==ws[i]) {
iBrrow++;
wr[j]='r';
ws[i]='s';
0661デフォルトの名無しさん
NGNGfor (j=0;j<4;j++)
if (i!=j && wr[j]==ws[i]) {
iBrrow++;
wr[j]='r';
ws[i]='s';
}
printf("ヒット-%d ブロー-%d\n",iHit,iBrrow);
return iHit;
}
int main() {
char s[4],str[5];
int i,n=0;
srand((unsigned)time(NULL));
for (i=0;i<4;i++)
s[i]='0'+(rand() % 10);
printf("ヒット&ブロー\n");
printf("4桁の数字を入力してよう\n");
0662デフォルトの名無しさん
NGNGここの解説よめ。
0663デフォルトの名無しさん
NGNGありがとうございますーー!!
0664デフォルトの名無しさん
NGNGr: ユーザ入力値
s: 正解
i,j: ループ用カウンタ
iHit: ヒット数
iBrrow: ブロー数(blowだろ…)
wr・rs:
初期値はr・s。wrとwsの各桁の比較によりヒット・ブロー数をカウントする。
既にヒット・ブローした桁を重複してカウントしないように、ヒット・ブローした箇所は逐次文字'r'・'s'で置換する。
これにより同置換箇所の一致判定は常に偽となり、カウントの重複が避けられる。
0665デフォルトの名無しさん
NGNG「西暦と月を入力すれば、その月のカレンダーを表示するプログラミング」
を教えてください。
自分では全くわかりませんでした。
どうか、よろしく!!
0666デフォルトの名無しさん
NGNG入力された西暦と月から1日の曜日を調べる。
後はそれをオフセットにして数字を書いていくだけ。
0667デフォルトの名無しさん
NGNGよく意味が分からないんですが、具体的に教えてください。
0668デフォルトの名無しさん
NGNGがっかりです。
0669デフォルトの名無しさん
NGNGZellerの公式だったと思う
0670デフォルトの名無しさん
NGNGcal 呼べw
0671669
NGNG回線吊って首切ってくる・・・
0672デフォルトの名無しさん
NGNGAlt+任意のキーでテキストボックス内の文字列を貼り付けるのですが
その処理の後Beep音が鳴ってしまいます
これを鳴らさないようにしたいのですがどうすればよいのでしょうか
KeyCode = 0 にする方法では無理なようでした
どなたか分かる方いらっしゃったらよろしくお願いします
0673デフォルトの名無しさん
NGNGこの解答漏れも知りたいのでage
0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNG関数is_kaibunを使って書き換えたいのですが、どのように書き換えれば良いのでしょう?
#include <stdio.h>
void main()
{
char s[256], r[256];
int i, n, hantei;
printf("文字列を入力してください:");
scanf("%s", s);
0676デフォルトの名無しさん
NGNGn = i;
for(i=0; i<n; i++){
r[i] = s[n-1-i];
}
r[n] = 0;
hantei = 0;
for(i=0; i<n-1; i++){
if(s[i] != r[i])
{hantei++;}
}
if(hantei){
printf("FALSE\n");
}else{
printf("TRUE\n");
}
}
0677デフォルトの名無しさん
NGNGそれとも、この続きがあるのだろうか…
0678デフォルトの名無しさん
NGNGどう?
#include <stdio.h>
int is_kaibun(char* s)
{
char r[256];
int i, n, hantei;
for(i=0; s[i] != 0; i++);
n = i;
for(i=0; i<n; i++){
r[i] = s[n-1-i];
}
r[n] = 0;
hantei = 0;
for(i=0; i<n-1; i++){
if(s[i] != r[i])
{hantei++;}
}
return hantei;
}
int main()
{
char s[256];
printf("文字列を入力してください:");
scanf("%s", s);
if(is_kaibun(s)){
printf("FALSE\n");
}else{
printf("TRUE\n");
}
return 0;
}
0679デフォルトの名無しさん
NGNG返答有難うございます。だけど、改めて自分で見直して見たら出来たっぽいです。
#include <stdio.h>
int is_kaibun(char s[],char r[])
{
int i,n,hantei;
for(i=0; s[i] != 0; i++);
n = i;
for(i=0; i<n; i++){
r[i] = s[n-1-i];
}
r[n] = 0;
hantei = 0;
0680デフォルトの名無しさん
NGNGif(s[i] != r[i])
{hantei++;
}
}
return(hantei);
}
int main(void)
{
char s[256], r[256];
int i, n, hantei;
printf("文字列を入力してください:");
scanf("%s", s);
hantei=is_kaibun(s,r);
if(hantei){
printf("FALSE\n");
}else{
printf("TRUE\n");
}
}
こんな感じで良いんですかね?
0681デフォルトの名無しさん
NGNGn = i;
が無駄に見える(意味の無いコードを含んでる)のは俺だけだろうか?
0682デフォルトの名無しさん
NGNG>n = i;
n = strlen(s);
の方がいいよ。
あと、 "." "?" " " 等を無視するように変えたほうがいいかも
0683デフォルトの名無しさん
NGNG> r[i] = s[n-1-i];
>}
for(i=0; i<n/2; i++){
if(r[i] != s[n-1-i])
return 0;
}
return 1;
これで充分でしょ。または
>for(i=0; i<n-1; i++){
>if(s[i] != r[i])
>{hantei++;
>}
>}
>return(hantei);
return !strcmp(r, s);
0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNG(こんな妙なプログラムなのは、これをリンクドリストで使いたいのです)
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=48&fi=no
どうすれば上手くいくでしょうか。
よろしくお願いします。
0686デフォルトの名無しさん
NGNG質問とは違うけど、一応参考に・・・
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[256];
gets(str);
char* f = str;
char* e = str + strlen(str) - 1;
while(f < e)
{
if(*f != *e)
break;
f++;
e--;
}
if(f >= e)
puts("回文です");
else
puts("回文じゃないよ");
return 0;
}
0687デフォルトの名無しさん
NGNGポインタとポインタの比較は…
0688デフォルトの名無しさん
NGNGAというクラスでfor文を使って多次元配列で乱数を発生させた値を、
そのままの値を他のBというクラスで使いたいんだけど、
どうやってもできません
自分はまだJAVAをやり始めて2週間なんですけど、どなたか教えてください
B.useRnd(A.makeRnd());
でいいんじゃないの?
ソース見ないとよくわかんないけど。
0690デフォルトの名無しさん
NGNGstruct data dがローカル変数であるために
input()から戻ってきたときには、破棄されてしまう。
struct dataもmalloc()で動的に確保すればいい。
0691685
NGNG皆さんありがとうございました!
0692デフォルトの名無しさん
NGNGなんでお前ら、わざわざ一度コピーしてるんですか?
int is_kaibun(const char *s)
{
const char *r = s + strlen(s);
while (--r > s) if (*r != *s++) return 0;
return 1;
}
0693デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433
の49
というのを作りました。これをできるだけメモリを使わないようにしたいんです。
大きいテキストだと読み込めなくなってしまいます。textという配列で200万個
を超えて配列を確保しようとするとから実行しようとするとうまくいかなくなります。
300万個になるともう動きません。
それで考えたのが
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433
の50
なんですけど、これはうまく動いてくれないんですが
何かほかにうまいプログラムはないでしょうか?
まだプログラム始めたての素人ですいません。
よろしくお願いします。
0694デフォルトの名無しさん
NGNGchar *buf;
buf = malloc( len+1 );
memset( buf, 0, len+1 );
fread( buf, 1, len, fp );
while(1){
if( !strcmp( key, buf ) ){
puts( "agree" );
}
memmove( buf, buf+1, len-1 );
if( !fread( buf+len-1, 1, 1, fp ) ){
break;
}
}
free(buf);
0695693
NGNGありがとうございます。
大変申し訳ないんですがstrcmpをつかうのではなく
naiveアルゴリズムのままでできないでしょうか?
0696デフォルトの名無しさん
NGNG整数nを与えるとn以下の素数を全て出力するプログラムを作らなければいけないんですが、
条件として、その数が素数かどうかはその数以下の整数全てで割って調べるっていうアルゴリズムを使わなければいけないんです。
マジでわからないので、どなたか教えてください。
よろしくお願いします_(._.)_
0697デフォルトの名無しさん
NGNGおめでてーな
0698デフォルトの名無しさん
NGNGほんとにすみません
0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNG都合のいい免罪符だな。
氏ね。
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNG0703デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています