C/C++の宿題片付けます 153代目at TECH
C/C++の宿題片付けます 153代目 - 暇つぶし2ch624:デフォルトの名無しさん
11/11/24 17:52:48.94
[1] 授業単元:リスト構造体
[2] 問題文(含コード&リンク):
enqueue()とdequeue()を用いて実行結果が

Please input E(登録) or D(削除): E
Input number and name: 8 Nakamura
Please input E(登録) or D(削除): E
Input number and name: 3 Saito
Please input E(登録) or D(削除): D
Number=8 Name=Nakamura
Please input E(登録) or D(削除): D
Number=3 Name=Saito
Please input E(登録) or D(削除): D
No Data!
Please input E(登録) or D(削除): E



のように動作するプログラムを作成せよ
[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:VC2008
 [3.3] 言語:C
[4] 期限:11月25日
[5] その他の制限:

625:デフォルトの名無しさん
11/11/24 17:55:25.48
[1] 授業単元:C言語
[2] 問題文:123, 1.23, 1.2.3という数字を入力したとき、
       整数、小数、使用できない数字という分類に分けよ。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: 不明
 [3.3] 言語: C言語
[4] 期限:[2011/12/5]

よろしくお願いいたします

626:デフォルトの名無しさん
11/11/24 18:40:10.39
>>625
URLリンク(ideone.com)

627:デフォルトの名無しさん
11/11/24 19:53:51.73
>>626
ありがとうございます!

ちなみに、もしC++の場合だとどう変更になりますでしょうか?
出来たらやるという課題としてC++の場合があるのですが……

628:デフォルトの名無しさん
11/11/24 19:55:21.14
>>624
FIFOだな
・ポインタリンクで書くべきか配列のリングバッファで書くべきか判断できる?
・名前の文字数は無制限?

629:デフォルトの名無しさん
11/11/24 20:18:55.27
>>628
ポインタリンクで
名前の文字数は半角10文字までです

リスト構造体って難しい



630:デフォルトの名無しさん
11/11/24 21:58:51.42
>>627
URLリンク(ideone.com)

631:デフォルトの名無しさん
11/11/24 21:59:41.37
>>630
重ね重ね感謝いたします
ありがとうございました!

632:デフォルトの名無しさん
11/11/24 22:06:39.78
>>629
見ての通りFIFOのルートをグローバル変数としている
回避するには enqueue() と dequeue() に node** pptop を渡せば良い、お勉強する気が有るなら書き直すのも良いだろう
URLリンク(codepad.org)

633: ◆QZaw55cn4c
11/11/24 22:16:03.67
>>624
スレリンク(tech板:25番)

634:デフォルトの名無しさん
11/11/24 22:23:40.74
>>632
なるほど
さて、明日参考書を買ってくるか

635:デフォルトの名無しさん
11/11/24 22:25:41.16


処理系によってはdoubleとlong double(さらに、処理系によってはfloatとdoubleとlong double)の形式が同一のものがあるが、そのようにするメリットについて述べよ。

636:デフォルトの名無しさん
11/11/24 22:28:26.92
>>635 コンパイラ作るときに楽だから。

637:デフォルトの名無しさん
11/11/24 22:38:05.90
>>622
>例外ハンドラーを組み込むとかすれば良いんじゃね?

確かにそうなんだがかなり環境依存っぽいので、やる気なくしたw
詳しい人がいたら、例外処理を加えていただけるとw

>>623
なんか行数が変わってるw Winでコンパイルするのに#includeとか足してある?
もしprintfを呼んだ時点で死んでるなら、FLT_MAXと比較してprintfを呼ばないように
すればいいかも?

638:635
11/11/25 00:10:19.22
>>636

レポートにまとめるんで、出来れば具体的にお願いします。

639:デフォルトの名無しさん
11/11/25 00:43:20.24
>635

そういうコンパイラあるの?

640:デフォルトの名無しさん
11/11/25 01:17:29.83
>>635 質問テンプレでそーゆーのは書こうね。
1)C言語は処理系依存
2)処理系が自然に扱える不動小数点数が限られている場合がある。
3)C言語処理系の作成者は環境にな形式を選択できる。

4)コンパイラ製作者が楽をでき、処理系も素直になる。
5)どーしても特定のフォーマットが欲しければプログラマが作ればよい。
具体的に書いた。プログラム書く以外はあまりコメしたくないのん。
まとめるのは>>638さんがやるよーに受け取った。
「処理系依存」とか「未定義」がなぜC言語に存在するかも調べると、
理解深まるよ。

641:デフォルトの名無しさん
11/11/25 03:22:56.80
[1] 授業単元: プログラミング基礎
[2] 問題文(含コード&リンク):
半径5cmの円の面積[cm^2]を求めるプログラムを作成し、
小数点以下5桁まで解を求めよ。
[3] 環境
 [3.1] OS: Windows7
 [3.2] gcc
 [3.3] 言語:C

プログラミング初心者です。よろしくお願いいたします。

642:デフォルトの名無しさん
11/11/25 04:00:13.58
>>641
#include <stdio.h>

#define PI 3.14159265358979323846
#define menseki(r) ((PI)*r*r)

int main()
{
double r = 5;
printf("半径5cmの円の面積 = %.5lf\n",menseki(r));
return 0;
}

643: ◆QZaw55cn4c
11/11/25 08:28:40.46
>>642
>%.5lf\n
l は不要。

644: ◆QZaw55cn4c
11/11/25 08:31:46.59
>>617
>printf("3つの文字列を入力して下さい(例:abc defgh ijkl)¥n");
>fgets(s, sizeof(str[i]), stdin);

i が未初期化。
というかループに書くのわすれたんですね。

