トップページ⇒tech
982コメント315KB

宿題手伝います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
0656デフォルトの名無しさんNGNG
>>561
ウエエーーン。
教授が、上記プログラムで使用した変数の意味を書けって言ったのです。
で、intとかの意味を書いて見たら、突っ返されたのです・・・・・・
0657デフォルトの名無しさんNGNG
>>656
651の間違いだとして…
何に使われてるか書けってコトじゃないの?
「意味」なんてわかりづらい言葉使うなよ…。
0658デフォルトの名無しさんNGNG
つーかどの変数よ。
jなら「メモリを無駄に使うため」
wrなら「時間を浪費するため」
かな? いや、これだけだとそうとしか答えられん。
0659デフォルトの名無しさんNGNG
>>656
このプログラム誰が書いたんだ?
もし教授が書いたもんなら、
意味も想像つかないような名前を変数につけんなって突っ返せ。
0660デフォルトの名無しさんNGNG
>>651
ウエエーーン。申し訳ないです。続きの分です・・・・・・
#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デフォルトの名無しさんNGNG
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';
}

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
http://www.h3.dion.ne.jp/~yukomaru/sousu/sousu5.htm
ここの解説よめ。
0663デフォルトの名無しさんNGNG
!!!!???
ありがとうございますーー!!
0664デフォルトの名無しさんNGNG
読めといったけどやっぱり読むな。代わりに正解教えてやるから。

r: ユーザ入力値
s: 正解
i,j: ループ用カウンタ
iHit: ヒット数
iBrrow: ブロー数(blowだろ…)

wr・rs:
初期値はr・s。wrとwsの各桁の比較によりヒット・ブロー数をカウントする。
既にヒット・ブローした桁を重複してカウントしないように、ヒット・ブローした箇所は逐次文字'r'・'s'で置換する。
これにより同置換箇所の一致判定は常に偽となり、カウントの重複が避けられる。
0665デフォルトの名無しさんNGNG
C言語で
「西暦と月を入力すれば、その月のカレンダーを表示するプログラミング」
を教えてください。
自分では全くわかりませんでした。
どうか、よろしく!!
0666デフォルトの名無しさんNGNG
>>665
入力された西暦と月から1日の曜日を調べる。

後はそれをオフセットにして数字を書いていくだけ。
0667デフォルトの名無しさんNGNG
>>666
よく意味が分からないんですが、具体的に教えてください。
0668デフォルトの名無しさんNGNG
>>667
がっかりです。
0669デフォルトの名無しさんNGNG
>>666
Zellerの公式だったと思う
0670デフォルトの名無しさんNGNG
>>665
cal 呼べw
0671669NGNG
番号間違えた・・・
回線吊って首切ってくる・・・
0672デフォルトの名無しさんNGNG
VB6.0ですが
Alt+任意のキーでテキストボックス内の文字列を貼り付けるのですが
その処理の後Beep音が鳴ってしまいます
これを鳴らさないようにしたいのですがどうすればよいのでしょうか
KeyCode = 0 にする方法では無理なようでした
どなたか分かる方いらっしゃったらよろしくお願いします
0673デフォルトの名無しさんNGNG
質問する時はageた方がいいんじゃない?
この解答漏れも知りたいのでage
0674デフォルトの名無しさんNGNG
VB初心者スレできいた方がいいんでない?
0675デフォルトの名無しさんNGNG
C言語について質問なんですが、下の回文かどうかをチェックするプログラムを
関数is_kaibunを使って書き換えたいのですが、どのように書き換えれば良いのでしょう?

#include <stdio.h>
void main()
{
char s[256], r[256];
int i, n, hantei;

printf("文字列を入力してください:");
scanf("%s", s);
0676デフォルトの名無しさんNGNG
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++;}
}

if(hantei){
printf("FALSE\n");
}else{
printf("TRUE\n");
}
}
0677デフォルトの名無しさんNGNG
is_kaibun()を作れと言う事なのか…
それとも、この続きがあるのだろうか…
0678デフォルトの名無しさんNGNG
>>676
どう?
#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
>>678

返答有難うございます。だけど、改めて自分で見直して見たら出来たっぽいです。

#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デフォルトの名無しさんNGNG
for(i=0; i<n-1; i++){
if(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デフォルトの名無しさんNGNG
for(i=0; s[i] != 0; i++);
n = i;
が無駄に見える(意味の無いコードを含んでる)のは俺だけだろうか?
0682デフォルトの名無しさんNGNG
>for(i=0; s[i] != 0; i++);
>n = i;

n = strlen(s);
の方がいいよ。

あと、 "." "?" " " 等を無視するように変えたほうがいいかも

0683デフォルトの名無しさんNGNG
>for(i=0; i<n; i++){
> 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デフォルトの名無しさんNGNG
文字入力にscanfじゃなくて、getsを使えばいいかも・・・
0685デフォルトの名無しさんNGNG
struct listの中のvoid *dataにstruct dataを指させ、output(list->p)でそのdataを見たいのですが上手くいきません。
(こんな妙なプログラムなのは、これをリンクドリストで使いたいのです)
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=48&fi=no

どうすれば上手くいくでしょうか。
よろしくお願いします。
0686デフォルトの名無しさんNGNG
>>675
質問とは違うけど、一応参考に・・・
#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
>>686
ポインタとポインタの比較は…
0688デフォルトの名無しさんNGNG
JAVAで質問です
Aというクラスでfor文を使って多次元配列で乱数を発生させた値を、
そのままの値を他のBというクラスで使いたいんだけど、
どうやってもできません
自分はまだJAVAをやり始めて2週間なんですけど、どなたか教えてください
0689 ◆F52DmOxJlc NGNG
>>688
B.useRnd(A.makeRnd());
でいいんじゃないの?
ソース見ないとよくわかんないけど。
0690デフォルトの名無しさんNGNG
>>685
struct data dがローカル変数であるために
input()から戻ってきたときには、破棄されてしまう。
struct dataもmalloc()で動的に確保すればいい。
0691685NGNG
キター!
皆さんありがとうございました!
0692デフォルトの名無しさんNGNG
>>675-683
なんでお前ら、わざわざ一度コピーしてるんですか?

int is_kaibun(const char *s)
{
  const char *r = s + strlen(s);
  while (--r > s) if (*r != *s++) return 0;
  return 1;
}
0693デフォルトの名無しさんNGNG
C言語で一個のキーワードを検索する文字列照合のプログラムなんですけど
http://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デフォルトの名無しさんNGNG
int len = strlen( key );
char *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);
0695693NGNG
>>694
ありがとうございます。
大変申し訳ないんですがstrcmpをつかうのではなく
naiveアルゴリズムのままでできないでしょうか?
0696デフォルトの名無しさんNGNG
すみません、JAVAの質問です。
整数nを与えるとn以下の素数を全て出力するプログラムを作らなければいけないんですが、
条件として、その数が素数かどうかはその数以下の整数全てで割って調べるっていうアルゴリズムを使わなければいけないんです。
マジでわからないので、どなたか教えてください。
よろしくお願いします_(._.)_
0697デフォルトの名無しさんNGNG
アルゴリズムまで与えられてるのに「マジでわからない」かよ
おめでてーな
0698デフォルトの名無しさんNGNG
初心者なもので・・・
ほんとにすみません
0699デフォルトの名無しさんNGNG
いや、Javaの入門書買って読めとしか言いようがないです、はい。
0700デフォルトの名無しさんNGNG
初心者か。
都合のいい免罪符だな。
氏ね。
0701デフォルトの名無しさんNGNG
読んでわからないから聞いているのです・・・
0702デフォルトの名無しさんNGNG
あ、そうかここ宿題スレだったな。しばし待てぃ
0703デフォルトの名無しさんNGNG
今日は、気の立っている奴等が多いような・・・
0704デフォルトの名無しさんNGNG
クリスマス・イヴだからな(ワラ
0705デフォルトの名無しさんNGNG
宿題を聞いただけなのに氏ねですか・・・
ヽ(`Д´)ノウワァァン
0706デフォルトの名無しさんNGNG
>>702
よろしくお願いします!!!
0707デフォルトの名無しさんNGNG
>>696
Javaでセキュリティ系だと、まず確実にBigInteger.isProbablePrime()を使うなあ。
そんなのじゃあだめだと言われたら一発殴ってやれ。

ちゃんとした回答は↓にまかせた。
0708デフォルトの名無しさんNGNG
JAVAの初心本見てわからないんだろ?
中学の数学教科書引っ張り出してこいYo!
0709デフォルトの名無しさんNGNG
中学ですか・・・
もうだいぶ前なのでないですよ、そんなの・・・
教科書として使ってる本に載ってないような課題を出されたのです(;_;)
0710デフォルトの名無しさんNGNG
>>709
Javaの経験はどれくらいなの?
0711デフォルトの名無しさんNGNG
ほいよ。Java なんて久しぶりに触ったよ。
相当無駄なことしてるけど、仕様の通りだから。
あ、コンパイルや実行の仕方まで聞かないでね。
// 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デフォルトの名無しさんNGNG
学校の授業でやらなきゃいけなくて、最近始めたばっかりです。
0713デフォルトの名無しさんNGNG
自分に課した宿題ですが、彼女ができるプログラムお願いします。
クリスマスが終わ前に完成させたいのでみなさんのお力をお借りすることになりました。
0714デフォルトの名無しさんNGNG
>>713
どんな子が好み?
0715デフォルトの名無しさんNGNG
>>714
おしとやかだけど、おしゃべりが好きな子頼みます。
顔はきれいというより、かわいいという感じで。
0716デフォルトの名無しさんNGNG

   板  違  い
 
0717デフォルトの名無しさんNGNG
>>711
ありがとうございます!!
ですが、実行してみたら
Usage: java PrimeNumber <n>
ってしか出ないんですが・・・
0718デフォルトの名無しさんNGNG
>>717
えぇと、たとえば 100 以下の素数を表示したいときは
java PrimeNumber 100
って実行してね(トホホ
0719デフォルトの名無しさんNGNG
>>717
わざわざ使い方まで表示してくれてるってのに、ボケボケな>>696に乾杯。
0720デフォルトの名無しさんNGNG
変えるのはその一箇所だけでいいんですか・・・?
かえても、やっぱり
java PrimeNumber 100
しかでないんですが・・・
お手数かけてほんとにスミマセン
0721デフォルトの名無しさんNGNG
もう、オレやだ
0722デフォルトの名無しさんNGNG
>>719
笑って見過ごしてやってください(;_;)
0723デフォルトの名無しさんNGNG
>>721 負けるな。
>>720 教科書で「コマンドライン引数」とか、メイン関数の説明とか読んでみそ。
0724デフォルトの名無しさんNGNG
>>695
int i, len = strlen( key );
char *buf;
buf = malloc( len+1 );
memset( buf, 0, len+1 );
fread( buf, 1, len, fp );
while(1){
 for( i=0; i < len; i++ ){
  if( buf[i] != key[j] ) break;
 }
 if(i == len) puts( "agree" );

 memmove( buf, buf+1, len-1 );
 if( !fread( buf+len-1, 1, 1, fp ) ){
  break;
 }
}
free(buf);
0725デフォルトの名無しさんNGNG
>>721,>>723
やっとわかりました!!!!!実行するときに
java PrimeNumber 100
だったんですね!!!!
こんなやり方初めてだったんでわかりませんでした(^_^;)
学校では
import java.io.*;
みたいなのを使って標準出力をして、
java PrimeNumber で実行してから n=?
を入力する感じでしたんで。。
これは違うものなんですね。ありがとうございます。
0726デフォルトの名無しさんNGNG
cobolの宿題も受け付けてくれますか?
0727デフォルトの名無しさんNGNG
Identification Division;
0728デフォルトの名無しさんNGNG
>>725
お前は今まで、dirかlsのどちらも使ったことがないのか?
moreやtype、catとかでもいいが。
0729デフォルトの名無しさんNGNG
ren と mv は、どっちが強いですか?
0730693NGNG
>>724
本当にありがとうございました。助かります。
0731デフォルトの名無しさんNGNG
>>728 学校では"javac ファイル名.拡張子"でコンパイルし、"java ファイル名"で実行します、
位にしか教えないので、それ以外のコマンドを知る奴は一部のみ。コマンドオプションなぞ知る由もなし。
まずWindowsから入るし、初めから統合開発環境を使うところも多いので
コマンド自体を知らない奴が殆ど。何故かjavaは余りIDEを使ってないけど。
0732デフォルトの名無しさんNGNG
FORTRANをWindows Meで動かしたいのですが、googleで調べても見つかりませんでした。誰か教えてください。ちなみに、フリーで、90か95対応を希望で、物理の計算機実験で用います。
0733デフォルトの名無しさんNGNG
>>732
Vectorになかったかい
0734デフォルトの名無しさんNGNG
一覧のプログラミングやユーティリティを調べても有りませんでした。また、GNUと言うサイトで、一度落としたのですが、拡張子が.gzだったので開けませんでした。
0735デフォルトの名無しさんNGNG
プ
0736デフォルトの名無しさんNGNG
すみません。全くの初心者なので。
0737デフォルトの名無しさんNGNG
>>736
Linuxなどをインストールすると、簡単にFORTRAN環境もインストールできるよ。
0738DNGNG
cygwin+g77
0739デフォルトの名無しさんNGNG
FORTRAN COMPANYのF COMPILERはダウンロードは無料だが、使用する場合は有料と書いてあるのですが、個人使用目的でも金が掛かると言うことですか。素人ですみません。
0740デフォルトの名無しさんNGNG
>>739
cygwin+g77はダウンロードしたのですが、拡張子の具合で開けなかったものです。(734)
0741デフォルトの名無しさんNGNG
初心者板へどうぞ
0742デフォルトの名無しさんNGNG
>>740
最近のcygwinはsetup.exeでインストールできるはず。
ただし、gccはデフォルトではインストールされないので、チェックを入れる必要がある。
0743デフォルトの名無しさんNGNG
C言語で構造体のデータを一つファイルに
読み書き更新できるようにしたいんですが、
入出力をどうしたらよく分かりません。
ファイルへの書き込み、読み込みのための命令は何を使い、
何を引数とすれば、かっこよくなるでしょう?
0744デフォルトの名無しさんNGNG
かっこいいかどうかは知らんがfread()/fwrite()/ftell()/fseek()
0745デフォルトの名無しさんNGNG
もっと、分かりやすく!かっこよく!
0746デフォルトの名無しさんNGNG
言ってる意味が良く分からないが
取り敢えずファイルは"r+b"でオープンして
fread()とfwrite()を使うんじゃ駄目のか?
0747デフォルトの名無しさんNGNG
スマートな例文が欲しいってことじゃねーの?
0748デフォルトの名無しさんNGNG
全く意味の無い例文

FILE *fp = fopen( "TEST", "r+b" );
fwrite( fp, sizeof( FILE ), 1, fp );
fseek( fp, 0 - sizeof( FILE ), SEEK_CUR );
fread( fp, sizeof( FILE ), 1, fp );
fclose( fp );
0749デフォルトの名無しさんNGNG
↑だと、何が書き込まれるんだ?
0750デフォルトの名無しさんNGNG
ゴミ
0751デフォルトの名無しさんNGNG
>>749
fopen()で用意されたfpの実体の一部(環境によっては全部?)
正しく動くか分からないので実行しない方が無難
0752デフォルトの名無しさんNGNG
1.FILE *fp = fopen( "TEST", "r+b" );
2.fwrite( fp, sizeof( FILE ), 1, fp );
3.fseek( fp, 0 - sizeof( FILE ), SEEK_CUR );
4.fread( fp, sizeof( FILE ), 1, fp );
5.fclose( fp );

1〜5を並べ替えて、ファイルを更新するプログラムを作りなさい。
0753デフォルトの名無しさんNGNG
1、3,4,2、5
0754デフォルトの名無しさんNGNG
> fread( fp, sizeof( FILE ), 1, fp );

・・・何だって??
0755デフォルトの名無しさんNGNG
749 :デフォルトの名無しさん :02/12/25 04:49
  ↑だと、何が書き込まれるんだ?

750 :デフォルトの名無しさん :02/12/25 04:56
  ゴミ

751 :デフォルトの名無しさん :02/12/25 05:05
  >>749
  fopen()で用意されたfpの実体の一部(環境によっては全部?)


>>750-751
何か言った?
0756デフォルトの名無しさんNGNG
"r+b" ってロック&ビートですか?
■ このスレッドは過去ログ倉庫に格納されています