[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 06/02 11:28 / Filesize : 251 KB / Number-of Response : 829
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:40:55 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう.
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):()
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

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

【前スレ】C/C++の宿題を片付けます 109代目
pc11.2ch.net/test/read.cgi/tech/1212895856/

652 名前:デフォルトの名無しさん [2008/06/25(水) 04:12:17 ]
>>619 お願いします。

653 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 05:17:34 ]
>>650
これでいいですか><?
for(i=1;i<=20;i++)
    printf("%*s%d\n",i<=10?i:20-i,"",i);

654 名前:590 mailto:sage [2008/06/25(水) 06:42:59 ]
>>600
えっと・・・完全2分木っていうのは葉以外の全てのノードが枝を2つ持っている事が必要十分条件ではないのですか?
それならば一部のパスだけが長いという場合も考えられますよね。
それとも左右対称の三角形みたいな形の木になることを意味しているんでしょうか。

655 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 06:49:09 ]
完全二分木は、「すべての葉の深さが等しい二分木」という定義が普通だと思う

656 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 06:51:23 ]
AVL木とか赤黒木なら回転を伴うが常にバランスした二分木が作れる
何も考えずに昇順に挿入したりするとリスト構造の高価なシミュレーションになる

657 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 06:54:56 ]
あ、質問の意図を誤解してたかも
NlogNじゃねーの?

658 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 07:01:24 ]
>親ノードから左右の
>子ノードの中身を比較することで、完全2分木中の任意のノードの探索が行えるとする
この意味が分からん
「左右の子ノードの中身を比較」ってどういうことだろう

普通の二分探索木なら簡単に解ける
完全二分木の高さをhとすると、N=2^h-1だから、h=log2(N+1)
比較回数の最大値は高さと同じだから、log2(N+1)回

659 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:39:21 ]
>>619
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7055.txt

660 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:45:17 ]
>fscanf(fp, "%s", p->name);



661 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:55:49 ]
#include<stdlib.h>いれろよ

662 名前:デフォルトの名無しさん [2008/06/25(水) 10:38:17 ]
[1] 授業単元: プロC演習
[2] 問題文(含コード&リンク):()
# 下記のようにキーボードから4桁の10進数の入力を2回受付ける.
Input the 1st value > 6479
Input the 2nd value > 1497

但し,4桁の各位の数は必ず互いに異なるものが入力されるとする.
# 入力された数値に対して,次のようにに定義する「ヒット数」と「ホームラン数」を求める.

* ホームラン数: 二つの数字を同じ位ごとに比較した場合,何ヶ所の位について一致してるかを表す.
* ヒット数: 二つの数字を異なる位同士で比較した場合,一致している組み合わせの数を表す.


1234と1234のとき,0ヒット4ホームラン
1234と4321のとき,4ヒット0ホームラン
6479と1497のとき,2ヒット1ホームラン


# ヒット数とホームラン数を下記のように表示する.
2 hit(s) 1 home run(s)
[3] 環境
 [3.1] OS: WindowsVista
 [3.2] コンパイラ名とバージョン:Cygwin gcc
 [3.3] 言語: C
[4] 期限: 6月26日正午
[5] 現時点で習ってるのは、条件分岐、繰り返し、配列、ソート、ポインタまでです。

よろしくお願いします。

663 名前:デフォルトの名無しさん [2008/06/25(水) 10:54:32 ]
memcpy(n1,n1,sizeof(int)*2*3);
memcpy(n1+(2*3),n2,sizeof(int)*2*3);
これって何やってるの?
調べたんだけどよくわからないです…

664 名前:デフォルトの名無しさん [2008/06/25(水) 11:12:06 ]
だれか610を助けて…

665 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 11:53:36 ]
>>663
どうすれば調べきれないのかよくわからないです…
www.google.co.jp/search?complete=1&hl=ja&q=manpage+memcpy&lr=

666 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 12:30:32 ]
>>610
#include <stdio.h>
#include <string.h>
/*1)*/ int getUpper(){ int r=getchar(); return 'a'<=r && r<='z' ? (r-'a'+'A') : r; }
/*2)*/ void showReverse(char *s){ int i; for(i=strlen(s)-1; i>=0; putchar(s[i--])); putchar('\n'); }
/*3)*/ void letReverse(char *P, char *R){ int i,k; for(k=0, i=strlen(P)-1; i>=0; R[k++]=P[i--]); R[k]='\0';}
/*4)*/ int isCircular(char *s){ char *r=(char*)malloc(sizeof(char)*(strlen(s)+1)); int ret; letReverse(s,r); ret=strcmp(s,r)==0; free(r); return ret; }
/*5)*/
static int isCircular2s(char *s1, char *s2){ if(s1>=s2) return 1; else{if(*s1==*s2) return isCircular2s(s1+1, s2-1); else return 0; } }
int isCircular2(char *s){ return isCircular2s(s,s+strlen(s)-1); }

// なんか色々関数を利用するプログラム
void checkCircular(char *s){ printf("%s is %scircular string.\n", s, isCircular(s) ? " " : "not ");
int main(void){
  char rev[10];
  printf("Hit keyboard: ");fflush(stdout);
  printf("getUpper() is .. %c\n", getUpper());
    
  showReverse("abcde");
  letReverse("a1b2c3", rev);
  printf("reverse a1b2c3 = %s\n", rev);
  checkCircular("abcba"); checkCircular("12321");
  printf("12321 is %scircular string.\n", isCircular2("123321") ? " " : "not ");
}


667 名前:デフォルトの名無しさん [2008/06/25(水) 12:56:24 ]
>>666
神様ありがとう!
でも分けかからんww 勉強せねば…

668 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 14:11:11 ]
>>662
#include <stdio.h>

int main(void)
{
char value[2][5];
int i, j, hit = 0, homerun = 0;

printf("Input the 1st value > ");
scanf("%s", value[0]);
printf("Input the 2nd value > ");
scanf("%s", value[1]);

for(i=0; i<4; i++) {
for(j=0; j<4; j++) {
if(value[0][i] == value[1][j]) {
if(i == j) homerun++;
else hit++;
}
}
}

printf("%d hit(s) %d home run(s)\n", hit, homerun);

return 0;
}


669 名前:デフォルトの名無しさん [2008/06/25(水) 14:53:44 ]
[1] 授業単元:計算機システム
[2] 問題文(含コード&リンク):擬似シェル(UNIX上で動く)を作る
必要な機能
・リダイレクト(>>、>、<)
・パイプ(|)
・パイプは複数つなげるように
・できればcdやaliaseも。

[3] 環境
 [3.1] OS:UNIX
 [3.2] コンパイラ名とバージョン:gcc 3.4.6
 [3.3] 言語: C
[4] 期限:明日の午前中
[5] その他の制限:
リダイレクトとパイプの実装ができません。
お願いします。

670 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 15:05:01 ]
【質問テンプレ】
[1] 授業単元:コンピュータアーキテクチャー
[2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7057.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: bcc32
 [3.3] 言語: C
[4] 期限: 六月二十九日
[5] その他の制限: 特にありません

よろしくお願いします



671 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 15:11:16 ]
> 1.gettimeofday関数を用いて、サイズ5000の配列を用い、 それを100000回程度繰り返して、 倍精度浮動小数乗算の演算性能を測定し、それをMFLOPSで求めよ。 
> また、使用したプログラムも提出せよ。 
におんごでおk

672 名前:670 mailto:sage [2008/06/25(水) 15:25:06 ]
>>671
すみません
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7058.txt
↑のようにサイズ5000の配列を用いて、それを100000回程度繰り返して、 倍精度浮動小数乗算の演算性能を測定し、それをMFLOPSで求めることです。


673 名前: ◆DuoCt8/SKk [2008/06/25(水) 15:41:19 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7059.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual C++ 6.0
 [3.3] 言語:C言語
[4] 期限:2008/06/28
[5] その他の制限:ポインタ,構造体は習っています.
全く分からないので,よろしくお願いします!

674 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 17:53:14 ]
>>625
if (a <= 10 && a % 2 == 0 && b <= 10 && b % 2 == 0)
(・∀・)ニヤニヤ

675 名前:634 mailto:sage [2008/06/25(水) 17:55:45 ]
一応途中まで作ってみました。
問題は最後の一行(素因数展開の表示:ex.「5*5*2」)なんですけど・・・
配列作って素数を入れてかないと駄目ですかね?

#include <stdio.h>
void bunkai(int n,int i)
{
if(i==n){
printf("%d=%d\n",n,n);
}
else if(n%i==0){
printf("%d=%dx%d\n",n,i,n/i);
bunkai(n/i,i);
}
else
bunkai(n,i+1);
}

void main()
{
int n,i=2;
printf("整数:");
scanf("%d",&n);
bunkai(n,i);
}

676 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 17:58:21 ]
うpロダー使えYO!

677 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:01:48 ]
>>676
すいませんでした。。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7060.c

678 名前:634 mailto:sage [2008/06/25(水) 18:07:06 ]
すいません、自己解決しました。

679 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:09:12 ]
[1] 授業単元:C 文字の処理
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7061.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Cygnus
 [3.3] 言語: C
[4] 期限: 明日の17:00まで
[5] その他の制限: 2問同時で申し訳ありませんが、なるべくシンプルなものをお願いします。

680 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:09:13 ]
いや、もうおせーYO!w



681 名前:637 mailto:sage [2008/06/25(水) 18:22:06 ]
>>613
>>639
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7062.txt
きれいではなくて申し訳ないんだけど、double型の構造を元に2進変換したつもりです。
負の場合どうするのか分からなかったので、とりあえず符号だけつけてます。

Windowsならリトルエンディアンきめうちで処理をしてもいいのかもしれないけれど、一応。

682 名前:637 mailto:sage [2008/06/25(水) 18:25:58 ]
補足で、doubleが8byteであることを期待したコードになってる箇所がいくつかあります。
sizeof(double)やってたりやってなかったりで汚いんですが、
そもそも8byte以外だった場合にビット構造がどうなるのか知らないので8byteな環境
以外でどうなるかわかりませんです。
誰か教えてくれるとありがたいです。

683 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:27:22 ]
637をテンプレに沿って清書すると

[1]回答レベル:検証済み?
[2] コード:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7062.txt

[3]環境 Linux?/Gcc/C

[4]コメント
きれいではなくて申し訳ないんだけど、double型の構造を元に2進変換したつもりです。
負の場合どうするのか分からなかったので、とりあえず符号だけつけてます。
Windowsならリトルエンディアンきめうちで処理をしてもいいのかもしれないけれど、一応。

684 名前:637 mailto:sage [2008/06/25(水) 18:38:29 ]
>>683
そうか、テンプレがw

>>613
[1]回答レベル:ある程度検証済み
[2] コード:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7062.txt
[3]環境 Windows/VC7/C およびLinux/gcc4.1.2
[4]コメント
きれいではなくて申し訳ないんだけど、double型の構造を元に2進変換したつもりです。
負の場合どうするのか分からなかったので、とりあえず符号だけつけてます。
Windowsならリトルエンディアンきめうちで処理をしてもいいのかもしれないけれど、一応。
正の整数についてはWindowsの電卓を使って検証しました。
小数についてもある程度検証してそれらしい結果を確認しています。
負数については、ごめんなさい><

685 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:48:08 ]
累計
   50 49 48 47 46
  45 44 43 42 41
   35 34 33 32 31
   30 29 28 27 26
  25 24 23 22 21
   20 19 18 17 16
  15 14 13 12 11
  10 9 8 7 6
  5 4 3 2 1
累計

を一次元配列のみを使ってどうやって書けますか?

686 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:49:07 ]
>>685
ずれてすみません
縦累計と横累計ということです><

687 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:57:14 ]
>>685
これと同じかな
pc11.2ch.net/test/read.cgi/tech/1212895856/850

pc11.2ch.net/test/read.cgi/tech/1212895856/920
このレスをしたの俺なんだが、ネタレスのつもりだったのに
感謝されて非常に困惑した記憶がある

688 名前:デフォルトの名無しさん [2008/06/25(水) 18:59:59 ]
x68000.q-e-d.net/~68user/net/c-ftp-1.html
をみてCでftpクライアントのプログラムを作成しましたが
サンプルソースの224行目が実行されて
「150 Opening ASCII mode data connection」がサーバから返却された後
226行目が実行されて
「226 Transfer complete」がサーバから返却されるまで180秒かかってしまいます。
何故でしょうか?

サーバはredhatlinux上でProFTPD 1.3.1が動いています。
クライアントは上記サーバと兼ねています。下記のようなログがでます。

<-- 220 ProFTPD 1.3.1 Server (ProFTPD Default Installation) [127.0.0.1]
--> USER ユーザ名
<-- 331 Password required for ユーザ名
--> PASS パスワード
<-- 230 User ユーザ名 logged in
--> PORT 127,0,0,1,229,242
<-- 200 PORT command successful
--> RETR ファイル名のフルパス
ファイルの中身
<-- 150 Opening ASCII mode data connection for ファイル名のフルパス (13 bytes)
<-- 226 Transfer complete(これが出るのは1つ上の行が出力されてから180秒後)
--> QUIT
<-- 221 Goodbye.

689 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 19:05:26 ]
>>688
なぜここに?
とりあえずサーバのログおよびパケットキャプチャをしてみて原因探るしか。

690 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 19:07:50 ]
>>687
あ、同じですね><
明日提出なんですがさっぱりなんです



691 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:14:21 ]
>>690
>>685
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7063.c

692 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:24:00 ]
>>691
ありがとうございます

まだ入門編なので、複雑でよく分かりません><
これ以上簡単に表現できないのですか?

693 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:30:17 ]
>>692
理解しようとする気があるならちゃんと授業中に理解しようね
教員には「沢山勉強してわかるようになりました」って言っておけばなんとかなる

694 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:33:53 ]
>>693
すみません
自力でやってみます
ありがとうございました><

695 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:38:57 ]
#define が見慣れないだけか?ROWを10にCOLを5に書き換えれば良いが
もちろんそれが分かっていれば、そんなことせんでROW と COL で定義し
後はそれらを変更することでそれに応じて結果を出すソースのままにしときゃええがな

696 名前:デフォルトの名無しさん [2008/06/25(水) 20:41:00 ]
[1] 授業単元:プログラミングT

[2] 問題: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7064.txt
 [3.1] OS: WindowsXp
 [3.2] コンパイラ名とバージョン:visualstdio 2008
 [3.3] 言語:C
[4] 期限:6月29日
[5] その他の制限:なし。

   よろしくお願いします.

697 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:45:22 ]
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7065.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C
[4] 期限:無期限



698 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:48:41 ]
>>695
#defineは分かります!
tr,tcというのはトータルという事ですね。事故解決しました!
ありがとうございました

699 名前:デフォルトの名無しさん [2008/06/25(水) 20:52:03 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
構造体person型を自己参照的構造体(下の例を参照)にし、配列に入力していたデータを単方向連結リスト構造に入力せよ。
ファイルからデータを入力したリストの先頭を引数として、入力した年齢と一致する人物をリスト内から検索し、該当人物がいれば表示するプログラムを作れ。
自己参照的構造体とは、構造体のメンバの中に自分と同じ型の構造体のポインタ変数を持つ構造体のことである。
単方向連結リスト構造とは、自己参照的構造体で次の要素をポインタを使って一定の方向に辿るデータ構造である。

(読む込むファイルの例)
入力するリストの先頭
1 20 田中
2 40 大田
3 35 井上
7 60 斉藤
4 23 佐藤

(自己参照的構造体)
struct person{
int no,age;
char name[40];
struct person *next;
}

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:VisualStudio2005
 [3.3] 言語:C
[4] 期限: できるだけ早くお願いします。


700 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 21:36:28 ]
>>699
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7066.c



701 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 21:37:40 ]
>>699
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7067.c

702 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 21:42:07 ]
>>699
[1]コード品質:模範解答(丸写ししても、独力で同じ品質のコード
書いても提出すると心証悪くします。)

[2]コード
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7067.c

[3]普通の C処理系でコンパイルできます。

[4]品質を落としたコードを提出して下さいね。(難しいですけど)

703 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 21:45:49 ]
>>699
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7068.c

704 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 21:47:56 ]
>>700-703
なんでロダあらしてんの?ここのログも。
もうちょっと落ち着こw

705 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 21:52:02 ]
>>704
>[4] 期限: できるだけ早くお願いします。
じゃね?w

706 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 21:55:54 ]
>>704
意味が分からんけど >>702 は無関係


707 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 21:59:38 ]
>>704
ちょこちょこみてるけど>>700-703が同じソースだったので。
消しては次消しては次、と。なんじゃろ?
>>702は無関係なのですか。

708 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:06:50 ]
どなたか>>572お願いします


709 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:10:02 ]
[1] 授業単元: Cプログラミング演習
[2] 問題文(含コード&リンク)

2^nの計算
n=0〜30に対して、2~nを計算して出力する。結果の最大桁数は10進数10桁であるので、
long int型の変数をしようすること。
なお、再帰法を用いてもよい


実行例
2** 0=1
2** 1=2
2** 2=4

 ・
 ・
2**30=1073741824

[3] 環境
 [3.1] OS: (Windows vista)
 [3.2] コンパイラ名とバージョン: (visual studio 2005 )
 [3.3] 言語: (C言語)
[4] 期限:明日まで
[5] その他の制限: (シンプルなプログラムでお願いします)

710 名前:613 mailto:sage [2008/06/25(水) 22:15:54 ]
>>637
(>>684)

ありがとーございますっ!
自分もcygwin(windows)でコンパイルして、
それなりに検証しましたが、十分機能しているようです!

あとは自分で一文ずつ動きを見て、内部表現を書き出し、
改良していこうかと思います。

えっと、doubleは64bitの8byteであっていたかと思います。

なんにせよ、ありがとうございました!!



711 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:15:57 ]
>>709

#include <stdio.h>
int main()
{
int i;
long int n = 1;

for (i = 0; i<=30; i++)
{
printf("2** %d=%d\n", i, n);
n *= 2;
}

return 0;
}

712 名前:637 mailto:sage [2008/06/25(水) 22:18:35 ]
>>710
きれいじゃなくてごめんね。
やったことない内容だったのでこちらも楽しめました。
こちらこそありがとうw

713 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:19:51 ]
>>711
ビットシフトの方がスマート

714 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:22:34 ]
>>713
シンプルなプログラムだから
これでいいのだ

715 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:22:36 ]
>>713
他人にケチつける前にソース書け

716 名前:711 mailto:sage [2008/06/25(水) 22:23:38 ]
>>713
言うのは勝手だが、せめてパッチぐらいおいてって欲しかった。

9,10c9
< printf("2** %d=%d\n", i, n);
< n *= 2;
---
> printf("2** %d=%d\n", i, 1 << i);

717 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:24:34 ]
>>713
勝手に自分基準でスマートとかぬかしてんじゃねーよw

718 名前:711 mailto:sage [2008/06/25(水) 22:24:40 ]
ちょw擁護されてたwありがとうwww

719 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:25:31 ]
>>713 の人気にぃ〜〜 shit!

720 名前:709 mailto:sage [2008/06/25(水) 22:26:55 ]
うお、早いですねw
ありがとうございます。



721 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:28:47 ]
まるで日本語、C言語トランスレータ君だなw

722 名前:636 mailto:sage [2008/06/25(水) 22:38:06 ]
どなたか636をお願いします。
期限は後日6/26午後3時です。
課題の追加・補足はありません。

723 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:40:05 ]
>>636 暗号文でおk

724 名前:709 mailto:sage [2008/06/25(水) 22:50:21 ]
すいません、あと2問分からないのがあるので
できればお願いします。


[1] 授業単元: Cプログラミング演習
[2] 問題文(含コード&リンク)

2つの正の整数a,bを入力して、ユークリッドの互除法により最大公約数(GCM)を
求める。ユークリッドの互除法は次の手順により最大公約数を求める方法である。
(1)a,bの大きい方をa、小さい方bとする。
(2)aをbで割った余りをcとする。c=0ならばbが最大公約数となる。
(3)c≠0ならば
    a←b
    b←c
    として、(2)に戻る。

実行例
入力データ:a = 88
      b = 256
     GCM = 8




[3] 環境
 [3.1] OS: (Windows vista)
 [3.2] コンパイラ名とバージョン: (visual studio 2005 )
 [3.3] 言語: (C言語)
[4] 期限:明日まで
[5] その他の制限: (シンプルなプログラムでお願いします、ポインタなどはまだ使えません)


725 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:52:17 ]
失礼します

(1)階乗を再帰を用いずに表示

という問題なんですが教えてください。

726 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:53:28 ]
printf("階乗");

727 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:55:10 ]
ワロタ

728 名前:636 mailto:sage [2008/06/25(水) 22:56:16 ]
>>723
いえ、内容は指定の暗号文を復号するプログラムを作成せよです。

課題内容で仕様など不明な箇所があったら言ってください。

729 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:59:16 ]
>>728
ようするに "KOUKA" がどこに隠れてるか探せばいいんですよね?

730 名前:709 mailto:sage [2008/06/25(水) 23:12:49 ]
もう1問。 すいません、よろしくお願いします。

[1] 授業単元: Cプログラミング演習
[2] 問題文(含コード&リンク)

直角三角形の斜辺の長さをc、ほかの二辺の長さをa、bとしたとき、
 a^2 + b^2 = c^2
が成り立つ。これを三平方の定理という。
2以上100以下の整数a,b、cに対して
 a^2 + b^2 = c^2
を満たす組(a、b、c)をすべて求める。ただし、a≦b≦cとする。
max(a^2、b^2)≦ a^2+b^2
であるから、aとbの値を先に設定して、cの値をmax(a、b)から1ずつ増やし

 a^2 + b^2 = c^2 (解あり)
または
 a^2 + b^2 < c^2 (解なし)
となるまで変化させて求めればよい。
なお、cの値を先に設定して、aとbを求める方法もある。

実行例
a=3 b=4 c=5
a=5 b=12 c=13
a=6 b=8 c=10

[3] 環境
 [3.1] OS: (Windows vista)
 [3.2] コンパイラ名とバージョン: (visual studio 2005 )
 [3.3] 言語: (C言語)
[4] 期限:明日まで
[5] その他の制限: (シンプルなプログラムでお願いします、ポインタなどはまだ使えません)



731 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 23:14:00 ]
>>636
[1]回答レベル:検証済み
[2] コード:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7069.txt
[3]環境 Windows/VC7/C およびLinux/gcc4.1.2
[4]コメント
ずらす方向の指定とかローテーションの必要性が明記されていなかったので
解が出た方法だけ。
すごいぞ!東京工科万歳!

732 名前:636 mailto:sage [2008/06/25(水) 23:14:43 ]
>>729
はい、そうですお願いします。

(例え)
暗号文:huisdfhnauid
アスキーコード1行ずらし:oujafkadmioafa これは×
アスキーコード1行ずらし:KOUKAkiasdfkao これは「KOUKA」が含まれているので複合化成功
この段階でアスキーコードをずらす処理を終了して、複合化結果の「KOUKAkiasdfkao」を表示する。
という題意です。

733 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 23:17:09 ]
[1] 授業単元: Cプログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7070.txt
[3] 環境
 [3.1] OS:Windows vista
 [3.2] コンパイラ名とバージョン:CPad for Borland C++Compiler
 [3.3] C++
[4] 期限:6/27
[5] その他の制限:始めたばかりですが特に制限はありません。すみません、どうか宜しくお願いします

734 名前:トランスレータ?ないない mailto:sage [2008/06/25(水) 23:20:41 ]
>>730
ばかしょうじきに。
#include <stdio.h>

int main()
{
int a, b, c;

for (a = 1; a <= 100; a++)
{
for (b = a; b <= 100; b++)
{
for (c = b; c <= 100; c++)
{
if (a*a + b*b == c*c)
{
printf ("a=%d b=%d c=%d\n", a, b, c);
}
}
}
}

return 0;
}

735 名前:636 mailto:sage [2008/06/25(水) 23:21:18 ]
>>731
ありがとうございます!!

それにしても動作させてみて笑いました、バレバレですねwww
まさかこんな痛い内容とは思いませんでした。

736 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 23:23:05 ]
>>636
> 例えば「ABC]という文をアスキーコードを1つ後にずらすと「BCD」となる。
> このずらした数を総当りで探索すればよい。
KOUKA というなら Kが2つあるわけだから、当然ずらす前も
その該当の5文字には同じ文字が1文字目と4文字目にあるわけだが

暗号文:huisdfhnauid
ん〜〜〜・・・、小文字と大文字両方含まれる?