645: ◆QZaw55cn4c
11/11/25 08:35:24.39
>>612
>printf("\n");
普通 putchar('\n'); とかく。
というか、なんだかすごいマクロの使い方ですね。せめて { の数をあわさないと、うちのくそエディタが狂うんですけど。

646:デフォルトの名無しさん
11/11/25 10:15:23.24
c言語の自由課題でトランプゲームやろうと思うんですけどいい案ないですか?

647:デフォルトの名無しさん
11/11/25 10:25:45.13
戦争

648:デフォルトの名無しさん
11/11/25 10:28:52.98
>>646
・ポーカーの点数計算
・七並べで、複数プレーヤーが最善手を選択した時の順位
・神経衰弱で、3手前しか覚えてないPCとの対戦

649:デフォルトの名無しさん
11/11/25 10:29:19.46
>>647
どうやればうまくいきます?

650:デフォルトの名無しさん
11/11/25 10:31:09.31
>>648
その中だったら七並べやりたいんですけど初心者で。詳しく教えてください。

651:デフォルトの名無しさん
11/11/25 10:34:28.82
>>650
【初心者歓迎】C/C++室 Ver.76【環境依存OK
スレリンク(tech板)


652:デフォルトの名無しさん
11/11/25 10:41:11.26
>>646
C言語でトランプゲームを作りたい
スレリンク(tech板)

653:デフォルトの名無しさん
11/11/25 11:14:40.01
643 名前:あぼ~ん[あぼ~ん] 投稿日:あぼ~ん


644 名前:あぼ~ん[あぼ~ん] 投稿日:あぼ~ん


645 名前:あぼ~ん[あぼ~ん] 投稿日:あぼ~ん

654: ◆QZaw55cn4c
11/11/25 12:28:05.59
>>653
へー、そういう書き込みでレス削除されたことになる専用ブラウザがあるんだ?

655:デフォルトの名無しさん
11/11/25 12:35:27.21
654 名前:あぼ~ん[あぼ~ん] 投稿日:あぼ~ん

656:デフォルトの名無しさん
11/11/25 12:38:34.34
自己愛の奴はあぼーんされると一番こたえるらしいな

657:デフォルトの名無しさん
11/11/25 12:49:05.54
>>653,655-656
餌をやるな

658:デフォルトの名無しさん
11/11/25 12:56:53.68
プログラマーの美意識?
URLリンク(aakitekucha.seesaa.net)


659:デフォルトの名無しさん
11/11/25 13:58:28.16
[1] 授業単元:(文字列)
[2] 問題文(含コード&リンク):文字列st の中に含まれる文字ch の個数(含まれて
いなければ0 とする)を返す関数
int str_chnum(const char st[], int ch)
を作成せよ.以下の実行例のように,関数の動作を確認
できるmain 関数も作成すること.
【注意】scanf で文字列を入力させた後にgetchar 関
数で文字を入力させたい場合,getchar で文字を入力
させる前に
scanf("%*c");
などとして,バッファに残った改行コードを読み捨て
ておく必要がある.

のように動作するプログラムを作成せよ
[3] 環境
 [3.1] OS:linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:11月25日 17:00
[5]例 文字列を入力してください:KoKo
検索する文字を入力してください:o
その文字は2 個含まれています。
その他の制限: ポインタは習っていません

660:デフォルトの名無しさん
11/11/25 14:06:32.01
#include <stdio.h>

int str_chnum(const char st[], int ch)
{
int i, num;
for(i = num = 0; st[i]; i++) if(st[i] == ch) num++;
return num;
}

int main(void)
{
char st[256];
int num, ch;

printf("文字列を入力してください:");
scanf("%s", st);
scanf("%*c");
printf("検索する文字を入力してください:");
ch = getchar();

num = str_chnum(st, ch);

printf("その文字は");
if(num) printf("%d 個含まれています。\n", num);
else printf("含まれていません。\n");

return 0;
}

661:デフォルトの名無しさん
11/11/25 15:23:02.55
>>659
問題張る前にスレの中読まないの?

662:デフォルトの名無しさん
11/11/25 15:59:16.98
【質問テンプレ】
[1] 授業単元:プログラミング入門(C)
[2] 問題文(含コード&リンク):
無限ループを用い、 1~100までの数値を任意に10回分だけ入力し、その度数分布を求めよ。
ただし、for文は用いず、while文で。度数分布は5等分して表示せよ。(例えば1~20に4個 21~40に3個 41~60に2個 61~80に1個 81~100に0個)
[3] 環境
 [3.1] OS:(Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 今週末
[5] その他の制限:for文を使わずwhile文でやれと言われています。度数分布は5等分で
始めたばかりなので、初心者同然の知識しかなく、プログラミング入門レベルです。
よろしくお願いします。

663:デフォルトの名無しさん
11/11/25 16:00:50.48
もうしわけありません記入漏れがありました
OS環境はおそらくLinuxではないかと思うのですが、よくわかりません
よろしくお願いします。

664:デフォルトの名無しさん
11/11/25 16:50:21.43
>>662
URLリンク(ideone.com)

665:デフォルトの名無しさん
11/11/25 19:08:07.59
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):
図のように33個の節点が抵抗で繋がれた電気回路がある。 ただし、全ての抵抗の抵抗値は同じである。
ここで、AB間に5Vの電源を接続し、Aの電位を5V、Bの電位の0Vとしたとき、残りの31点の電位を計算せよ。

URLリンク(iup.2ch-library.com)

(注)
回答は、
V0=ww
V1=xx
V2=yy
V3=zz
...
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2011/12/01
[5] その他の制限: キルヒホッフの法則・ガウスの消去法を使う

666:デフォルトの名無しさん
11/11/25 22:38:13.87
[1] 授業単元: C言語プログラミング
[2] 問題文(含コード&リンク):
為替レート(rate)、円(yen)、ドル(doll)、セント(cent)(いずれも整数)からなる構造体moneyの
ポインタを引数とし円からドルへの変換を行う関数exchangeを作成せよ.

関数exchangeのプロトタイプ宣言
void exchange(struct money *mp);

上の関数を使ってrateが80円のときの25800円のドルとセントを求めるプログラムを作成せよ。
なお、メインプログラム内に以下のような初期値つきの構造体変数宣言を使うこと.

struct money m = { 80, 25800, 0, 0 };

実行例
$./kadai1
322 doll 50 cent

ヒント

struct money {
// メンバー
};

exchange(&m); // 擬似的参照渡しになるので,結果はmoneyに返る

[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:2011年11月27日まで
[5] その他の制限:
問題文で使われている宣言とヒントとして提示されているものを使っての解答をよろしくお願いします。

667:デフォルトの名無しさん
11/11/26 00:04:26.81
>>662

#include <stdio.h>
#include <string.h>

const int kParameter = 100;
const int kRange = 20;

#define NELEMS(array) (sizeof(array) / sizeof(array[0]))

int main() {
int i;
int count = 0;
int dist[kParameter / kRange];
memset(dist, 0, sizeof(dist));
while (1) {
int n = rand() % kParameter;
printf("%d\n", n + 1);
++dist[n / kRange];
if (++count >= 10) break;
}
for (i = 0; i < NELEMS(dist); ++i) {
printf("%3d - %3d: %d\n", kRange * i + 1, kRange * (i + 1), dist[i]);
}
return 0;
}


668:デフォルトの名無しさん
11/11/26 00:04:41.67
>>666

#include <stdio.h>

struct money {
int rate;
int yen;
int doll;
int cent;
};

void exchange(struct money *mp) {
mp->doll = mp->yen / mp->rate;
mp->cent = 100 * (mp->yen % mp->rate) / mp->rate;
}

void print(struct money *mp) {
printf("%d doll %d cent\n", mp->doll, mp->cent);
}

int main() {
struct money m = { 80, 25800, 0, 0 };
exchange(&m);
print(&m);
return 0;
}


669:デフォルトの名無しさん
11/11/26 00:43:55.98
[1] 授業単元:PIC制御
[2] 問題文(含コード&リンク):16f819にてAD変換せよ
[3] 環境
 [3.1] OS: Windows
 [3.2] 不明(PicKit2でPICに書き込みしてます)
 [3.3] 言語: C
[4] 期限: 11/28
[5] その他の制限
#include<16f819.h>
#device ADC=10
#use delay (clock=8000000)
#define A_ANALOG 0x80
void port_ini(void);
float data;
void main()
{
#byte OSCCON=0x8f
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(A_ANALOG);
port_ini();
while(1)
{
省略
}
void port_ini(void)
{
set_tris_a(0b00000110);
set_tris_b(0b00000000);
}

コンパイルしたら成功しますがPICに書き込み成功後、AD変換できてません。
プログラム上の間違いがありましたら指摘お願いします。

670:デフォルトの名無しさん
11/11/26 00:49:19.04
[1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):
#include<stdio.h>
int main(void)
{
int i=0;
char *ptr;
char str[128];

ptr = str;

scanf("%s",&str);

while(*ptr++){
i++;
}

printf("%d\n",i);
}

上記の入力したテキストの文字数を表示するプログラムの読み込み部分をファイル処理に変更せよ。
fgetc() 関数を使用し、コマンドラインにファイル名が指定できるようにすること。
ただし、ファイル名を指定しない場合は標準入力とする。
ファイルが見つからなかった時はエラーメッセージを出し、プログラムを終了する。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ:gcc
 [3.3] 言語:C言語
[4] 期限:2011年11月27日(日曜) 23:59
[5] その他の制限:読み込むテキストファイル数は1つです。よろしくお願いします。

671:デフォルトの名無しさん
11/11/26 01:28:58.74
>>670


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
int i = 0;
char *ptr;
char str[128];
FILE *fin;

if (argc == 1) {
ptr = str;
scanf("%s", str);
while (*ptr++) i++;
} else {
if ((fin = fopen(argv[1], "r")) == NULL) {
fprintf(stderr, "Input file open error\n");
exit(EXIT_FAILURE);
}
while (fgetc(fin) != EOF) i++;
fclose(fin);
}
printf("%d\n", i);

return 0;
}


672:デフォルトの名無しさん
11/11/26 10:36:19.21
[1] 授業単元: C言語プログラミング(文字列生成・操作)
[2] 問題文(含コード&リンク):
以下の実行例のように,姓と名を入力すると,2 つの
間にスペースを入れて連結した文字列を生成するプロ
グラムを作成せよ.姓と名はそれぞれ配列family[] と
first[] に,連結した文字列は配列fullname[] に格納
すること.入力できる姓と名の長さはそれぞれ30 字ま
でとする.

実行例.
Family name: Roku
First name: Dai
Roku Dai

[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:2011年11月27日まで
[5] その他の制限:
問題文で使われている宣言とヒントとして提示されているものを使っての解答でお願いします
ポインタは習っていません

673:デフォルトの名無しさん
11/11/26 10:50:35.35
>>672
URLリンク(ideone.com)

674:デフォルトの名無しさん
11/11/26 11:58:04.62
>>673
scanf で30文字以上入力されたらどうなる?

675:デフォルトの名無しさん
11/11/26 12:27:39.48
>>674
30文字以上入れた奴が悪い

676: ◆QZaw55cn4c
11/11/26 12:28:43.56
>>674
それをいうと、題意から一歩踏み出してポインタを使わざるを得ない。
URLリンク(ideone.com)

677:デフォルトの名無しさん
11/11/26 12:48:08.85
fgetsでやればいいんじゃないの?

678:デフォルトの名無しさん
11/11/26 12:51:46.10
>>674
URLリンク(ideone.com)

679:デフォルトの名無しさん
11/11/26 12:57:59.65
>>677
fgets() でもバッファサイズは有限だよ


680:デフォルトの名無しさん
11/11/26 13:03:52.87
>>679
サイズをはみ出してるかをチェックして、捨てればいい。

681:デフォルトの名無しさん
11/11/26 13:09:48.96
>>672
URLリンク(ideone.com)

682:デフォルトの名無しさん
11/11/26 15:44:28.74
>>680
そういう意味じゃなくてバッファより入力文字数が多かったらストリームにゴミが残るからって話なんだけど...
fflush() すれば良いだけの話だなw

683:デフォルトの名無しさん
11/11/26 15:45:19.56
>>682
バカは手に負えないな

684:デフォルトの名無しさん
11/11/26 15:52:29.48
stdinに対するfflushは(略

685: ◆QZaw55cn4c
11/11/26 15:57:57.90
>>682
fflush() では入力ストリームに対しては未定義。
ISO/IEC 9899:1999 7.19.5.2.2

686:デフォルトの名無しさん
11/11/26 16:05:07.02
>>685
そうだっけ?
URLリンク(msdn.microsoft.com)
stdin からの入力なんて滅多に使わないから細かい仕様に興味がないもんでねw

687:686
11/11/26 16:12:07.34
もし fflush() が望む機能を実現できない環境で有れば、バッファ中に \n が出現するまで fgets() を繰り返せば良い
少なくとも捨てて良いデータの為に realloc() を繰り返す様なコードは書きたくないなw

688:デフォルトの名無しさん
11/11/26 16:22:21.62
依頼者は、「コンパイラ名とバージョン:gcc」と書いてるんだから、
その環境で大丈夫かどうか、だな

689: ◆QZaw55cn4c
11/11/26 17:01:14.56
>>687
realloc() の繰り返しを避けたいのであれば、避けたいというその気持ちの強さに応じて、static char 配列のサイズを大きめにすればよい、そういう風には作ったつもり。

URLリンク(ideone.com)
#define BUFFSIZE 65536 /* >= 2 */
char *mygetline(FILE *fp) {
static char inbuff[BUFFSIZE];

690:デフォルトの名無しさん
11/11/26 17:44:30.69
>>689
とはいえ malloc() も realloc() も使う必要が無い処理であることには変わりない

691: ◆QZaw55cn4c
11/11/26 17:49:50.13
>>690
不定長に対応するつもりがないのなら、ね。
>>689 は不定長に対応することを目的とした汎用コード。

692:デフォルトの名無しさん
11/11/26 17:54:45.48
何これあぼーんだらけ

693:デフォルトの名無しさん
11/11/26 17:57:34.69
>>692
興味があるなら、あぼーん設定を外してみれ

694:デフォルトの名無しさん
11/11/26 18:03:12.92
>>691
不定長に対応する必要が無い処理に使うのは無駄だと言っている
自己満足のコードはサンデープログラマの特権だけど現場では迷惑

695:デフォルトの名無しさん
11/11/26 18:03:14.25
>>693
ああ、またQか
こいつ文句を垂れ始めたな

696:デフォルトの名無しさん
11/11/26 18:14:10.63
>>692-693,695
餌やんな

697: ◆QZaw55cn4c
11/11/26 18:18:28.91
>>694
ま、C++ の考え方に慣れきったものでして、string クラスやvector/deque/map コンテナの思想くらいは、C で書くときも心がけているだけだけどね。
これは業務に携わっている方にお聞きしたいのではあるが、固定長のプロトコルを前提にコードを製造することは、今でもあるものだろうか?

>>695
fflush(stdin) のまずさを指摘された >>682 が逆切れしているだけなのでは?


698:デフォルトの名無しさん
11/11/26 18:22:13.97
ここまで来たら立派な荒らしだな

699:デフォルトの名無しさん
11/11/26 18:52:46.55
>>697
C/Sなら可変長電文の方が少ないよ
IP電話の制御電文や音声データも固定長だ
データファイルも構造体をバイナリで出力することが多いから固定長が多い、レコード数は可変だけどね



700:デフォルトの名無しさん
11/11/26 19:20:23.14
[1] 授業単元: 画像処理
[2] 問題文(含コード&リンク):
問題1で作成したプログラムに、スライド番号8にあるトーンカーブ(ネガポジ)を、画像の濃度値を変換する関数としてを追加し、任意の画素数をもつpgm画像のコントラストを変更するプログラムを作成せよ.コントラスト変換後の画像はpgm画像として保存すること.
URLリンク(codepad.org)
[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:windows visual studio2008
 [3.3] 言語:C++
[4] 期限:2011年11月28日まで
[5] その他の制限:
よろしくお願いします


701:デフォルトの名無しさん
11/11/26 20:20:29.44
>>665
途中まで書いたが、力尽きた。
エロイ人頼む。
URLリンク(ideone.com)

702: ◆QZaw55cn4c
11/11/26 20:23:30.68
>>699
ありがとうございます。

703:デフォルトの名無しさん
11/11/26 20:41:55.58
>>701
これ直すと動くんじゃね?

Error 00001. 0x130700 (Thread 0x0814):
Access overrun: Attempt to access 8 byte(s) at 0x0012DBDC+8712, that is at
offset 0+8712 in local block 0x0012DBDC(=[ebp-0x23B0] @dai57.exe:0x01:000585)
which is only 8712 bytes long.
| dai57.c line 104:
| for (i = 0; i <= N; i++) {
| for (j = 0; j <= N; j++) {
|> m[i][j] = 0;
| v[i]=0;
| }
Call Tree:
0x00401585(=dai57.exe:0x01:000585) dai57.c#104
0x32C9C8AA(=CC32120MT.DLL:0x01:09B8AA)

------------------------------------------
Error 00002. 0x130700 (r) (Thread 0x0814):
Access overrun: Attempt to access 8 byte(s) at 0x0012DBDC+8712, that is at
offset 0+8712 in local block 0x0012DBDC(=[ebp-0x23B0] @dai57.exe:0x01:000585)
which is only 8712 bytes long.
| dai57.c line 104:
| for (i = 0; i <= N; i++) {
| for (j = 0; j <= N; j++) {
|> m[i][j] = 0;
| v[i]=0;
| }
Call Tree:
0x00401585(=dai57.exe:0x01:000585) dai57.c#104
0x32C9C8AA(=CC32120MT.DLL:0x01:09B8AA)

704:デフォルトの名無しさん
11/11/26 20:44:41.65
一応これも貼っておくね

Error 00003. 0x130700 (Thread 0x0814):
Access overrun: Attempt to access 8 byte(s) at 0x0012FDE8+264, that is at
offset 0+264 in local block 0x0012FDE8(=[ebp-0x1A4] @dai57.exe:0x01:00059F)
which is only 264 bytes long.
| dai57.c line 105:
| for (j = 0; j <= N; j++) {
| m[i][j] = 0;
|> v[i]=0;
| }
| }
Call Tree:
0x0040159F(=dai57.exe:0x01:00059F) dai57.c#105
0x32C9C8AA(=CC32120MT.DLL:0x01:09B8AA)

705:デフォルトの名無しさん
11/11/26 21:02:15.66
>>703
便乗質問で申し訳ないですが、このエラーメッセージは何かツールを使って出してるんでしょうか?
自分の環境(Mac,gcc4.1)では出なかったもので。

706:デフォルトの名無しさん
11/11/26 21:02:42.59
>>668
ありがとうございました

707:デフォルトの名無しさん
11/11/26 21:04:37.08
[1] 授業単元: C言語プログラミング
[2] 問題文(含コード&リンク):
名前(char name[20])と点数(int score)からなる構造体の配列を作る.
件数(10以下)をキーボード入力後、その件数だけ名前と点数をキーボード入力して配列に格納し,
点数の平均点と、平均点以上の学生の名前を表示するプログラムを作成せよ.
なお,文字列aと整数bを同時にキーボード入力するには、scanf("%s %d",a,&b)とすればよい(文字列変数には&がいらない).

実行例
$./kadai
n? 5
name score? taro 52
name score? jiro 84
name score? saburo 38
name score? hanako 63
name score? youko 72
Average:61
Above average:jiro hanako youko

ヒント
struct student {
char name[20];
int score;
} student;

scanf("%s %d",student.name, &student.score);

[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] その他の制限:
問題文で使われている宣言とヒントとして提示されているものを使っての解答をよろしくお願いします。

708:デフォルトの名無しさん
11/11/26 21:15:37.03
>>705
これはDelphi/C++Builder XE2に付属しているCodeGuardというバグ検出ツール
これだけのために買い続けてる

実際の仕事はVC10でやってるけど

709: ◆QZaw55cn4c
11/11/26 21:16:52.93
>>705
多分、Borland C/C++ ver 6 の codeguard
評価版をインストールして、 bcc32 -v -vG (だったかな)でコンパイルし、生成したバイナリを実行すればよいはず。

710:デフォルトの名無しさん
11/11/26 21:20:09.71
評価版か
無職は金ないから買えないもんな

711:デフォルトの名無しさん
11/11/26 21:39:12.20
[1] 授業単元:リスト構造
[2] 問題文(含コード&リンク):
malloc関数とリスト構造を使い、ファイルから二行の多桁整数を読み取る。
それを4桁ずつリスト構造に格納し、加算を行うプログラムを作れ。

口頭で出題された問題なので、おかしい部分があったらすみません。

[3] 環境
 [3.1] OS:windowsXP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 11/28の正午まで
[5] その他の制限: ありません

712:デフォルトの名無しさん
11/11/26 22:04:54.33
[1] 授業単元: C言語実習
[2] 問題文(含コード&リンク):
整数値を読み取り,4桁毎に 兆,億,万 を挿入して表示せよ.


入力:114514
出力:11万4514
入力:810
出力:810

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:2011年11月27日まで
[5] その他の制限:
初心者ですが頑張ります

713:デフォルトの名無しさん
11/11/26 22:15:45.51
>>712
ココに投げてる時点でがんばってない気がするけどまあ良いか

714:デフォルトの名無しさん
11/11/26 22:23:32.35
えっQって割れ厨だったのか

>多分、Borland C/C++ ver 6 の codeguard

Version6は体験版のダウンロードはしてないはずだが
誰にコピーしてもらったか知らないけどライセンス違反ですね
犯罪ですよ

715:デフォルトの名無しさん
11/11/26 22:26:17.12
>>707
URLリンク(ideone.com)

716:デフォルトの名無しさん
11/11/26 22:30:47.59
>>665
こんなんを puts で表示すればよくね?

 3.266968  3.123636  2.855417  2.500000  2.144583  1.876364  1.733032
 3.410299  3.248523  2.942614  2.500000  2.057385  1.751477  1.589701
 3.715407  3.517544  3.166518  2.500000  1.833482  1.482456  1.284593
 4.218378  3.939727  3.705912        1.294088  1.060273  0.781622
 5.000000  4.317073  4.011493        0.988507  0.682927  0.000000

717:デフォルトの名無しさん
11/11/26 22:59:41.72
>>708,709
有難うございました。
やはり本格的にプログラミングするなら、ツールが必要ですね。

718:デフォルトの名無しさん
11/11/26 23:24:48.14
>>712
#include <stdio.h>

int
main()
{
char s[20], *p = s, k[][10] = {"", "万", "億", "兆"};
int n = 0;

printf("n=");
scanf("%s", s);
while (*p++)
n++;
for (p = s; *p; p++) {
putchar(*p);
if (--n % 4 == 0)
printf("%s", k[n / 4]);
}

return 0;
}

719:デフォルトの名無しさん
11/11/26 23:39:52.72
>>672
URLリンク(ideone.com)

720:デフォルトの名無しさん
11/11/26 23:50:50.28
>>712
URLリンク(ideone.com)

721:デフォルトの名無しさん
11/11/27 00:09:08.29
>>671
ありがとうございましたー

722:デフォルトの名無しさん
11/11/27 00:40:54.91
[1] 授業単元:計算機アルゴリズムⅠ
[2] 問題文(含コード&リンク):
設問1-1
プログラム例10.1.3で関数sumとdiffereceの中に適当なprintf文を追加しなさい、又「s=sum(a,b); d=difference(a,b); printf("%7.3fと%7.3fの和は%7.3f差は%7.3f\n",a,b,s,d);」の3ステートメントを、変数s,dを使わずに1ステートメントで記述しなさい。
プログラム例10.1.3
URLリンク(www.dotup.org)

設問1-2
2つの整数型変数の和、差、積、商を求めて表示するプログラムを作成せよ。ただし、4つの演算それぞれを関数化すること。

設問1-3
設問1-2で被演算数の「2つの整数型変数」をxとyとし(「int x, y;」と宣言する)、xとyの値をキーボードから入力するようにしなさい。
和、差、積と商を表示するprintf文はmain関数中に記述すること。変数はすべて局所変数を用いること。
[3] 環境
 [3.1] OS:Windows vista
 [3.2] コンパイラ名とバージョン:visual studio 2008
 [3.3] 言語:C
[4] 期限:[2011年12月2日8:00まで]
[5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文
            繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数
            条件分岐if文、要素番号idx使用の書換、データの入れ替え
            条件分岐・論理演算子を用いたif文の条件、if文、else if文
            switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義
            引数と戻り値は習いました。
宜しくお願いします。

723: ◆QZaw55cn4c
11/11/27 00:48:08.12
>>665
スレリンク(tech板:26番)
>>716 と結果が一致しました。

>>714
前は評価版をダウンロードできていたんですけれどもね。
スレリンク(tech板:827番)

724:デフォルトの名無しさん
11/11/27 01:08:17.90
>>722
URLリンク(ideone.com)
URLリンク(ideone.com)
URLリンク(ideone.com)

725:デフォルトの名無しさん
11/11/27 02:46:28.09
>>636
fpuがlong double未サポートの時、doubleにtypedefしてfpuエミュレーションしないですむってことかえ?

726:デフォルトの名無しさん
11/11/27 02:48:30.03
書いてて思ったけど、fpuエミュレーションってコンパイラがやるんだっけ?

727:デフォルトの名無しさん
11/11/27 03:53:52.46
>>723
そりゃDelphi/C++ Builder XE/XE2の評価版だろうが
C++ Builder6 の評価版はダウンロード出来ないという意味で言ったんだ
出来たのはDelphi6 Personalのみ

で、使用期限が切れたにも関わらず(15日間)、CodeGuardを使い続けて
いるのだったらそれもライセンス違反だ

728:デフォルトの名無しさん
11/11/27 04:12:28.78
アスペはスルーで

729: ◆QZaw55cn4c
11/11/27 07:05:13.61
>>726
昔は代替計算ライブラリをリンクしてやってました。ちょっとしたトリックですりかわるようになっていました。
さすがに pentium 以前で win32 を動かすことはもうないでしょうから、今はこんなトリックは廃れてしまったでしょうね。

>>723
ふむ。確かに「C++Builder XE2 Architect - 30 day trial」というのが正確な呼び方ですね。
でも 30日試用可なんですけど。あと IDE とかは起動しませんが、bcc32 6.31 は今でも使えますけれども?

それも契約違反なんですかね?

730: ◆QZaw55cn4c
11/11/27 07:05:43.58
>>729
>>727

731:デフォルトの名無しさん
11/11/27 07:19:50.13
スターターエディションくらい買えよw

732: ◆QZaw55cn4c
11/11/27 07:27:01.14
>>731
FileMaker 買ったばっかりで金欠なんです。

733:デフォルトの名無しさん
11/11/27 08:18:16.97
>>729
>ふむ。確かに「C++Builder XE2 Architect - 30 day trial」というのが正確な呼び方ですね。
>でも 30日試用可なんですけど。あと IDE とかは起動しませんが、bcc32 6.31 は今でも使えますけれども?

30日なんてとっくに過ぎてるだろうが
>>723の書き込みは7/4だぞ

bcc32等のツールも30日を過ぎたら試用期間が切れるとlicence_ja.rtfに書いてある

4. 終了。 ライセンサは、次の場合に、追加の義務や責任を負うことなく本契約をただちに
終了することができます。(a) 使用権に関して、お客様が以下に定める使用権の料金を
支払わず、支払期限の最後の日から 30 日間を過ぎても滞納し続けている場合

犯罪を自分で告白しておいてこれだけ厚顔無恥な奴もめずらしい
Embarcaderoに報告しておこうかねえ

734: ◆QZaw55cn4c
11/11/27 08:39:28.14
>>733
「***追加の***義務や責任を負うことなく本契約をただちに終了することが***できます***。」

どこにもアンインストールしろとは書いていませんけれども、それでも試用期限がきれたらアンインストールしなければならないのでしょうか?そう主張するのならまず、その根拠を示してください。
こういうソフトウェアパッケージは情報提供・バグ修正やなにかあったときのサポートが不可欠でありそのためにお金をだすものと思っているのですが、それが受けられないことを承知で試用版を使い続けることになにか問題でもあるのでしょうか?

あと IDE はとっくの昔に起動できなくなっています。bcc32 でコンパイルは今でもできます。ただ、bcc32 にバグはあるかもしれませんし、そのバグも修正してもらえるあてはありませんが。


735:デフォルトの名無しさん
11/11/27 08:41:11.47
こりゃ裁判にならんとわからん馬鹿だろ
裁判所から内容証明郵便が届いてから真っ青になっても遅いわ

736:デフォルトの名無しさん
11/11/27 08:45:14.98
常識で考えろよ。
なんのためのスターターエディションなんだよ

737:デフォルトの名無しさん
11/11/27 09:21:37.15
◇       ミ ◇
   ◇◇   / ̄|  ◇◇
 ◇◇ \  |__| ◇◇
    彡 O(,,゚Д゚) /
       (  P `O
      /彡#_|ミ\
       </」_|凵_ゝ

【ラッキーAA】
このAAを見た人はコピペでもいいので
10分以内に3つのスレへ貼り付けてください
そうすれば14日後好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です

738:デフォルトの名無しさん
11/11/27 09:32:00.25

裁判所から内容証明郵便が届くというのは、初めて聞いた

739:デフォルトの名無しさん
11/11/27 09:52:34.09
>>738
「受け取った」「受け取ってない」で揉めないためだってさ
有無を言わせず引っ張り出せる

740:デフォルトの名無しさん
11/11/27 10:04:00.43
裁判所が内容証明郵便を出すの?

741:デフォルトの名無しさん
11/11/27 10:08:37.10
URLリンク(www.gem.hi-ho.ne.jp)

裁判を起こした相手が裁判所から出すんだろうな

742:デフォルトの名無しさん
11/11/27 10:14:41.99

裁判所が郵便業務をしているというのは、初めて聞いた。

743:デフォルトの名無しさん
11/11/27 10:17:28.29
東京高等裁判所か、大阪高等裁判所なら裁判所内郵便局がある

744:デフォルトの名無しさん
11/11/27 10:20:52.75
この「初めて聞いた」と書いてる奴はコテを消したQ'Zだろうな

745:デフォルトの名無しさん
11/11/27 10:21:55.21

裁判所が郵便局を経営してるの?

郵便を扱う事を、裁判所が、業務としてしているの?

746:デフォルトの名無しさん
11/11/27 10:23:54.64
>>745
裁判所の建物の中に郵便局がある
裁判所が業務として郵便をやってるわけじゃない

747:デフォルトの名無しさん
11/11/27 10:24:13.69
これ以上はスレ違いだ
他の人の迷惑になる
自分でぐぐって調べろ

748:デフォルトの名無しさん
11/11/27 10:25:31.48
ついこの前警察の強制捜査が入ったばかりだろうが
警察はしばらく2chを監視してると思うぞ
おかしな事は書かない方がいい

749:デフォルトの名無しさん
11/11/27 10:29:34.36
まるで、消防署から来ましたって言って、消化器を売りつけるのと同じだな

裁判所の中に郵便局があるなら、

誰でも、誰にでも、どんな内容でも、裁判所から内容証明郵便出せるぞ

750:デフォルトの名無しさん
11/11/27 11:02:40.83
これはQが裁判所からの出廷命令を無視する流れか
で、未回答の宿題どれだっけ?

751:デフォルトの名無しさん
11/11/27 11:08:44.65
>>750
無視すると自動的に原告の勝訴が確定して原告のいいなりにならなければならないのにな
強制執行されるぞ

752:デフォルトの名無しさん
11/11/27 11:10:59.57
コテ付きをスレチで延々と貶すだけの匿名か。
気に入らなければNG設定出来る分、コテの方が良心的とも言える。

753:デフォルトの名無しさん
11/11/27 11:13:45.85
>>750
未解答は>>700>>711かな?
レスついてないの見ただけだから他にもあるかも知れんが

754:デフォルトの名無しさん
11/11/27 11:59:46.16
>>753
>>700は俺が画像処理わからんからパスするとして、
>>711はリスト構造ってどのリスト構造だよって感じでパスだな

755:デフォルトの名無しさん
11/11/27 12:04:31.57

民事と刑事をごっちゃにしてるレベルで法律を語ると恥をかくだけ

756:デフォルトの名無しさん
11/11/27 12:09:25.57
>>755
ずっと民事の話だけどなに必死になってんの?

757:711 ◆oYsh4lFZVQ
11/11/27 12:10:53.38
>>754
すみません、自分自身リスト構造というものが良く分かっていないので変な書き方になってしまったかもしれないです。
123456789という数値を1、2345、6789というように配列に格納し、その後加算が出来るプログラムを考えています。

後付説明になってしまい申し訳ありません…

758:デフォルトの名無しさん
11/11/27 12:18:04.52
>犯罪を自分で告白しておいてこれだけ厚顔無恥な奴もめずらしい
>Embarcaderoに報告しておこうかねえ

何という犯罪なんだろう?

759:デフォルトの名無しさん
11/11/27 12:25:38.55
4. 終了。 ライセンサは、次の場合に、追加の義務や責任を負うことなく本契約をただちに
終了することができます。(a) 使用権に関して、お客様が以下に定める使用権の料金を
支払わず、支払期限の最後の日から 30 日間を過ぎても滞納し続けている場合。
(b) 支払不能の申立てがお客様によって、もしくはお客様に対してなされて 60 日間
停止されなかった場合、お客様の業務のいずれかの部分に対して破産管財人が
任命された場合、または債権者のために財産が譲渡された場合。(c) お客様が
本契約に対する重大な違反をし、かかる違反についてライセンサから書面で通知された後
30 日の間に当該違反を是正しなかった場合。本契約の終了は、次のいずれにも影響を
及ぼさないものとします。(i)終了しておらず、そのためその条件により効力が存続している
使用権によるいずれかの当事者の義務。(ii)本契約に定める表明および保証の存続。
使用権の終了後 60 日以内に、お客様は、使用権が終了した製品、関連文書および
そのコピーをライセンサに返却するものとします。お客様はライセンサに対して、本製品が
インストールされたすべてのコンピュータから本製品のすべてのコピーが削除されたこと、
および、返却しなかったコピーがすべて破棄されたことを、ただちに書面で通知するものとします。

あれれ、アンインストールしないさとちゃんと書いてあるよ?

760:デフォルトの名無しさん
11/11/27 12:30:42.08
gcc使えばいいのに。gccはそんなけち臭いこと言わない。

761:デフォルトの名無しさん
11/11/27 12:34:24.90
なんだここは法律を語るスレだったのか

762:デフォルトの名無しさん
11/11/27 12:37:56.33
>>761
いやそうじゃないんだけど、「当たり前の法律を順守する」という事も出来ない馬鹿が
若干一名いるようでこれだけ荒れてるかと

763:デフォルトの名無しさん
11/11/27 12:40:17.45
スルーすれば済むんじゃねーの
通報するなら黙ってすればいいだけだし

764:デフォルトの名無しさん
11/11/27 12:40:52.35
>「当たり前の法律を順守する」という事も出来ない馬鹿

くわしく

765:デフォルトの名無しさん
11/11/27 12:49:05.75
>>764
URLリンク(edn.embarcadero.com)

21. 準拠法。 本契約は、法の抵触に関する原則を問わず、カリフォルニア州法に準拠し、
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
それに従って解釈されるものとします。国際物品売買契約に関する国連条約の条項は
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
適用されないものとします。

22. 評価使用権。 ライセンサは、本第 22 条の条項に従ってお客様がテストおよび評価
しようとしている専売権付きソフトウェアおよび文書(以下「ソフトウェア」)の所有者および
供給者です。ライセンサの書面による許可がない場合は 14 日を超えない期間(以下
「評価期間」)の間、お客様自身による内部使用の評価(以下「評価」)目的でのみ
ソフトウェアが提供され、お客様は本契約書によって、かかる評価のためにソフトウェアを
操作および使用する、譲渡不能で非独占的な限定的権利を付与されます。評価期間は、
お客様がソフトウェアをダウンロードまたは開封した日に開始します。評価期間が終了すると、
                                         ~~~~~~~~~~~~~~~~~~~~~~~~
お客様は使用を中止し、ソフトウェアを元の状態で Embarcadero に返却するものとします。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

766:デフォルトの名無しさん
11/11/27 12:49:13.74
この要件は、他のものに組み込まれているかどうかにかかわらず、あらゆる種類のメディアおよ
びコンピュータ メモリの上の、あらゆる形式(部分的または完全)のソフトウェアのコピーに適用
されます。お客様は、ソフトウェアのリバースエンジニアリング、逆アセンブル、改変、翻訳または
逆コンパイルを行ったり行わせたりしないことに同意するものとします。お客様は、ソフトウェアを
コピーしたり、派生ソフトウェアを作成または開発してはなりません。お客様は、本第 22 条の
                                         ~~~~~~~~~~~~~~~~~~~~~~~
もとで実施したソフトウェアの評価テストの結果またはその他の実行結果を、そのたびに書面に
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
よるライセンサの事前の同意を得ないまま、第三者に公開してはなりません。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

767:デフォルトの名無しさん
11/11/27 12:54:41.50
何という法律のどの条項を順守してないの?

768:デフォルトの名無しさん
11/11/27 12:57:01.59
>>767
契約不履行による民事訴訟

769:デフォルトの名無しさん
11/11/27 13:00:09.74
それが犯罪だと主張する根拠は?

770:デフォルトの名無しさん
11/11/27 13:01:26.79
さあ、コンパイラメーカーが訴訟を起こすかどうか決める事で、第三者が
とやかく首を突っ込む問題ではない

ただ明らかに契約違反の使い方だという書き込みを見つけたら通報は
しても意味はあると思う

771:デフォルトの名無しさん
11/11/27 13:05:31.14
>>769
割れ厨理論展開する?

772:デフォルトの名無しさん
11/11/27 13:07:24.21
>>729
>ふむ。確かに「C++Builder XE2 Architect - 30 day trial」というのが正確な呼び方ですね。
>でも 30日試用可なんですけど。あと IDE とかは起動しませんが、bcc32 6.31 は今でも使えますけれども?

>それも契約違反なんですかね?

14日間なんですけど
それに今でも使ってるって自分で言っちゃってるしアイタタタ

773:デフォルトの名無しさん
11/11/27 13:08:28.67
>明らかに契約違反の使い方だという書き込みを見つけたら通報は
>しても意味はあると思う

これは同意するが、明らかに契約違反の使い方だと断定する為には、
当人を特定した上で、その証拠がいるよ

774:デフォルトの名無しさん
11/11/27 13:10:33.66
しかし
URLリンク(edn.embarcadero.com)
では

登録が完了していない製品を起動すると、登録ダイアログ ボックスが表示されます。
14 日の猶予期間が経過したら、製品を Embarcadero Technologies に登録する
必要があります。登録が完了していないと、製品はシャットダウンし、動作が停止し
ます。製品を登録するには、次の項目が必要です。

と書いてあるしどっちが正しいんだろう?
俺試用せずに買ったから分からないんだよ

775:デフォルトの名無しさん
11/11/27 13:11:38.42
>>773
それもコンパイラメーカーの仕事でしょ
向こうが本気になれば警察でもFBIでも動かしてすぐ割り出せるから心配すんな
逆に「この程度の些細な事なら放置」となればそのままだろうし

776:デフォルトの名無しさん
11/11/27 13:15:37.52
民事の案件で、警察やFBIが動くの?

777:デフォルトの名無しさん
11/11/27 13:18:43.76
さ、放置
コテを外したQの相手をしていると俺も立派な荒らしだ

778:デフォルトの名無しさん
11/11/27 13:36:40.20
普段空気嫁とか言ってるやつらが主旨を読めないなんて、うんざり

779:デフォルトの名無しさん
11/11/27 13:42:42.35
2ちゃんねらが空気を読むなんて考えたか?w

780:デフォルトの名無しさん
11/11/27 13:51:49.14
空気と言うかスレタイを読んでくれ

781:デフォルトの名無しさん
11/11/27 13:53:04.81
土曜日に宿題がたんまり出されたのかと、ワクワクしてたのに。

どいつもこいつも釣られ杉だろ。

782:デフォルトの名無しさん
11/11/27 13:59:12.06
 ___  読めませ~ん
∥スレ  |     ∨
∥タイ ∧_∧   .ヘ∧
∥ \ ( ・∀・) (゚A●)
|| ̄ ̄⊂   )  (   と)
凵    し`J   U U

783:デフォルトの名無しさん
11/11/27 14:00:07.77
そんなに気になるならエンバカにメールでもだしとけよ

784:デフォルトの名無しさん
11/11/27 14:02:45.94
>>711
URLリンク(ideone.com)

785:711 ◆oYsh4lFZVQ
11/11/27 14:40:11.37
>>784
コンパイル、起動、結果全て完璧でした
これから全て読んで勉強させて貰います。どうもありがとうございました!

786: ◆QZaw55cn4c
11/11/27 16:52:05.12
おはようございます。
>>665 の回答 >>723 を作るのに疲れてうとうとしていたら、なんだか盛況ですねえ。

そんなに試用版を無断使用されるのが嫌ならメーカーが期限を超えての起動不可となるようにつくりこめればいいだけのことなのにね。
bcc32 -v -vG は便利なのでこれからも使わせていただきます。
それとも >>682>>683-685 と袋叩きにあって頭が沸いてしまったか?

787:デフォルトの名無しさん
11/11/27 16:59:58.66
煽るねぇw

788: ◆QZaw55cn4c
11/11/27 17:19:27.01
>>787
上達したでしょう?

789:デフォルトの名無しさん
11/11/27 17:38:50.29
実はとか意味がわからん
ただ煽ってるだけだろ
誰も彼も小学生の口げんかレベルだな

790:デフォルトの名無しさん
11/11/27 17:56:03.51
>>788
上達したよw

791:デフォルトの名無しさん
11/11/27 18:30:59.89
ここに質問に来る学生は何を思うのかとか考えた事無いのか?

792:デフォルトの名無しさん
11/11/27 18:35:44.44
Qはアスペの上に自己愛だからどうしようもない
檻に収監すべきレベル

793:デフォルトの名無しさん
11/11/27 18:42:07.45
おそるおそる・・・宿題ぢゃないけど、参考書の問題とけないので、ここに書いてもいいでしょうか・・・

794:デフォルトの名無しさん
11/11/27 18:48:24.24
宿題も参考書もこっちには区別つかないんだから何も言わず聞いちゃえばいいのに

795:デフォルトの名無しさん
11/11/27 18:50:10.62
起源なしにしちゃうと永遠に答えがもらえなかったりするけど

796:デフォルトの名無しさん
11/11/27 18:56:35.19
[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):
置換インデックスを作成するプログラムを作成しなさい。
例)
入力
The quick brown fox
jumped over the fence
出力
      The quick   brown fox
jumped over the   fence
The quick brown   fox
                  jumped over the fence
         jumped   over the fence
            The   quick brown fox
    jumped over   the fence
                  The quick brown fox
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: g++ 4.5.3
 [3.3] 言語: C++
[4] 期限: 2011年12月02日07:00まで
[5] その他の制限: algorithm,cctype,iostream,string,vectorヘッダを習いました。
struct,typedef,using namespace_name::nameも習いました。
classやtemplateキーワードを使ったプログラムはまだ習っていません。
ポインタもまだ習っていません。教科書はAccelerated C++です。
ブラウザからだと見づらいかもしれませんが、出力行の順に
brown fence fox jumped over quick the Theが縦に揃っています。

797: ◆EiEUm/qHNk
11/11/27 19:05:58.93
>>505
URLリンク(ideone.com)
38行めから55行目の間に
ピポッド選択と行の交換をしているのはわかるのですが
この部分を文章で説明する場合どうすれば良いのでしょうか

あと53行目と54行目の カンマの意味が分からないのですが
カンマを使わないで交換をできないでしょうか
一行に=が3つもあるのがよくわからないので・・・
長文失礼しました

798:デフォルトの名無しさん
11/11/27 19:09:39.85
>>796
全然分からん

799:デフォルトの名無しさん
11/11/27 19:11:39.43
>>796
Accelerated C++にやり方かいてあるけど、どこがわからないの?

800:796
11/11/27 19:34:48.07
1)1行ずつ読み込み←できる
  1語ずつローテートした文字列を作る←できる
2)ソートする←できる
3)元に戻して適当な空白を入れる←できない
すみません、出来上がった分のソースを綺麗にしてからupします。

801:デフォルトの名無しさん
11/11/27 19:50:02.37
>>797
「部分ピボット選択」だから、行を交換して係数が一番大きな行で割るテクニック
係数がゼロの行があっても解ける場合が多い

また、どうして行を交換しても良いのかと聞かれたら、「連立一次方程式は行を
交換しても解は変わりません」と答えて置けば良い

53~54行目は

t = a[i][j]; a[i][j] = a[k][j]; a[k][j] = t; // 行の交換
t = inv_a[i][j]; inv_a[i][j] = inv_a[k][j]; inv_a[k][j] = t; // 単位行列も行の交換を行う

と書き換えてください

これは、カンマ演算子を使うと要素の交換が一行で書けるために多用されるのですが
今回は二行になっているためカンマ演算子の意味が無くなっています

802:デフォルトの名無しさん
11/11/27 19:51:39.81
>>797
×係数が一番大きな行で
○係数の絶対値が一番大きな行で

本当はfabs()を使えば綺麗に書けるのだが、今回は使えないので
40~51行のように負だったら符号を反転している

803:デフォルトの名無しさん
11/11/27 20:15:47.14
>>724
設問1-3なのですが、「int x, y;」と宣言されていないので、「int x, y;」と宣言されているプログラムをお願いします。

804:デフォルトの名無しさん
11/11/27 20:42:07.03
>>802
38行から51行では、自分が入力した値で対角成分に0があった場合に、なにかしら
しているという処理なのでしょうか?
いまいちなにをしているのかがわからないので、プログラムに対する考えが
かけなくて困っています、、、すいません
fabsとかの代わりと書いていますが、調べてみたら絶対値を取るとかって書いて
いました、以上のことからあまり0が~とかっっていうのは考えてないのでしょうか?
長くなってすいません、、、

805: ◆EiEUm/qHNk
11/11/27 20:43:39.51
>>804
トリップつけ忘れました

806:デフォルトの名無しさん
11/11/27 20:50:15.54
>>796
URLリンク(ideone.com)
スニペット?を4語選択するルールがよく分からなかったので適当にやりました。

807:デフォルトの名無しさん
11/11/27 20:54:24.06
>>804
掃き出し法を手でやる場合を考えてみるとわかり易い
もし係数がゼロの場合に出くわしたらどうなる?割れないでしょ?
だから絶対値の一番大きな行で割るように入れ替えている

これは計算誤差を小さくするという利点もある
もし係数がゼロの行が3行あると行列式がゼロとなってしまい
正則行列ではなくってしまうから、逆行列が定義出来なくなため
23~24行で予め調べている

まず手で何かの行列の逆行列を求めて見るとすぐに理解出来る

808: ◆QZaw55cn4c
11/11/27 20:56:26.24
>>796
URLリンク(ideone.com)
Accelerated C++ の章末問題 5-1 (p98) ですね。当時作ったものをあげておきます。

809:796
11/11/27 21:36:16.57
>>806 >>808
ありがとうございます。読ませていただいて勉強します。
自分のコードを綺麗にしようとして、動かなくなっていますので、自分の分はupできなさそうです(^^;;
名無しにもどります。

810: ◆QZaw55cn4c
11/11/27 21:47:32.64
>>809
自分がいうのもなんですが、コードをアップすると得られる利益は大きいですよ。糞よばわりされて終わることもあるけれども、まあそれはそれ。

811:デフォルトの名無しさん
11/11/27 22:49:48.63
レビューして貰って突っ込まれて勉強する方が良いよ。

812:デフォルトの名無しさん
11/11/27 23:12:16.05
人のコード見れるってだけでも勉強になる

813:デフォルトの名無しさん
11/11/27 23:15:16.94
突っ込まれても馬耳東風のアホもいるけどな

814:デフォルトの名無しさん
11/11/27 23:21:51.34
>>813
それは突っ込み側の問題では?

815:デフォルトの名無しさん
11/11/27 23:24:05.85
いや明らかにアホがいる

816:デフォルトの名無しさん
11/11/27 23:28:30.54
>>815
では突っ込み対象のソースコードと突っ込みの内容を具体的に

817:デフォルトの名無しさん
11/11/27 23:33:17.72
free()の事かーーー

818:デフォルトの名無しさん
11/11/27 23:35:42.20
自分の書いたコードが糞である事を棚にあげて突っ込む方を批判するなど
見当違いもいい所だな

819:デフォルトの名無しさん
11/11/27 23:36:27.93
>>816
その手には二度と乗りませんよ

820:デフォルトの名無しさん
11/11/27 23:55:39.08
>>796
URLリンク(ideone.com)
冗長だけど。

821:デフォルトの名無しさん
11/11/28 00:03:08.66
>>818-819
具体的な話ができないのでは寝言をほざいているのと見分けがつかない

>>819
一度として突っ込めないのに「二度」?

822:デフォルトの名無しさん
11/11/28 00:50:57.86
[1] 授業単元:c言語プログラミング
[2] 問題文(含コード&リンク):(1,2,3) (1,2,4)...といった数列が続くのlist.txtを読み込み、
左の数字が同じかつ真ん中の数字も同じとき、右の数字が大きいものを削除し、link2.txtに書きこむプログラムを作りなさい。
(この場合、左が1と1かつ真ん中が2と2で右が3と4なので4の方が大きいので(1,2,4)を削除する)
[3] 環境 
 [3.1] OS: (Windows/Linux/等々)Linux debian
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C言語
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)11月30日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)特にありません。お願いします。

823:デフォルトの名無しさん
11/11/28 00:50:58.97
具体的に話しても全然理解しなかった例ならQの過去スレにあるぞw

824:デフォルトの名無しさん
11/11/28 01:04:33.10
[1] 授業単元: C言語とアルゴリズム
[2] 問題文(含コード&リンク):
初速v、仰角θを入力。着弾距離、着弾するまでの時間を求める。
<問題の意味>
vx=vcos(θ),vy=-gt+vsin(θ)
x=vtcos(θ),y=-gt^2/2+vtsin(θ)+y0
y=0,y0=0のとすると、
着弾するまでの時間は gt^2/2=vtsin(θ) > t=2*vsin(θ)/g
着弾距離はtがわかれば x=vtcos(θ)で求まる
[3] 環境
 [3.1] OS: (Windows/Linux/等々) :WinXP
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) :VC2008
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) :C
[4] 期限: 28日 AM6時まで
[5] その他の制限:構造体やポインタは習ってないので使用しないで貰いたいです
よろしくお願いします。math関数の存在は習いました。


825:デフォルトの名無しさん
11/11/28 01:32:31.39
>>822
>[2] 問題文(含コード&リンク):(1,2,3) (1,2,4)...といった数列が続くのlist.txtを読み込み、

入力ファイルは改行区切り?
あと、(1,2,3) (3,3,3)(1,2,4)...のように、間に別の数値がある場合でも、(1,2,4)は削除?

826:デフォルトの名無しさん
11/11/28 01:38:13.86
>>825
説明不足ですいません。
改行区切りです。
間に別の数値があっても(1,2,4)は削除です。

おねがいします。

827:デフォルトの名無しさん
11/11/28 01:43:30.81
>>826
> 右の数字が大きいものを削除し、
list.txtから削除するってこと?
> link2.txtに書きこむ
削除した数列をlink2.txtに書き込むってこと?

828:デフォルトの名無しさん
11/11/28 01:44:13.28
>>824
URLリンク(ideone.com)

829:デフォルトの名無しさん
11/11/28 01:45:33.42
>>827
またまた説明不足ですみません。

list.txtには手を加えずに、list.txtから削除した数列を除いたものをlist2.txtに書きこむようです。

830:デフォルトの名無しさん
11/11/28 01:54:47.87
>>826
>間に別の数値があっても(1,2,4)は削除です。

in (1,2,4)(3,3,3)(1,2,3)
out (3,3,3)(1,2,3)
でok?

831:デフォルトの名無しさん
11/11/28 02:03:02.68
>>830
はい!それでokです。

832:デフォルトの名無しさん
11/11/28 02:29:35.44
>>822
入力データ行数は、適当に1000件としてみた。
URLリンク(ideone.com)

833:832
11/11/28 02:38:20.98
>>832
X for (j = 0 + 1; j < n; j++) {
O for (j = 0; j < n; j++) {
として下さい。

834:デフォルトの名無しさん
11/11/28 02:40:13.39
>>828
感謝です

835:デフォルトの名無しさん
11/11/28 02:56:59.73
>>822
3つの数字全てが同じだった時の挙動がわからなかったので、その場合先出の数列を削除するようにしてあります。
URLリンク(ideone.com)

836:デフォルトの名無しさん
11/11/28 03:36:37.32
>>824 角度はラジアン?

837:デフォルトの名無しさん
11/11/28 03:56:03.81
Qは屁理屈を言わせると天才的だな
しかしその屁理屈もここの住人を超うんざりさせる事にしか役に立ってない
一生嫌われ者で終わるだろうね

838:デフォルトの名無しさん
11/11/28 04:10:04.79
>>826
左の数字と真ん中の数字が一致したグループができたら、
右が一番小さい数字のものだけ残すということかな?

839:デフォルトの名無しさん
11/11/28 05:47:23.44
>>824
速攻で作ったからあってるかわからん
#include <stdio.h>
#include <math.h>
#define g 9.80665
#define PI 3.14159265358979323846
#define RAD(r) ((r)/(180*PI))
int main()
{
double v,kakudo;
double vx,vy,t,h,x;
puts("初速度を入力してください");
scanf("%lf",&v);
puts("角度を入力してください");
scanf("%lf",&kakudo);
vx = v*cos(RAD(kakudo));
vy = v*sin(RAD(kakudo));
h = (vy*vy)/(2*g);
t = (sqrt(h/(2*g)))*2;
x = t*vx;
printf("着弾までの時間 = %lf, 着弾までの距離 = %lf(m)\n",t,x);

return 0;
}

840:デフォルトの名無しさん
11/11/28 05:54:02.54
ひどいな

841:839
11/11/28 06:07:42.75
>>840
たしかにひどすぎた。
改良、改定よろしく。

842:デフォルトの名無しさん
11/11/28 06:20:00.52
自分で直すように努力しないと、いつまでたってもバカのままだよ?

843:デフォルトの名無しさん
11/11/28 07:19:10.50
全国初!ローソン、「けいおん!」とのコラボ店舗が本日オープン!外観はもちろん店内BGMまで「けいおん!」一色!
2011年11月27日 12時29分

 [シネマトゥデイ映画ニュース] 27日、アニメ「けいおん!」と大阪府・大阪市の
「ローソン ホテル京阪ユニバーサルタワー店」のスペシャル・コラボレーションが開始され、
店舗外観はもちろん、店内BGMにいたるまで「けいおん!」一色となった全国初のローソンが誕生した。
これまでにも「エヴァンゲリオン」や藤子・F・不二雄作品とコラボレーションしてきたローソンならではの
今回の試みは、12月29日まで行われる予定だ。

 今回、「けいおん!」とコラボを果たしたのは、ユニバーサル・スタジオ・ジャパン(USJ)の近くにある
「ローソン ホテル京阪ユニバーサルタワー店」。これまでにもローソンは「けいおん!」関連の
キャンペーンを行っており、今月22日には「けいおん!フェア」第3弾を開始したばかり。
今回のコラボは、そういったことに加え、27日にUSJにて「『映画 けいおん!』公開直前記念イベント」が
行われること、さらには同店店長が大の「けいおん!」ファンということで実現した。
外観の装飾なども含め、ここまで大規模に「けいおん!」とコラボしたローソン店舗は全国で初めてだという。

 当日は、0時ちょうどから外観の装飾が開始された。劇中バンド「放課後ティータイム」の
メンバー5人のシールがウインドウに貼り付けられるだけでなく、店内BGMは「けいおん!」関連の楽曲、
店内には「けいおん!」特設コーナー、店舗スタッフも「けいおん!」特製ジャンパーを着用しての接客……
とまさに「けいおん!」尽くし。背中に「K-ON!」の文字が入った赤いジャンパーは今回のためだけに
作られたといい、ここでしか見ることのできない貴重なものとなっている。

続きはソースで
URLリンク(www.cinematoday.jp)
「けいおん!」とコラボした「ローソン ホテル京阪ユニバーサルタワー店」
URLリンク(s.cinematoday.jp)
『映画 けいおん!』場面写真
URLリンク(s.cinematoday.jp)
URLリンク(s.cinematoday.jp)

844:デフォルトの名無しさん
11/11/28 07:52:07.43
>>823
素数の話なら勘弁。確かに今でもほとんど理解していない。でも、正直なところ理解したいとも思っていない。
それ以外ならなんだろう?何の話かちょこっとだけ教えてほしい。

頭は悪いほうだから理解できないことは多々あるだろうと思う。
それでもわからないと自覚しているのなら、「わからない」と明言していることであろう。
無論、わかっていないことすら自覚していないこともあるだろう。

>>837
うんざりするのは勝手だが、この程度で音をあげるようではまともなお仕事すらできないのでは?
それとも私の職場はそろいもそろって理屈こきの巣窟なのだろうか?まあ窓際煉獄部署といえなくもないのではあるが。

845:デフォルトの名無しさん
11/11/28 08:03:40.20
>>839
>#define RAD(r) ((r)/(180*PI))
#define RAD(r) ((r) * PI / 180.0)

>printf("着弾までの時間 = %lf, 着弾までの距離 = %lf(m)\n",t,x);
l はいらない。%f でよい。

846:デフォルトの名無しさん
11/11/28 08:33:52.42
>>844
URLよろしく>素数の話

847:デフォルトの名無しさん
11/11/28 08:54:50.83
Qはちゃんとコテつけてくれ

848:デフォルトの名無しさん
11/11/28 12:24:23.77
>>833
ありがとうございました!
助かりました。

849:デフォルトの名無しさん
11/11/28 12:25:10.91
>>835
>3つの数字全てが同じだった時の挙動がわからなかったので、その場合先出の数列を削除するようにしてあります。
その仕様がありがたいです。
本当にありがとうございました。

850:デフォルトの名無しさん
11/11/28 12:43:48.65
>>844
その素数の話のURL貼ってもらえますか

851:デフォルトの名無しさん
11/11/28 12:49:12.45
>>850
【モリタポ有償】C/C++の問題を片付けます(2)
URLリンク(hibari.2ch.net)

534 名前: ◆QZaw55cn4c [qzaw55cn4c@a.email.ne.jp] 投稿日:2011/04/25(月) 21:03:10.67
>>516
URLリンク(codepad.org)
スレリンク(tech板:439番) の指摘を受けて細かいところを変更しました。
>素数の調べ方がクソ
エラトステネスのふるいは必要なメモリ容量が半端でないので、「クソ」かもしれませんが、素朴な方法にしました。10万までなら、(私の環境では)十分な速度が出ています。
しかし、割り算を二回実行してしまうのはなんとかしたいと思いつつも改良できないでいます。
>ループにも無駄が多すぎ
ちょっとだけましになったと思います。

592 名前:581 ◆QZaw55cn4c [PhenomII x6 が放置状態‥‥] 投稿日:2011/04/27(水) 05:53:22.39
>>591
>for(i = 2, max_len = 0; i * max_len < N; i++) {
を説明していただけませんでしょうか。
ベルトランの仮説(チェビシェフにより証明)を利用していると思われるんですが、
i から 2i の間に素数があっても、2i から 3i の間に素数があるかどうかはわかりません。

もっともここを
for (i = 2, i < N; i++)
にしてみたところで、
URLリンク(codepad.org)
爆速なんですけれども。(それか、codepad を速度判定に用いるのは精度がよくないですね。)

それにしてもエラトステネスのふるいの威力は見損じていました。sierve[i] で素数判定できるのには太刀打ちできません。

削除申請を出しました。
スレリンク(saku板:337番)

852:デフォルトの名無しさん
11/11/28 12:50:06.13
614 名前: ◆QZaw55cn4c [sage] 投稿日:2011/04/27(水) 07:54:07.83
>>599
最初の素数 p があったとして、その次が 2p までにあることはベルトランの仮説により証明されているようです。まあ実際は、素数はもっと詰まっていますが。
p と len_max の二つの情報にベルトランの仮説を用いて探索範囲を狭めるのならば、p * (2^(len_max - 1) < i でしょうね。(^ はここではべき乗)
素数の間隔に関する単純な定理が他にあるかどうかは、調べてみましたがよくわかりませんでした。素数分布に関するものならいくつかありますが。

617 名前: ◆QZaw55cn4c [sage] 投稿日:2011/04/27(水) 08:08:33.63
>>610
i の探索範囲が狭まると、狭まった分だけループの回数が減りますが、本当に減らしてもいいのでしょうか、という問題です。
たしかに実質 >>602 で len_max 個分の隣り合う素数を足しこんで N 以上であれば打ち切っていますが、これは実際にスキャンして調べているわけでその分計算量を要しています。
でも、だからといって、i * len_max が N を超えたら実際に調べなくともいい、とは限らないと考えています。

>>592 で影響の度合いの確認はとっています。

853:デフォルトの名無しさん
11/11/28 13:17:03.73
ちょ、まって、その話について、まだ理解がおぼつかないって言ってんのか?

854:デフォルトの名無しさん
11/11/28 13:29:32.23
小学生レベルの足し算の話なんだけどねえ

855:デフォルトの名無しさん
11/11/28 13:36:03.43
「理解しました」

618 返信: ◆QZaw55cn4c [sage] 投稿日:2011/04/27(水) 08:13:28.09
>>599
>最初の数字より大きいものしか続かないわけだから、i * max_len < N よりも少なくていいはず。

なるほど。やっと理解しました。
これでお開きとします。いろいろと説明ありがとうございました。

856:デフォルトの名無しさん
11/11/28 13:36:44.63
2 + 3 + 5がある数より大きければ、3 + 5 + 7は当然その数より大きい
これが理解できない人がいるんだぜ

857:デフォルトの名無しさん
11/11/28 13:41:01.96
Qはウンコ

858:デフォルトの名無しさん
11/11/28 13:53:24.92
今頃寝てるのかな?そして夜起きだして宿題を解く毎日w

859:デフォルトの名無しさん
11/11/28 14:47:15.45
Qのアホさはこれが分かりやすいと思う

641 名前:デフォルトの名無しさん[] 投稿日:2010/05/13(木) 16:05:13
このスレの住民の方には楽勝かもしれませんがお願いします

場合の数を計算するときに、いわゆる「nCr」というものを使うことがある。これは、順番を特に決めない場合、n個のものからr個のものを取り出す場合をいい、
7C5 = 7! / (7-5)!5!
である。nCrであれば
nCr = n! / (n-r)!r! (但し、0≦r≦n)

この数を計算したい。
1. nとrを入力させる。
2. n!を計算させる
3. (n-r)!を計算させる
4. r!を計算させる
5. (2)/(3)/(4)を計算する

しかしn!と(n-r)!がかなりの部分まで重複することを利用すれば、かなり計算の手間を省くことができる
1から5の手順まで守ったプログラムと手間を省いたプログラムをそれぞれ作成しなさい

660 名前: ◆QZaw55cn4c [sage] 投稿日:2010/05/14(金) 00:11:21
>>641
当方の環境は Windows/cygwin、処理系は gcc 3.4.4 です。
URLリンク(ideone.com)
f1() は定義どおり、f2() は再帰関数(漸化式)を用いました。

661 名前:デフォルトの名無しさん[sage] 投稿日:2010/05/14(金) 00:17:44
題意を把握していないw

662 名前:デフォルトの名無しさん[sage] 投稿日:2010/05/14(金) 00:31:13
>>661
そですかね。掛け算を足し算に変えたんですけど、これってやっぱり「計算の手間を省いた」ことにはならないんですかね。

860:デフォルトの名無しさん
11/11/28 14:55:40.17
[1] 授業単元: C言語とアルゴリズム
[2] 問題文(含コード&リンク):
文字列st が回文(前から読んでも後ろから読んでも
同じ)であれば1 を,そうでなければ0 を返す関数
int isPalindrome(const char st[])
を作成せよ.以下の実行例のように,関数の動作を確認
できるmain 関数も作成すること.
<実行例>
./5-4
文字列を入力してください:AKASAKA
その文字列は回文です。

% ./5-4
文字列を入力してください:tomato
その文字列は回文ではありません。
[3] 環境
 [3.1] OS: (Windows/Linux/等々) :linux
 [3.2] コンパイラ名とバージョン:(gcc 3.4
 [3.3] 言語:C
[4] 期限: 29日 AM6時まで
[5] その他の制限:構造体やポインタは習ってないので使用しないで貰いたいです
よろしくお願いします。math関数の存在は習いました。

861:デフォルトの名無しさん
11/11/28 15:06:21.32
>>860
#include <stdio.h>

int isPalindrome(const char st[])
{
char *p, *q;

for(p = st; *p; p++);
for(q = st, p--; q < p; q++, p--) if(*p != *q) return 0;

return 1;
}

int main(void)
{
char st[256];

printf("文字列を入力してください:");
scanf("%s", st);

printf("その文字列は回文で%s。\n", isPalindrome(st) ? "す" : "はありません");

return 0;
}



862:デフォルトの名無しさん
11/11/28 15:17:20.10
>>859
アホ過ぎるw

863:デフォルトの名無しさん
11/11/28 16:12:11.13
>>715
お礼が遅くなりすみませんでした。
課題を手伝っていただき、ありがとうございました。

864:デフォルトの名無しさん
11/11/28 16:35:06.57
[1] 授業単元:リスト構造
[2] 問題文(含コード&リンク):
URLリンク(codepad.org)

例えば、学籍番号として 181 など 存在しない学生の番号を入力して実行すると、
エラーを生じてプログラムが停止してしまうリンク先のコードは不完全である。
そこで、存在しない学生の番号を入力した場合には、
「その番号の学生は、いません。」のエラーメッセージを表示するように、プログラムを改良せよ。

[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:VC2008
 [3.3] 言語:C
[4] 期限:12/3まで
[5] その他の制限:リンク先のコードを元に改良してください

865:832
11/11/28 16:36:43.38
>>860
URLリンク(ideone.com)

866:デフォルトの名無しさん
11/11/28 16:48:46.87
>>864
URLリンク(ideone.com)


867:デフォルトの名無しさん
11/11/28 19:20:23.97
iPhoneなどスマートフォンアプリ記述の標準言語はJavaやなんといっても
Objective-C
このマイナーだったプログラミング言語もようやく市民権を得た観があります。
今後Objective-Cを用いた課題も出ることでしょう。
このスレもObjective-Cに対応しなければならないかもしれません。
大丈夫でしょうか?>>QZさん

868:デフォルトの名無しさん
11/11/28 19:32:48.80
[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):リンク先上部に問題文があります。
URLリンク(ideone.com)
[3] 環境
 [3.1] OS:Linux
 [3.2]コンパイラ:gcc
 [3.3] 言語:C
[4] 期限: 2011年12月2日0:00まで
[5] その他の制限: 再帰法を使うこと、途中までプログラミングを行ったのですが
再帰法が今一つ分からずデバッグできません。誤り箇所を訂正する形でお願いします。


869:デフォルトの名無しさん
11/11/28 19:32:58.28
>>867
専用スレあるから。

870:デフォルトの名無しさん
11/11/28 19:34:51.26
>>868
int Max(i,j,Max)
このMaxはポインタでないとだめなんじゃない?
最大値を返却するように変えてもいいと思うけど。

871:デフォルトの名無しさん
11/11/28 19:36:02.11
あと、関数名と変数名がかぶってるのもエラーの一つ

872:デフォルトの名無しさん
11/11/28 20:07:50.22
>>870 >>871
ありがとうございます。ポインタは忘れてしまったので
返却する方法でプログラミングしました。

無事に完成しました。ありがとうございました。

873:デフォルトの名無しさん
11/11/28 20:40:10.41
ももちゃん

874:デフォルトの名無しさん
11/11/28 20:45:32.95
>>862
うーん、今でも掛け算より足し算のほーが、楽なんじゃないかと思ってしまうんですけれども‥‥‥。
まあ、r! または (n-r)! まで計算して、その結果を取り置いておき、続きを n! まで計算する、ていうのがまっとうなんでしょうね。

875:デフォルトの名無しさん
11/11/28 20:54:08.57
[1]プログラミング実習
[2]
表面に色が塗られたサイコロが二つあります
それぞれ共に
赤が3面
青が2面
緑が1面
あります
二つのサイコロを同時に振ると色の組み合わせは
1)赤赤
2)赤青
3)赤緑
4)青青
5)青緑
6)緑緑
の6通りありますが
出やすい組み合わせの順に並び替えて出力しなさい
[3]C
[4]11/30
[5]標準ライブラリのみでコンソールに出力すること

876:デフォルトの名無しさん
11/11/28 20:58:37.94
>>874
これだけ馬鹿にされても自分が正しい、間違っているのは相手の方、と決めつけて
いる辺りが本物の馬鹿だと思うね

877:デフォルトの名無しさん
11/11/28 21:00:38.64
>>874
> しかしn!と(n-r)!がかなりの部分まで重複することを利用すれば、かなり計算の手間を省くことができる
この省き方をしろって言ってると思うよ。

878:よろしくお願いします
11/11/28 21:16:36.02
[1] C言語演習
[2] キーボードから8回、11から18までの数字を読み取り、得られた5つの数字を
大きい順に表示して改行するプログラムを書きなさい。
ただし、以下のコードの空白を埋めるようにしなさい
#include <stdio.h>
int readNumber(){
char data[32],*p;
int m;
do{p=fgets(data,32);if(p==NULL)return 11;m=atoi(data);}while((m<11)||(m>18));
return m;
}
int main(void){
int x;
この部分にコードを追加して,要求を満たすようにすること
return 0;
}
[3-1] Mac OSX(Snow leopard)
[3-2]Gcc 4.6
[3-3]C言語
[4] 12/1まで

879:878
11/11/28 21:17:46.72
訂正です
×得られた5つの数字を
●得られた8つの数字を


880:デフォルトの名無しさん
11/11/28 21:19:37.48
>>877
いつの間にか人の手柄を自分の手柄のように横取りしてしまうのも
Qの自己愛の特徴です

881:878
11/11/28 21:22:11.64
すみません。
再度訂正させてください
×do{p=fgets(data,32);if(p==NULL)return 11;m=atoi(data);}while((m<11)||(m>18));
○do{p=fgets(data,32,stdin);if(p==NULL)return 11;m=atoi(data);}while((m<11)||(m>18));
他にも間違って写している部分があるかも知れませんがよろしくお願いします

882:864
11/11/28 21:22:32.09
[1] 授業単元:リスト構造
[2] 問題文(含コード&リンク):

URLリンク(codepad.org)
例えば、学籍番号として 181 など 存在しない学生の番号を入力して実行すると、
エラーを生じてプログラムが停止してしまうリンク先のコードは不完全である。
そこで、存在しない学生の番号を入力した場合には、
「その番号の学生は、いません。」のエラーメッセージを表示するように、プログラムを改良し、
双方向リスト構造 Doubly-linked List を用いて作成せよ。
[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:VC2008
 [3.3] 言語:C
[4] 期限:12/3まで
[5] その他の制限:リンク先のコードを元に改良してください


883:832
11/11/28 22:48:42.43
>>882
while( pointer_student && pointer_student->number != in_number )
pointer_student = pointer_student->pointerNext;
if(pointer_student)
printf("学籍番号 %d の学生の苗字は %s です。¥n", pointer_student->number, pointer_student->name );
else
printf("「その番号の学生は、いません。」¥n");

/* if( pointer_student->number == in_number ) { */
/* printf("学籍番号 %d の学生の苗字は %s です。¥n", pointer_student->number, pointer_student->name ); */
/* } else { */
/* while(1) { */
/* pointer_student = pointer_student->pointerNext; */
/* if( pointer_student->number == in_number ) { */
/* printf("学籍番号 %d の学生の苗字は %s です。¥n", pointer_student->number, pointer_student->name ); */
/* break; */
/* } */
/* } */
/* } */

884:デフォルトの名無しさん
11/11/28 22:51:02.28
>>882
Line94 pointer_student = pointer_student->pointerNext; の次に以下を追加

if( ! pointer_student ) { printf( "その番号の学生は居ない\n" ); return 0; }


885:デフォルトの名無しさん
11/11/28 23:08:57.39
>>874
その、まっとうだと思ってる方法でちょっとコード書いてみて。
割と最近宣言してたように、口数少なく、コードで示す方向で。

886:832
11/11/28 23:16:33.32
>>878
URLリンク(ideone.com)

887: ◆QZaw55cn4c
11/11/28 23:27:36.26
>>882
URLリンク(ideone.com)

888:デフォルトの名無しさん
11/11/28 23:43:27.35
>>887
気持ちは判るけどそこまで書き直しちゃ駄目だろ
次に関数を用いて書き直せって問題が出るかも知れないし

889: ◆QZaw55cn4c
11/11/28 23:55:07.49
>>885
URLリンク(ideone.com)

890:デフォルトの名無しさん
11/11/29 00:06:36.25
>>889
うーん。
中学か高校かもう忘れちゃったけど、
たとえば、 5! / (5 - 2)! を計算する時に
(5 * 4 * 3 * 2 * 1) / (3 * 2 * 1) とかいて、 3 * 2 * 1 は分母、分子ともにあるから、取り払って
(5 * 4) にする、みたいな記憶はない?

891:デフォルトの名無しさん
11/11/29 00:07:44.14
うまくいかなかったので、わかる方、お手数ですがもう1度お願いします。

問題

一つの行に、n個の “ “(空白)に続いてm個の “*”を順番に出力する関数 void putzs(int n, int m)を作成せよ。
更にこれを用いて no段のピラミッドを描くプログラムを作成せよ。


no=3の場合

- *
- ***
- *****

よろしくお願いします。



892:デフォルトの名無しさん
11/11/29 00:08:04.78
> n!と(n-r)!がかなりの部分まで重複することを利用すれば、かなり計算の手間を省くことができる
この、重複って言うのは、>>890 でいうところの、(3 * 2 * 1)ね。
その工夫を求められてるんだよ。

893:デフォルトの名無しさん
11/11/29 00:11:52.79
>>891
>>2
あと何がどううまくいかないのか書けよ

894:デフォルトの名無しさん
11/11/29 00:15:41.33
>>892
その簡単な日本語が理解できないのが頭悪いと言われる理由

895:デフォルトの名無しさん
11/11/29 00:19:58.95
>>891
#include <stdio.h>

void putzs(int n, int m)
{
while(n--) putchar(' ');
while(m--) putchar('*');
}

int main(void)
{
int i, no;

scanf("%d", &no);

for(i = 1; i <= no; i++) {
putzs(no - i, i * 2 - 1);
putchar('\n');
}

return 0;
}

896:デフォルトの名無しさん
11/11/29 00:20:46.72
ここは「そんなこともわからねーのか」成分が多すぎる気がするのでなんとなく。
宿題貼った生徒が見て理解できればそれでいいし。

897:デフォルトの名無しさん
11/11/29 00:27:11.20
やっと>>859の問題ができた・・・
URLリンク(codepad.org)
たぶん合ってると思うけど・・・
自分の頭の悪さ加減が嫌になってくる・・・

898:デフォルトの名無しさん
11/11/29 00:36:08.88
int nCr(int n, int r)
{
int i, ret = 1;

if(n < r * 2) r = n - r;

for(i = 1; i <= r; i++, n--) {
ret *= n;
ret /= i;
}

return ret;
}

899: ◆QZaw55cn4c
11/11/29 00:37:54.46
>>890 >>892
それはすでにしている。プログラム中の f(), g(), h() を使って表現すると、
g(10, 3) = 10 * 9 * 8
f(3) = 3 * 2 * 1
10C7 = h(10, 7) = g(10, 3)/f(3) = (10 * 9 * 8) / (1 * 2 * 3)
もっとよく読んでほしい。

>>897
n - r < r のときの工夫が足りない。

900: ◆QZaw55cn4c
11/11/29 00:41:29.35
>>898
途中で ret が小数点含みになる可能性はないのか?

901:デフォルトの名無しさん
11/11/29 00:43:23.26
>>895

ありがとうございます。


902:デフォルトの名無しさん
11/11/29 00:45:16.51
連続したn個の整数の中にはnで割り切れる数が当然含まれる事が理解できないバカっぷり

903: ◆QZaw55cn4c
11/11/29 00:54:47.45
>>902
なるほど理解した。感謝。

904:デフォルトの名無しさん
11/11/29 01:00:50.40
ちょっと考えればわかることなのに、本当に頭悪すぎだな

905:デフォルトの名無しさん
11/11/29 01:20:55.33
頭が悪い人に、「頭悪いな」とか言ってやるなよ。
頭が悪い人間でも、頭が悪いなりに一生懸命いきているんだよ。たぶん。
頭悪いとか言われると傷つくんだぞ。
あんまり、頭悪い、頭悪いと言っていじめてやるなよ。

906:デフォルトの名無しさん
11/11/29 01:28:18.39
>>875
URLリンク(ideone.com)

907:デフォルトの名無しさん
11/11/29 01:28:21.12
>>875
URLリンク(codepad.org)

908:デフォルトの名無しさん
11/11/29 01:35:39.54
感覚的に赤青が多そうな気がする

909:デフォルトの名無しさん
11/11/29 01:47:52.25
足して1にならないのに間違ってるって気づかないとかアホすぎる

910:デフォルトの名無しさん
11/11/29 01:52:04.83
RR 9 通り
RB 12 通り
RG 6 通り
BB 4 通り
BG 4 通り
GG 1 通り

911:デフォルトの名無しさん
11/11/29 02:09:12.75
本当にアホだった

訂正
>>875
URLリンク(codepad.org)

912:デフォルトの名無しさん
11/11/29 02:15:09.81
>>905
自作自演ウザス
こいつは頭が悪いというよりは、人の話を聞く耳を全く持たないと言う方が近いな
自分のやり方を頑なに突き通し、人のアドバイスは全く受けない
だから当然新しい進歩も皆無

宿題スレでも題意はもちろん無視して結果だけ正しければそれで良しとする
バグを含んでいても前々スレの流れを見ていても分かるように自分にとって都合の悪い
指摘は全部完全無視

こいつが嫌われる理由が分かった

913:デフォルトの名無しさん
11/11/29 02:26:16.43
>>875
やっつけ仕事だけど
#include <stdio.h>
int main()
{
int i,j;
int deme[7][2] = {0};
int d[] = {0,0,0,1,1,3};
char c[][3] = {"赤","青","","緑"};
char p[][5] = {"赤赤","赤青","赤緑","青青","青緑","","緑緑"};
for (i=0;i< 7; i++){deme[i][0] = i; deme[i][1] = 0;}
for (i=0;i< 6; i++){
for (j=0;j< 6; j++){
int m = d[i]+d[j]; deme[m][1]++;
printf("%s%d%s%d\n",c[d[i]],i+1,c[d[j]],j+1);
}
}
for (i=0;i< 6; i++){
for (j=i;j< 7; j++){
if(deme[i][1]<deme[j][1]) {
int t = deme[j][1]; deme[j][1] = deme[i][1]; deme[i][1] = t;
t = deme[j][0]; deme[j][0] = deme[i][0]; deme[i][0] = t;
}
}
}
for (i=0;i< 7; i++){
if (p[deme[i][0]][0] != 0) printf("%s (%2d)\n",p[deme[i][0]],deme[i][1]);
}
return 0;
}

914:839
11/11/29 02:29:36.16
>>842
遅レスだけど
5分でデバッグなしで作ったんだよ~
ほかにも考慮する部分あるけど
馬鹿にしないでくれよ~

915:デフォルトの名無しさん
11/11/29 02:33:13.69
>>899
よくよんでないんだけど、20C10って117であってんの?

916:デフォルトの名無しさん
11/11/29 02:35:42.52
オーバーフローしてる

917:デフォルトの名無しさん
11/11/29 02:36:42.64
なるほど

918:デフォルトの名無しさん
11/11/29 02:39:20.87
>>914
他にも突っ込みどころはあるけど
>#define RAD(r) ((r)/(180*PI))
これはひどすぎるだろw

919:839
11/11/29 02:58:27.10
>>918
ごめんよ~ごめんよ~

920: ◆EiEUm/qHNk
11/11/29 06:18:53.28
URLリンク(ideone.com)
URLリンク(ideone.com)
大変申し訳ないのですが、forやifのあとに
{
がないのですが、付け足しては貰えないでしょうか、、、

921:デフォルトの名無しさん
11/11/29 07:31:56.70
それぐらい自分でやれよwww

922:デフォルトの名無しさん
11/11/29 07:35:45.55
C言語習ってないのかよw

923: ◆QZaw55cn4c
11/11/29 07:55:06.55
>>912
自演認定ご苦労。
バグは判明した分についてはほぼ訂正を入れるようにしているのだが、抜けがあるのか?

>>902
ちょっと考えていたが、例えば、n(n-1)(n-2)(n-3) は 2, 3, 4 の各々で割り切れるからといって、2 * 3 * 4 で割り切れるかどうかの保障はない。
>>898 のループ各回の割り算の直後の ret は nC1, nC2, nC3 ... になっているのでほぼ自明だが、厳密にいえば、nCm が整数であることを証明しないかぎり >>902>>900 の説明になっていない。
ともあれ、>>898 はオーバーフローの心配が少ないいい方法だ。

924:デフォルトの名無しさん
11/11/29 08:00:25.58
馬鹿すぐる

925:デフォルトの名無しさん
11/11/29 08:07:24.27
>例えば、n(n-1)(n-2)(n-3) は 2, 3, 4 の各々で割り切れるからといって、2 * 3 * 4 で割り切れるかどうかの保障はない。
反例を示してくれ

あ、触ったらいけなかったか?

926:デフォルトの名無しさん
11/11/29 08:26:55.57
(ノ∀`)'`,、'`,、'`,、'`,、'`,、

Qって真性のアホだよな
自分の主張を通すなら間違っている事も正しい事にするのか?
朝鮮人みたいだ

927:デフォルトの名無しさん
11/11/29 08:32:49.45
俺が理解できないこと=誰も証明できないこと
なんだな、Qの中では

928:デフォルトの名無しさん
11/11/29 08:35:02.52
>>927
そう、その「自分が世界で一番頭が良くて偉い」という価値観こそが自己愛の
最大特徴なんだよ

傍から見ていると滑稽で仕方がないんだがなwww

929:デフォルトの名無しさん
11/11/29 11:53:50.39
> その「自分が世界で一番頭が良くて偉い」という価値観

それは有る意味で尊敬に値するぞ、社会を知らないって事は幸せなんだw

930:デフォルトの名無しさん
11/11/29 12:24:47.68
裸の王様だよな

931: ◆QZaw55cn4c
11/11/29 12:33:54.38
>>925
反例はないだろう。nC4 は整数であることは経験的に自明だから。それは >>923 の後半でも述べている。

>>902 の記述だけでは >>900 の説明としては足りないのではないか?と考え考えしているだけなのだが。
こういえばよかったか?
「N が 2, 3, 4, のすべてで割り切れるからといって N は 2 * 3 * 4 で割り切れるとは限らない」
nCm が整数であることはどうやって証明すればいいのだろうか?

>>926-929
なんでそういう解釈となるのか理解に苦しむ。


932:デフォルトの名無しさん
11/11/29 12:33:58.51
>例えば、n(n-1)(n-2)(n-3) は 2, 3, 4 の各々で割り切れるからといって、2 * 3 * 4 で割り切れるかどうかの保障はない。
こんなバカが偉そうな態度とってりゃ、ムカつく人間も出るわなw

933:デフォルトの名無しさん
11/11/29 12:35:29.64
「N が 2, 3, 4, のすべてで割り切れる」だと4で割り切れるうちに2で割り切れるのも含まれるからとかバカなこと考えてるんだろうなw

934:878
11/11/29 12:40:45.22
>>886
ありがとうございました。
変数の追加をすれば良かったのですね。
なかなか思いつかない発想だと思います。

935:デフォルトの名無しさん
11/11/29 12:41:57.22
Qの主張は現代高校教育の数学において、証明できていない事をもとにした計算方法を教えてるってことになるなw

936:デフォルトの名無しさん
11/11/29 12:46:12.84
>>724
有難う御座います

937:デフォルトの名無しさん
11/11/29 12:46:41.07
Qは自分の>>889のやり方も割り切れると証明されてないと主張してることに気づいているんだろうか

938:デフォルトの名無しさん
11/11/29 13:01:41.03
>>937
気付いてないだろ
Qは真性の馬鹿だから

939:デフォルトの名無しさん
11/11/29 13:03:15.44
>>931
>>>926-929
>なんでそういう解釈となるのか理解に苦しむ。

そりゃQには理解出来ないだろうよ
人格障害なんだから
理解出来たら今までの厚顔無恥な発言は二度と恥ずかしすぎて出来なくなる

940:デフォルトの名無しさん
11/11/29 13:05:00.16
おまけに割れ厨を正当化して公言しちゃってるもんな
警察に目を付けられてるかもしれんぞ

941:デフォルトの名無しさん
11/11/29 13:07:35.91
算数っていうのはある種の人にとっては超能力なんだよ^^
高校でベクトルと行列と複素数が表裏一体であると教わっても
クラスの半数くらいの人間が「何を言っているのだ」と感じるのと一緒
マッサー先生は「プログラマは生涯数学の勉強をしないさい」と書いてたけど
算数の才能のない人はプログラマにはなれず、せいぜいコーダ止まりなんだなと
今更ながらに思うまんこ。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch