宿題手伝います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
0620デフォルトの名無しさん
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デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNG0705デフォルトの名無しさん
NGNGヽ(`Д´)ノウワァァン
0706デフォルトの名無しさん
NGNGよろしくお願いします!!!
0707デフォルトの名無しさん
NGNGJavaでセキュリティ系だと、まず確実にBigInteger.isProbablePrime()を使うなあ。
そんなのじゃあだめだと言われたら一発殴ってやれ。
ちゃんとした回答は↓にまかせた。
0708デフォルトの名無しさん
NGNG中学の数学教科書引っ張り出してこいYo!
0709デフォルトの名無しさん
NGNGもうだいぶ前なのでないですよ、そんなの・・・
教科書として使ってる本に載ってないような課題を出されたのです(;_;)
0710デフォルトの名無しさん
NGNGJavaの経験はどれくらいなの?
0711デフォルトの名無しさん
NGNG相当無駄なことしてるけど、仕様の通りだから。
あ、コンパイルや実行の仕方まで聞かないでね。
// PrimeNumber.java
public class PrimeNumber {
private static boolean isPrime( int n ) {
for ( int i = 2; i < n; i++ )
if ( n % i == 0 ) return false;
return true;
}
public static void main( String[] args ) {
if ( args.length != 1 ) {
System.out.println( "Usage: java PrimeNumber <n>" );
System.exit( 1 );
}
int n = Integer.parseInt( args[0] );
for ( int i = 2; i <= n; i++ )
if ( isPrime(i) )
System.out.println( i );
}
}
0712デフォルトの名無しさん
NGNG0713デフォルトの名無しさん
NGNGクリスマスが終わ前に完成させたいのでみなさんのお力をお借りすることになりました。
0714デフォルトの名無しさん
NGNGどんな子が好み?
0715デフォルトの名無しさん
NGNGおしとやかだけど、おしゃべりが好きな子頼みます。
顔はきれいというより、かわいいという感じで。
0716デフォルトの名無しさん
NGNG板 違 い
0717デフォルトの名無しさん
NGNGありがとうございます!!
ですが、実行してみたら
Usage: java PrimeNumber <n>
ってしか出ないんですが・・・
0718デフォルトの名無しさん
NGNGえぇと、たとえば 100 以下の素数を表示したいときは
java PrimeNumber 100
って実行してね(トホホ
0719デフォルトの名無しさん
NGNGわざわざ使い方まで表示してくれてるってのに、ボケボケな>>696に乾杯。
■ このスレッドは過去ログ倉庫に格納されています