737 名前:731 mailto:sage [2008/06/25(水) 23:23:56 ]
>>732
その例を見ると俺が作ったの全然ダメかもしれない。
1行ずらしとやらを行うと文字数増えるの?
あと問題付属のソースコードが構文エラーありまくりでした。

>>735
とおもったらこれでいいのかよ!

738 名前:636 mailto:sage [2008/06/25(水) 23:27:13 ]
>>736
あ〜それは例えの暗号なので解けない&解はないです。
暗号文自体は「KOUKA]の文字列が入っていれば複合化成功なので、
大文字だけ、小文字だけ、大小文字混合のどれでも大丈夫だと思います。
とくに指示はなかったので

739 名前:636 mailto:sage [2008/06/25(水) 23:29:53 ]
>>737
まぎらっこしくてすいません。
自分は>>731の回答で満足なので、本当にありがとうございます。

740 名前:トランスレータ?ないない mailto:sage [2008/06/25(水) 23:36:05 ]
>>724
入力方法が記載されていなかったのでカンマ区切りで入力するようにしました(ex. 4,24)
#include <stdio.h>

int main()
{
int ia, ib;
int a, b, c;

scanf("%d,%d", &ia, &ib);

if (ia >= ib) {
a = ia; b = ib;
}
else {
a = ib; b = ia;
}

c = a % b;
while(c != 0)
{
a = b;
b = c;
c = a % b;
}

printf("入力データ:a = %d\nb = %d\nGCM = %d\n", ia, ib, b);

return 0;
}



741 名前:デフォルトの名無しさん [2008/06/25(水) 23:39:48 ]
1] 授業単元: c言語
[2] 問題文(含コード&リンク):固定長テキスト形式のファイルの内容を構造体に読み込むプログラムを作成しなさい.
              
[3] 環境
 [3.1] Windows
 [3.2] VC 6.0
 [3.3] 言語: C
[4] 期限: 6/26 12:00
[5] その他の制限: 固定長テキスト形式のファイルの内容を構造体に読み込むプログラムを作成しなさい

742 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 23:42:43 ]
>>741
ファイルのレイアウト、もしくは構造体のレイアウトを提示すべきだと思う。

743 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 23:50:21 ]
679です。どなたかよろしくお願いします…。

744 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 23:54:49 ]
>>743

1文字ずつチェック
ヒットしたらカウンタ++


1行ずつチェック
ヒットしたらカウンタ++

745 名前:デフォルトの名無しさん [2008/06/25(水) 23:55:13 ]
>>742
すいません。

typedef struct{
int num;//出席番号
char class;//クラス
char name[14];//名前
}meibo;

構造体はこんな感じです。
ファイルには最大10人分のデータがあります。

よろしくお願いします

746 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 23:57:04 ]
>>739
っつか、暗号文すべてを復元したのを比較するよりも
KOUKAを暗号化して、その暗号化されたものを含む場合で
判断した方が、暗号化する文字数を減らせないか?

747 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 00:13:32 ]
>>744
ううう…どうにも思い浮かばないんだな。
だからここのスレに質問してるんだな。
プログラムお願いしますなんだな…。

748 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 00:15:23 ]
>>679 アンカーつけておきますね
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7061.txt


749 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 00:17:27 ]
[1] 授業単元:プログラミングU
[2] 問題文(含コード&リンク)
  問題:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7071.txt
  サンプル:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7072.txt
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:VisualStudio2005
 [3.3] 言語:C++
[4] 期限:2008年6月26日12:00まで
[5] その他の制限
:問題の仕様、アルゴリズムに従うこと。

問題が長いですが、どうかよろしくお願いします。

750 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 00:20:08 ]
[1]C
[2]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7073.txt
[3](1)LINUX
(3)C
[4]6月28日
[5]関数は使わず if for などの文だけでお願いします。
前回も投稿させてもらったのですが
桁数が3桁 4桁と増える場合にスペースを入れるという条件があるのを書き忘れてました
どなたかお願いします。



751 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 00:25:53 ]
>>679 No.1
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7074.c

752 名前:709 mailto:sage [2008/06/26(木) 00:29:55 ]
>>734
>>740

普通に動きました♪
ありがとうございます。








[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<251KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef