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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
あなたが解けない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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

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

【前スレ】
C/C++の宿題を片付けます 81代目
http://pc10.2ch.net/test/read.cgi/tech/1168663908/
2デフォルトの名無しさん:2007/01/24(水) 03:16:27
【質問テンプレ】
[1] 授業単元:高校
[2] 問題文(含コード&リンク): 自然数を入力してその自然数の約数を全て画面に表示させるプログラムを作成せよ

[3] 環境 ポケコン
[3.3] 言語: C++
[4] 期限: ([2007年01月24日04:00まで]
3デフォルトの名無しさん:2007/01/24(水) 03:17:32
【重要】
・課題に動作で必要なファイルがある場合にはロダにUPする事、回答者に作らせてはならない
なければ質問者が作る

・回答の督促は禁止
但し、スレ中の全未回答問題レス番号を張る場合のみ許可とする
4デフォルトの名無しさん:2007/01/24(水) 03:18:18
期限まであと41分
5デフォルトの名無しさん:2007/01/24(水) 03:23:58
>>2
低速版
#include<iostream>
int main(void){
int i, value;
std::cout << "Input value : ";
std::cin >> value;
for(i=1;i<=value;i++)
if(value%i==0)
std::cout << i << std::endl;
return 0;
}
6デフォルトの名無しさん:2007/01/24(水) 06:30:13
あれ?前スレ時刻が逆転してる
こんなことあるのか
999 :デフォルトの名無しさん :2007/01/24(水) 06:28:14
1000 :デフォルトの名無しさん :2007/01/24(水) 06:28:13
7デフォルトの名無しさん:2007/01/24(水) 06:34:47
そんなことはとっくの昔っからあること。
8デフォルトの名無しさん:2007/01/24(水) 06:58:57
>>6
おめ
9デフォルトの名無しさん:2007/01/24(水) 11:23:44
整数を入力し,それを10進,16進(8桁),8進(11桁)で,
次のように並べて表示するプログラムを作成せよ。16進,8進についてはビ
ット処理を行うこと。繰返し文を用いることにより,幾つかのデータで実行を
確認してみよ。
12 0000000C 000000000014
-1 FFFFFFFF 37777777777

これ教えてください!!
お願いしますm(__)m
10デフォルトの名無しさん:2007/01/24(水) 11:27:30
>>9
1をよく読んでから書けと言っただろうが。
11デフォルトの名無しさん:2007/01/24(水) 12:18:50
[1] 授業単元:画像処理
[2] 問題文(含コード&リンク):bmp画像の画素数を数え、数えた画素数を表示するプログラムを作れ
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] Borland C++ Builder 5.0
 [3.3] 言語:どちらでも可
[4] 期限: 2007年01月25日00:00まで
[5] その他の制限: 無し

よろしくお願いしますm(__)m
12デフォルトの名無しさん:2007/01/24(水) 12:22:00
[1] 授業単元:プログラミング演習T
[2] 問題文(含コード&リンク):入力テキスト中の指定された文字列を含む
               行だけを出力する。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual studio 2005
 [3.3] 言語:C++
[4] 期限:2007年1月26日
[5] その他の制限:@:変数は全て局所変数とする。
         A:文字列の指定はキーボードから入力
           できるようにする。
         B:行単位での入力を基本構造にすること。
   「当該行が指定された文字列を含む」ことを判定するためには、
    find関数を用いる。

C++の入門ページをいろいろ探して考えてみましたが、
どうしたらいいのか、わかりませんでした。
よろしくお願いします。
13デフォルトの名無しさん:2007/01/24(水) 12:41:30
>>12
#include <iostream>
#include <string>
int main() {
    std::string target, line;
    std::cout << "target:" << std::flush;
    std::cin >> target;
    while (std::getline(std::cin, line))
        if (line.find(target) != std::string::npos)
            std::cout << line << std::endl;
    return 0;
}
14デフォルトの名無しさん:2007/01/24(水) 13:04:22
>>13
答えてもらってありがとうございます。

せっかく答えてもらって申し訳ないんですが、
いくつかわからない所があって。
string型は習ったのですが、std::string の std と flushu
っていうのをまだ習ってなくて、使うとマズいです。
(他は大丈夫なんですが)
この関係で習ったモノを挙げると、
string, find, find_first_find, substr, size, replaceと
<fstream> のファイル操作くらいなんですが、
そのへんのモノを使ってお願いできないでしょうか?
甘ったれたことを言ってすみません。
15デフォルトの名無しさん:2007/01/24(水) 13:11:34
>>14
何で習ってないもの使ったらまずいの?
そもそもstd::stringはstringのことだ
16デフォルトの名無しさん:2007/01/24(水) 13:14:34
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3508.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2007/01/25
[5] その他の制限:特になし

よろしくお願いします
17デフォルトの名無しさん:2007/01/24(水) 13:15:08
>>14
stdを習ってないってヤバくね?先生に抗議した方がいいよ
18デフォルトの名無しさん:2007/01/24(水) 13:22:51
>>14
習ったことに気付いてないだけじゃないの?
今までにも using namespace std; ←この辺で std 出てこなかった?
19デフォルトの名無しさん:2007/01/24(水) 13:26:24
>>14, 15さん
アドバイスありがとうございます。
はい、使うとマズいんです。
理由は以前にクラスメイトが今回の自分のように他の人から教えて
もらったプログラムをそのまま提出して、全員に厳重注意があった
からです。
std::string のところはそのままstring にしていいってことですか?

それと、そういえば、自分の授業では
using namespace stdをプログラムの最初の方に使ってるんですけど、
このstdと何か関係ありますか?
どんな機能があるかは詳しくは習っていません。

20デフォルトの名無しさん:2007/01/24(水) 13:27:23
今回も厳重注意決定だな
21デフォルトの名無しさん:2007/01/24(水) 13:30:52
>>14
4月5月ならともかく、この時期になって習ってないハズはないw
もうじき進級・・・・テラオソロシス
22デフォルトの名無しさん:2007/01/24(水) 13:31:14
>>19
using namespace std の std と、std::string の std は全く同じものなので
:: を習ってないとか言い出すのでなければ使ってもかまわない。
23デフォルトの名無しさん:2007/01/24(水) 13:31:51
>>9
#include <stdio.h>
void print_num(int a){printf("%d %08X %016O\n",a,a,a);}
int main(){
int a=0;
printf("整数を入力\x82\xb5\x82\xeb\x83\x7b\x83\x50");
scanf("%d",&a);
print_num(a);
return 0;
}

>>19
>他の人から教えてもらったプログラムをそのまま提出して、
>全員に厳重注意があったからです。
当たり前だろ…

>using namespace stdをプログラムの最初の方に使ってるんですけど、
英語のまんま。stdの名前空間を使いますよって事。
これを最初に宣言しておけばstd::stringって書かなきゃいけない所のstd::を省略出来る。
>>13のソースみたいにいちいちstd::付けるのめんどくさいだろ?
だからusing namespaceを宣言して「これからstd::を省略しますからそこんとこよろしく」ってしておくわけ。
24デフォルトの名無しさん:2007/01/24(水) 13:32:04
>>19
using namespace std の検索結果 約 1,270,000 件中 1 - 10 件目 (0.18 秒)
25デフォルトの名無しさん:2007/01/24(水) 13:39:17
すいません、師匠
>>13の flush っていうのはどういう機能なんですか?

stdにそういう意味があったとは…
鬼教官にそういう重要な事をなぜ教えてくれなかったのか
抗議しておきます。
26デフォルトの名無しさん:2007/01/24(水) 13:39:26
>>19
個々にstd付けて書いとけば評価上がるそ
usingの意味が判ってる証拠だからな
27デフォルトの名無しさん:2007/01/24(水) 13:40:29
>>19
> はい、使うとマズいんです。
> 理由は以前にクラスメイトが今回の自分のように他の人から教えて
> もらったプログラムをそのまま提出して、

アホか
それは習ってないことを使ったからではなくて、他人のぱくったからだろ
28デフォルトの名無しさん:2007/01/24(水) 13:41:42
>>25
わからないことあるなら自分で調べろよ
いつまで小学生気分でいるんだ
29デフォルトの名無しさん:2007/01/24(水) 13:43:29
釣れましたか?
30デフォルトの名無しさん:2007/01/24(水) 13:44:47
習ってないものを使ったらやばいとか
教えない教官が悪いとかっていう考えはやばいぞ
何か言われたら説明して見せりゃいいんだよ
自分で調べて色々使えなきゃこの業界ではやってけないよ
まぁこの業界に来ないかもしれんけど。
てか来るな。
31デフォルトの名無しさん:2007/01/24(水) 13:44:59
>>23
わろた
32デフォルトの名無しさん:2007/01/24(水) 13:45:20
調べましたけど、調べたものがなんか全部プロっぽくて
わからないものが増えたって感じで
33デフォルトの名無しさん:2007/01/24(水) 13:51:45
まぁusing namespace stdでぐぐったら
出てくるのは主にusing namespace問題だわな。
34デフォルトの名無しさん:2007/01/24(水) 13:56:55
ここに来て一番疑問なことがあります。
2chに限らずこの類の掲示板には
色んないじめっ子がいて自分はよくタコタコといじめられますが、
なぜここの人たちはこんなにまともに答えてくれるんですか?
35デフォルトの名無しさん:2007/01/24(水) 13:58:57
釣られ慣れてないから
36デフォルトの名無しさん:2007/01/24(水) 14:00:34
>>25
flushはバッファをフラッシュする。簡単に言えば、出力を催促するようなもんだ。
37デフォルトの名無しさん:2007/01/24(水) 14:07:43
>>34
質問者のことを本当にどうでもいいと思ってるから。それこそ不正がばれて退学になってもね。

よそで丸投げして叩かれるというのなら、(中には面白半分でやってる人もいるだろうけど)
それは質問者の事を心配して丸投げをあきらめさせようとしてる人がいるからだよ。
38デフォルトの名無しさん:2007/01/24(水) 14:10:16
>>13
のプログラムで質問なんですけど、
用意されたテキストファイルをfile.openで呼び出す場合も
基本的に13のプログラムのままで大丈夫ですか?
ちょっと付け足したり変えたりして。
39デフォルトの名無しさん:2007/01/24(水) 14:14:34
>>38
いろいろイジってみ
それが課題以上に力になる
40デフォルトの名無しさん:2007/01/24(水) 14:16:13
>>38
#include <fstream>
#include <iostream>
#include <string>
int main() {
    std::ifstream ifs("data.txt");
    if (!ifs) return 1;
    std::string target, line;
    std::cout << "target:" << std::flush;
    std::cin >> target;
    while (std::getline(ifs, line))
        if (line.find(target) != std::string::npos)
            std::cout << line << std::endl;
    return 0;
}
41デフォルトの名無しさん:2007/01/24(水) 14:17:23
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3497.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 1月27日まで]
[5] その他の制限:

前スレ>>874です。お願いできないでしょうか?
4211:2007/01/24(水) 14:19:07
11で質問したものです
コンパイラにBorland C++ BUilderと書いていましたが、それともうひとつVC6.0追加です…
お願いします。
43デフォルトの名無しさん:2007/01/24(水) 14:20:04
44デフォルトの名無しさん:2007/01/24(水) 14:21:59
>>42
画素数を数えるってどういうこと?
普通はヘッダに横幅と縦幅あるけど、それを読み取って掛け合わせるの?
45デフォルトの名無しさん:2007/01/24(水) 14:45:55
>16
free_nodeのところを埋めればいいの?

void free_node(node_t *p)
{
if(p==NULL) return;
free_node(p->left);
free_node(p->right);
free(p);
}
46デフォルトの名無しさん:2007/01/24(水) 15:11:48
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク)
自由製作課題で
・ぽきぽきアニメ
・多角形の描画
・キーフレームアニメーション
以上のいずれかのプログラムを作成。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:1月31日
[5] その他の制限
ヒープまで一通り習いました。自由製作課題なので、多少習ってないのを使ってもおkです。
47デフォルトの名無しさん:2007/01/24(水) 15:12:55
>>46です。
よろしくお願いします。
48デフォルトの名無しさん:2007/01/24(水) 15:20:52
>>46
描画は何使うの?
49デフォルトの名無しさん:2007/01/24(水) 15:21:24
ぽきぽきアニメってなんだ?
50デフォルトの名無しさん:2007/01/24(水) 15:26:36
>>45
ありがとうございます
51デフォルトの名無しさん:2007/01/24(水) 15:38:55
52デフォルトの名無しさん:2007/01/24(水) 15:44:28
>>30
そんなあなたの部下に>>25をつけて
あなたのプロジェクトの足を引っ張らせるためにこのスレがあるのですよ。
5311:2007/01/24(水) 16:24:46
>>42
すみません説明不足でした。
やりたいことは簡単な画像(例えば円とか四角とか)を読み込んで、画像の面積を求めたいのです。
面積=画素数と思ったので、それで画素数を数えたいと言ったのです…
最終的には読み込んだ画像の周辺長を求めたいな、と思っています…これは期限と関係ないんですが。
54デフォルトの名無しさん:2007/01/24(水) 16:24:51
>>34
普通の掲示板では課題丸投げは禁止事項
叩かれるのが一般的です
55デフォルトの名無しさん:2007/01/24(水) 16:28:22
宿題がどうしても解けないので教えてもらいたいです。
お願いします。

[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):ポインタ配列を用いて、ユーザの入力した数字をもとに次の表に対応するメッセージを表示するプログラムを作成せよ。
              ただし、0〜2以外の数値が入力されたらエラーメッセージを表示すること。
   これが表です。
               入力された数字 メッセージ
0 おはよう
1 こんにちは
2 こんばんは

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Borland C++Compiler
 [3.3] 言語:C++
[4] 期限: 出来るだけ早くお願いしたいです。
[5] その他の制限: シンプルにお願いしたいです。C言語の基礎しか習ってないので・・・

【出力例】
数字を入力してください(0−2):0
おはよう

数字を入力してください(0−2):1
こんにちは

数字を入力してください(0−2):2
こんばんは

数字を入力してください(0−2):3
正しい値(0−2)を入力してください
56デフォルトの名無しさん:2007/01/24(水) 16:29:48
[1] 授業単元:コンピュータ実習
[2] 問題文(含コード&リンク):
ls -R もどきを作る。

現在のディレクトリ(または指定したディレクトリ)内のファイルを表示するようにする。
サブディレクトリの内容も再帰的に表示するようにする。
できれば、ファイル名・ディレクトリ名をアルファベット順にソートして表示。
また、getopt をつかって -R を指定したときだけサブディレクトリを表示するようにしてもよい。

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:1月31日
[5] その他の制限:得になし
57デフォルトの名無しさん:2007/01/24(水) 16:36:58
>>53
まだ説明不足

>やりたいことは簡単な画像(例えば円とか四角とか)を読み込んで、画像の面積を求めたいのです。

画像の面積じゃなくて図形の面積ね
で、その図形部分の色がわからないと、どうしようもないと思うのだけど?
58デフォルトの名無しさん:2007/01/24(水) 16:40:20
>>55
どうしても解けないと言うくらいだから様々な努力したのだろう
途中まででも良いから書いたプログラムを見せてくれ
59デフォルトの名無しさん:2007/01/24(水) 16:52:42
>>58
様々な努力を頭の中でしましたが、さっぱりわかりませんでした。
60デフォルトの名無しさん:2007/01/24(水) 16:53:57
>>55
「問題によると何度も入力を求めるようですがループ内でscanfを使った場合は
予期しない入力を想定して、入力毎にバッファをフラッシュする必要があると思うのですが、
その処理は必要でしょうか?授業では習わなかったのですが」
って質問すると評価高くなると思うよ^^
61デフォルトの名無しさん:2007/01/24(水) 16:57:03
C++と書いてある
62デフォルトの名無しさん:2007/01/24(水) 17:01:50
>>56
#include <stdio.h>
#include <fts.h>

int main()
{
    FTS *fts;
    FTSENT *ftsent;
    char *path[] = { ".", 0 };

    fts = fts_open(path, FTS_PHYSICAL|FTS_NOCHDIR|FTS_NOSTAT, 0);
    while (ftsent = fts_read(fts))
        puts(ftsent->fts_path);
    fts_close(fts);
    return 0;
}
63デフォルトの名無しさん:2007/01/24(水) 17:02:41
>>61
アッー!
6411:2007/01/24(水) 17:03:08
>>53
何度もすいません;
今までの段階でできているプログラムを、上の方に提示してあるアップロード板の方に載せます。
「C/C++の宿題を片付けます 82代目スレ」の中のUnit1.cppです。
これに画素を表示するプログラムを作りたいのです。
65デフォルトの名無しさん:2007/01/24(水) 17:07:19
>>60
出力例では何回も書いてますが、
1回で出力は終わります。
この説明では意味不明ですね・・・。

とりあえず、簡単な感じでお願いします。
66デフォルトの名無しさん:2007/01/24(水) 17:15:15
>>64
うpすると元ファイル名が消えてしまうのだが。
6711:2007/01/24(水) 17:22:01
>>66
3510.cppです
68デフォルトの名無しさん:2007/01/24(水) 17:25:07
69デフォルトの名無しさん:2007/01/24(水) 17:27:01
>>67
リロードしてなかった。ごめ
今後はリンクを張ってくれ
70デフォルトの名無しさん:2007/01/24(水) 17:28:14
なんじゃこりゃ。これがいわゆるVCLってやつか。
んなもん知らんよ。
71デフォルトの名無しさん:2007/01/24(水) 17:29:27
質問じゃないんですが、教えてください。超初歩的で申し訳ないです。

#include <stdio.h>

int main(void)
{
int twod[4][5];
int count=0, kakunou[20] = {0};
int i,j;

for(i=0; i<4; i++)
for(j=0; j<5; j++) {
if((i!=0) && (i==j)) {
kakunou[count] = i*j;
count++;
}
}

for(i=0; i<count; i++)
printf("%d ", kakunou[count]);

printf("\n");

return 0;
}

を実行すると0 0 0 0 になってしまいます。
ぼくとしては 1 4 9 と表示したいのですが。。
72デフォルトの名無しさん:2007/01/24(水) 17:29:35
グローバルで仮引数を設定したあと、
ローカルでその引数をいろいろ変えていった場合
それは関数をまたいで保存されるのでしょうか?
7341:2007/01/24(水) 17:29:45
>>51
助かりました。本当にありがとうございました!
74デフォルトの名無しさん:2007/01/24(水) 17:35:59
>>71
kakunou[count] に0が格納されてるからw

kakunou[count]じゃなくて kakunou[i] としたかったのでは?w
75デフォルトの名無しさん:2007/01/24(水) 17:36:18
>>71
そういう質問スレはこっち

C言語なら俺に聞け(入門篇) Part 6
http://pc10.2ch.net/test/read.cgi/tech/1167325490/
76デフォルトの名無しさん:2007/01/24(水) 17:43:20
>>64
>コンパイラにBorland C++ BUilderと書いていましたが、それともうひとつVC6.0追加です…

VCL使ってるのにVCは無理だろ
77デフォルトの名無しさん:2007/01/24(水) 17:52:02
>>76
最終的にはBCBで作りたいのですが、自分もよく分かってないのでまずVCで作ってみたいということです。
78デフォルトの名無しさん:2007/01/24(水) 17:55:56
で、それは宿題なの?
79デフォルトの名無しさん:2007/01/24(水) 18:00:17
>>77
わけわからんので、VCLやその辺を省いて元々の>>11に戻るぞ

画像を配列に読み込めてるとする

int sum=0;
for(i=0;i<width;i++){
for(j=0;j<height;j++){
if(pic[i][j] == 16777215){
sum++;
}
}
}
80デフォルトの名無しさん:2007/01/24(水) 18:10:29
>>79
ありがとうございます。早速やってみます。
81前スレ835:2007/01/24(水) 18:28:11
すいません、前スレの835ですけど、ほかにも制限とかあって、やってもらったのがちょっと違うみたいなんでもう一回おねがいします。

[1] 授業単元: アルゴリズム
[2] 問題文(含コード&リンク):
アカウント名とパスワードのデータ管理をするために、チェイン法を用いたハッシュ表をつくり、辞書操作(データ削除、検索、挿入)とリスト長のヒストグラム表示
[3] 環境
 [3.1] OS:MacOSX
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C
[4] 期限:今週中
[5] その他の制限:
アカウント名、1〜6文字で構成される英子文字
ハッシュ内でアカウント名の重複はダメ
パスワード、1〜10文字で構成される英数字
82前スレ835:2007/01/24(水) 18:29:00
データファイルに基づきチェイン法によるハッシュ表を構築。
それに対してのコマンド指定ファイルを作り、指定した操作を行い、結果を表示。

実行形式
$ ./a.out データファイル 結果を書き込む出力ファイル コマンド指定ファイル

データファイルの形式
アカウント名1
アカウント名1のパスワード
アカウント名2
アカウント名2のパスワード
以下くり返し

結果を書き込むファイルも上記と同様の形式に。

挿入操作のプログラム動作
コマンド指定ファイルでの形式
i
挿入するアカウント名
挿入するパスワード

実験結果の表示形式:データを挿入できたとき
(挿入したアカウント名 ) was inserted in slot (挿入したスロットのハッシュ値)
83前スレ835:2007/01/24(水) 18:29:51

削除操作
コマンド指定ファイルでの形式
d
削除するアカウント名

指定されたアカウント名をキーとしてもつデータをハッシュ表から削除

検索操作
s
検索するアカウント名

リスト長のヒストグラム表示
コマンド指定ファイルでの形式
h

現時点で構成されているハッシュ表の全スロットのリスト長を調べ、長さに基づくヒストグラムを作成
表示形式
0: 8
1:36
84前スレ835:2007/01/24(水) 18:31:07
データファイルの一部

A
zcve
d
pndf
gztXIDv
ny
42865gd
oed
6oY5e0ELw
zz
1tbXb0jkF
qziwo
8kzTT8mV
gmvn
UaV
lqky
6z
hvuung
ux8B6gEwRO
rnlykf
ojlz6
hqsm
DlF49xR
85デフォルトの名無しさん:2007/01/24(水) 18:32:37
>>37
>>39
>>40の方々
本当にありがとうございました。
86デフォルトの名無しさん:2007/01/24(水) 18:56:22
>>81-84
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。

もう付け足しは無いな?これで作業してまだ制限があったとか言われたらキレちゃうぞ?
87デフォルトの名無しさん:2007/01/24(水) 19:00:57
>>86
完璧な用件定義/仕様を最初から提示できるユーザはいない。
請負仕事をやってみりゃ分かる。こんなケースばっかりだ。
88デフォルトの名無しさん:2007/01/24(水) 19:08:36
>>87
いや宿題だろ
教官があとから追加したわけでもなく
問題のTEXTあるんだから、そのまんま提示すればいいんじゃないか?
質問者が勝手に問題文削ってるだけだろう
請負仕事の仕事とはちと違う気がする
89デフォルトの名無しさん:2007/01/24(水) 19:14:33
実用プログラムを作りなさいという課題があったのですが
先ほど課題提出時に、ここの過去スレで回答されていた良プログラムを
流用して提出させていただきました。
直接的に質問した者ではないですが
このスレの回答者さんにはとても感謝しているので
感謝の意を表します。
プログラムの宿題に手伝ってくださってる方々お疲れ様です。
そしてありがとうございました。
90デフォルトの名無しさん:2007/01/24(水) 19:51:48
>>89
おまえ、いいやつだな
91デフォルトの名無しさん:2007/01/24(水) 19:57:19
世の中、利用できるものを利用した者勝ちだぜ?w
92前スレ835:2007/01/24(水) 20:00:17
>>86
はい、これ以上ないです。
ほんとにすいません。
93デフォルトの名無しさん:2007/01/24(水) 20:00:33
俺は利用される側><
94デフォルトの名無しさん:2007/01/24(水) 20:17:39
>>55
これ以上分かりやすくは作れない。
#include <iostream>
int main() {
    char* str[] = {"おはよう", "こんにちは", "こんばんは"};
    for (; ; ) {
        std::cout << "\n数字を入力してください(0−2):" << std::flush;
        int m;
        std::cin >> m;
        if (m < 0 || m > 2)
            std::cout << "正しい値(0−2)を入力してください" << std::endl;
        else
            std::cout << str[m] << std::endl;
    }
}
9571:2007/01/24(水) 20:37:09
>>74
できました!どうもありがとうございます。お礼が遅れてすみません。自分は最近ようやく
自分でプログラムがくめる段階まできたので、できて本当にうれしいです。ありがとうございます。
>>75
すみません。これからは、そっちのスレで聞きます。
96デフォルトの名無しさん:2007/01/24(水) 20:49:27
すいません、誰かお願いします。
自分でやってみたんですがうまく動きません。

[1] 授業単元:C言語
[2] 問題文(含コード&リンク):改行が多いと言われたので次の書き込みでお願いします。
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:Borland C/C++ Compiler だと思う。
 [3.3] 言語: C言語
[4] 期限: 1月26日
[5] その他の制限:特になし。
9796:2007/01/24(水) 20:50:04
>>96です。
問題は


行数と列数を指定して以下の用に表示せよ。
行数、列数は最大10までとする。
表示するデータは二次元配列に格納し、その内容を表示すること。

(例)

8 5

1 2 3 4 5
22 23 24 25 6
21 36 37 26 7
20 35 38 27 8
19 34 39 28 9
18 33 40 29 10
17 32 31 30 11
16 15 14 13 12



と、こんな感じです。
お願いします。
98デフォルトの名無しさん:2007/01/24(水) 20:54:14
>>97
>表示するデータは二次元配列に格納し、その内容を表示すること
数値が外側から渦巻状になるようにするのね?
9996:2007/01/24(水) 20:57:10
>>98
そう、それです!!

って、>>97で表示がくずれてますね…。
申し訳ないです。
わかってくれて助かります。
100デフォルトの名無しさん:2007/01/24(水) 21:14:30
[1] 授業単元:c言語実習
[2] 問題文(含コード&リンク):
シェルソートは単純挿入法を改良し、ソートの効率を上げたものである。
全ての要素を1度にソートするのではなく、間隔dをあけて要素を比較して大まかなソートを繰り返したのち、最後にd = 1でソートを実行する。
データ数をnとしたときの、効率の良い間隔d[i]の計算法として、Knuthによる次の式が知られている。
t = log2n - 1 (整数に切り捨て)
d[t-1] = 1
d[i-1] = 2d[i] + 1
この式を使って、与えられた要素数nに対し
t、配列dの値を計算する関数を作成しなさい。
n = 100としたときの、tおよびdの要素を画面に出力しなさい。

【ヒント】
logの計算を行うには、math.hをインクルードする

[3] 環境
 [3.1] OS: xppro
 [3.2] visual studio2003
 [3.3] 言語: C
[4] 期限: あさってまでに
[5] その他の制限: 特になし

よろしくお願いします
101デフォルトの名無しさん:2007/01/24(水) 21:18:30
[1] 授業単元: 画像処理
[2] 問題文(含コード&リンク):後述
[3] 環境
 [3.1] WinXP
 [3.2] VC6.0
 [3.3] 言語: C
[4] 期限:2007/1/27


------------プログラム仕様--------------

100*100の数値行列(csv形式ファイル)を読み込む。

各値に5*5の範囲でガウスフィルタ(距離による重み付け平滑化)をかけ注目値を変更する。

結果を同形式の別ファイルとして書き出す。

---------------------------------------


とりあえず
ファイルオープン→行列読込、書出のプログラムはなんとか書けたのですが、
肝心のフィルタ処理がさっぱり判りません・・・どなたか御教授お願いします。

現在ソースhttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3511.txt
102デフォルトの名無しさん:2007/01/24(水) 21:23:05
[1] 授業単元:c言語実習
[2] 問題文(含コード&リンク):
クイックソートは単純交換法を改良した高速なソート法である。
要素数10の配列key[10]を用意し初期値として{51, 32, 67, 85, 36, 99, 21, 64, 13, 77}を与えソートを実行しなさい。

途中経過を出力して処理を確認すること。
交換の回数を数えて出力すること。
同じ配列を単純交換法でもソートして結果を比較し、
どちらが効率的か答え、プログラムを作成し、そして理由を考察しなさい。

↑のプログラムを作成して、発展に拡張する問題です。↑の理由と発展を含めたプログラムに発展の理由コメントを提出します
【発展】
クイックソートの改良法として、
アルゴリズムのテキストp.147〜149に幾つかの方法が紹介されている。
(教科書の内容では非再帰版?と書かれています 他にもあるのですが、アルゴリズムで書かれているので)

まず、(既に作成した)再帰を利用したクイックソートのコードを使って
要素数を増やしてテストを繰り返し、時間計算量の平均を調べなさい。

次に、クイックソートを改良し、同様に時間計算量の平均を調べなさい。

アルゴリズムをどの様に改良したか 結果はどの様に変化したか、プログラムを作成し、またその理由をコメント欄に書きなさい。
コメントは/* コメント分文*/とする。
[3] 環境
 [3.1] OS: xppro
 [3.2] visual studio2003
 [3.3] 言語: C
[4] 期限: あさってまでに
[5] その他の制限: 特になし

連投ですが、よろしくお願いします。
10355:2007/01/24(水) 21:49:15
>>94
プログラムありがとうございました。
助かりました。
104デフォルトの名無しさん:2007/01/24(水) 22:10:57
>>97
こんな感じになりました
http://sa-wiki.com/upload/src/up0092.txt
105104:2007/01/24(水) 22:13:17
>>97
ダメだ
上の取り消し
バグがあった
106デフォルトの名無しさん:2007/01/24(水) 22:14:12
>96
#include <stdio.h>
#include <stdlib.h>
int main(void){
int i, j, m, n, t, count = 1, **p;
scanf("%d%d", &m, &n);
if(n>10 || m>10) return 1;
p = (int **)malloc(sizeof(int *)*m);
for(i=0;i<m;i++) *(p+i) = (int *)malloc(sizeof(int)*n);
t = m > n ? n : m;
for(i=0; i<t/2; i++) {
for(j=i; j<=n-i-1; j++) p[i][j] = count++;
for(j=i+1; j<m-i-1; j++) p[j][n-i-1] = count++;
for(j=n-i-1; j>i; j--) p[m-i-1][j] = count++;
for(j=m-i-1; j>i; j--) p[j][i] = count++;
}
if(t%2) {
for(j=i; j<=n-i-1; j++) p[i][j] = count++;
for(j=i+1; j<m-i; j++) p[j][n-i-1] = count++;
}
for(i=0; i<m; i++) {
for(j=0; j<n; j++) {
printf("%3d ", p[i][j]);
}
putchar('\n');
}
return 0;
}
10796:2007/01/24(水) 22:15:24
>>104
おぉ!!これですよ!!
ありがとうございます!!!!

さらにこのソースを見て勉強させてもらいます!!
108デフォルトの名無しさん:2007/01/24(水) 22:16:48
誰が勉強していいと言った?
勝手にするな。
109デフォルトの名無しさん:2007/01/24(水) 22:24:24
[1] 授業単元:ネットワークプログラミング
[2] 問題文:ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3512.txt
       このチャットプログラムを、送り手が"/send/1.txt"を送信し、受け手の"/recv"内に送信するプログラムに書き換えよ。
       但し、送り手側には送信が完了した際に「送信が完了しました」、受け手側には受信が完了した際に「受信しました」と表示してプログラムを終了すること。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 2007年1月26(金)
[5] その他の制限: 特になし。
110デフォルトの名無しさん:2007/01/24(水) 22:29:08
[1] 授業単元: 画像処理
[2] 問題文(含コード&リンク):
  画質256×256で画素がグレースケール256段階の画像の画素値が
    ptr[256][256]の配列に入ってるとするとき、この画素のヒスト
    グラムの均等化を行うプログラムを作れ。

[3] 環境
 [3.1] OS: WinXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:2007/1/25 8:00
[5] ptr[256][256]に画素値が入っていると仮定し、均等化の処理をするプログラムを
  書けばよい。
111デフォルトの名無しさん:2007/01/24(水) 22:30:22
[1] 授業単元:プログラミング演習T
[2] 問題文(含コード&リンク):
ローマ記法では整数を以下のように表す。
    1:I    2:II   
    3:III   4:IV
    5:V   6:VI
    7:VII   8:VIII
    9:IX   10:X
    50:L   100:C
    500:D  1000:M   

1〜4999までの整数をローマ記法に変換するプログラムを作成せよ。 1,2,4,8,32,64,128,・・・・,4096を変換した結果を確認しなさい。

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] VC++ 2005
 [3.3] 言語:C
[4] 期限: ([2007年01月25日16:30まで]
[5] その他:特になし
よろしくお願いします
112デフォルトの名無しさん:2007/01/24(水) 22:34:08
鹿児島大
113デフォルトの名無しさん:2007/01/24(水) 22:34:54
>>111
前スレで回答あったじゃん
114デフォルトの名無しさん:2007/01/24(水) 22:36:04
115デフォルトの名無しさん:2007/01/24(水) 22:40:10
>>14
制限があるなら書けっつっただろうが糞
紙ねよ
116デフォルトの名無しさん:2007/01/24(水) 22:41:25
鹿児島大ってそういう学校なんだ・・
117デフォルトの名無しさん:2007/01/24(水) 22:41:32
鹿児島大の奴がやけに来るなw
118104:2007/01/24(水) 22:45:32
>>96
>>97
訂正版
http://sa-wiki.com/upload/src/up0093.txt

>>107
あれ削除したはずなんだけどな
↑でおねがい
119デフォルトの名無しさん:2007/01/25(木) 00:09:55
過疎化 進行中
120デフォルトの名無しさん:2007/01/25(木) 02:25:56
試験前で一気に宿題が来ただけだろ
121デフォルトの名無しさん:2007/01/25(木) 02:29:31
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク): 一単語一行の入力テキストを、指定された桁数(70)以内で、
               できるだけ少ない行数に納まるように調整して出力する。
               ただし、単語の途中で改行してはいけない。

例えば、【縦】に America, Japan, England, Jamaica,と並んでいたら、
それを、【横】に America Japan England Jamaica と表示し直せるようにする。
|____________________________|
ここは70以内、末尾で文字列が切れてはいけない。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: Visual Studio 2005
 [3.3] 言語: C++
[4] 期限:1月25日
[5] その他の制限:入力ファイルは用意されたテキストファイルを
         プログラム中で適切な位置をよく考えて開くこと。
         int型 ⇔ string型などの変換をしないこと。
         ファイルから行単位で文字列を入力するループ構造を
         基本構造とし、ループの中で必要な処理を行うこと。

よろしくお願いします
122デフォルトの名無しさん:2007/01/25(木) 02:31:45
>>121
前スレの終わりのほうに同じ課題出てたぞ
123デフォルトの名無しさん:2007/01/25(木) 02:54:36
>>122
答えてもらったんですけど、コンパイル通らなくてどうしようかと。
もう一度お願いでないでしょうか?

124デフォルトの名無しさん:2007/01/25(木) 02:57:19
どこにどういうエラーが出てるんだよ
125デフォルトの名無しさん:2007/01/25(木) 02:57:49
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
126デフォルトの名無しさん:2007/01/25(木) 03:04:00
c:\enshu1\jikken_rast_2\jikken_rast_2\jikken_rast_2.cpp(15) : warning C4267: '+=' : 'size_t' から 'int' に変換しました。データが失われているかもしれません。
c:\enshu1\jikken_rast_2\jikken_rast_2\jikken_rast_2.cpp(18) : warning C4267: '+=' : 'size_t' から 'int' に変換しました。データが失われているかもしれません。
c:\enshu1\jikken_rast_2\jikken_rast_2\jikken_rast_2.cpp(21) : warning C4267: '=' : 'size_t' から 'int' に変換しました。データが失われているかもしれません。
127デフォルトの名無しさん:2007/01/25(木) 03:05:32
前スレ950をコピペしただけで
コンパイルも動作もOK
128デフォルトの名無しさん:2007/01/25(木) 03:06:04
rast…

last?
129デフォルトの名無しさん:2007/01/25(木) 03:06:18
>>126
まさか拡張子 cか?w
cppにしてみw
130デフォルトの名無しさん:2007/01/25(木) 03:09:52
いえ、cppにしてます

確かに動作しましたけど、課題の要求が満たされてません
131デフォルトの名無しさん:2007/01/25(木) 03:10:55
その警告がどう問題なんだよ
132デフォルトの名無しさん:2007/01/25(木) 03:14:00
お願いします
>>121の通りに作ってください
133デフォルトの名無しさん:2007/01/25(木) 03:16:04
どの条件をどう満たしていないのか説明しろ
134デフォルトの名無しさん:2007/01/25(木) 03:26:26
課題では、入力したファイルの文字列(1行に1個の英単語)を
操作しなさいと言われてますが、
前スレのはキーボードから入力した文字を操作するように
なっています。

それと、スペースを含めた文字列の長さが70に達する前に
改行されてしまいます。
文字を入力する度に改行されてしまいます。
135デフォルトの名無しさん:2007/01/25(木) 03:28:03
宿題スレだからってあんまり気を許して釣られすぎんなよ。
それじゃおやすみノシ
136デフォルトの名無しさん:2007/01/25(木) 03:29:11
ワロス

って言ってほしい?
137デフォルトの名無しさん:2007/01/25(木) 03:30:03
助けてください
138デフォルトの名無しさん:2007/01/25(木) 03:31:20
とりあえず、どんなエラーが出たか教えろ
139デフォルトの名無しさん:2007/01/25(木) 03:32:44
>>134
// int ncol = 0;
size_t ncol = 0;
これでええやろw

jikken_rast_2 < hogehoge.txt 
と操作してファイルから食わせろ
140デフォルトの名無しさん:2007/01/25(木) 03:33:44
女の子だから優しくしてください
141デフォルトの名無しさん:2007/01/25(木) 03:35:33
宿題を○投げする女の子は嫌われますw
142デフォルトの名無しさん:2007/01/25(木) 03:35:54
「女の子だから優しくしなくてはいけない」ってことを証明できたらなw
143デフォルトの名無しさん:2007/01/25(木) 03:36:54
泣きそう
144デフォルトの名無しさん:2007/01/25(木) 03:38:39
そんなことは俺らには関係ない
145デフォルトの名無しさん:2007/01/25(木) 03:40:27
じゃあどうすればいいの?
146デフォルトの名無しさん:2007/01/25(木) 03:40:40
で、なぜ女の子だから優しくしなくてはいけないんだ?
147デフォルトの名無しさん:2007/01/25(木) 03:41:24
>140-
VIPでやれ (AA略
148デフォルトの名無しさん:2007/01/25(木) 04:39:07
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3514.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2007/01/25
[5] その他の制限:特になし

お願いします
149デフォルトの名無しさん:2007/01/25(木) 05:02:16
>>96-97 回答あるけど別解
#include <stdio.h>
int main(){
int x,y,i=0,j=0,k[10][10]={0},cnt;
    printf("y:");  scanf("%d",&y);
    printf("x:");  scanf("%d",&x);
    for ( cnt=1; cnt<=x*y; cnt++){
        k[j][i]=cnt;
        if ( i<x-1 && k[j][i+1]==0){
            if ( k[j-1][i]==0 && k[j+1][i]== cnt-1 )
                j--;
            else
                i++;
        }
        else if ( j<y-1 && k[j+1][i]==0)
            j++;
        else if ( i>0 && k[j][i-1]==0)
            i--;
        else if ( j>0 && k[j-1][i]==0)
            j--;
    }
    for (j=0;j<y;j++){
        for (i=0;i<x;i++)
            printf("%3d",k[j][i]);
        printf("\n");
    }
    return 0;
}
150デフォルトの名無しさん:2007/01/25(木) 12:04:54
>>148
int main(void)
{
  node_t *top=NULL;
  int data;

  while(1) {
    data=0;
    printf("データ: ");
    scanf("%d",&data);
    if(data==0) break;
    top=insert_node(top,data);
    display_node(top); // 表示追加
  }
  display_node(top);
  free_node(top);
}
151前スレ835:2007/01/25(木) 13:00:31
>>81
すいません、私のもおねがいします。
152デフォルトの名無しさん:2007/01/25(木) 13:11:50
153デフォルトの名無しさん:2007/01/25(木) 13:30:06
中間まとめ 未回答問題があれば補完よろ(漏れ・no違いが在ったら直してくれ)
>9  >23
>11  >79    ※>80で返礼あり
>12  >13
>16  >45    ※>50で返礼あり
>38  >40    ※>85で返礼あり
>41  >51    ※>73で返礼あり
>46 「ぽきぽきアニメ」謎の仕様でスルー
>55  >94    ※>103で返礼あり
>56  >62
>71  >74    ※>95で返礼あり
>85  前スレ893で済み  「やってもらったのがちょっと違う」と謎の仕様でスルー
>96  >106 >118 >149
>100 
>101 ぼかし作業の仕様が不明の為スルー
>102 結局何を作るのかが不明の為スルー
>109 
>110 
>111 前スレ903で済み >114で補足
>121 前スレ950で済み >139で補足
>148 >150で回答
154デフォルトの名無しさん:2007/01/25(木) 13:35:35
>>151
前スレの>>893>>86を書いた香具師だけど、
急に忙しくなったので漏れはできない。他の人がやるのを気長に待つか自分でガンガレ
155デフォルトの名無しさん:2007/01/25(木) 13:36:38
>>109
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3515.zip

Makefileを同梱してあるので必要なら修正してmakeしてくれ。
senderが送信プログラム、receiverが受信プログラムだ。
156デフォルトの名無しさん:2007/01/25(木) 13:37:24
>>153
肝心なとこが違うw
×>85  前スレ893で済み  「やってもらったのがちょっと違う」と謎の仕様でスルー
○>85  前スレ893で済み  督促うざ〜でスルー
157デフォルトの名無しさん:2007/01/25(木) 13:40:25
>>156
85じゃないやん >81だろ
158155:2007/01/25(木) 14:00:25
補足。
UDPだけどただパケット丸投げするだけで、チェックや再送の仕組み作りこんで
ないから、ファイル送ってもデータ飛ぶかも知れんよ。
流石にそこまで宿題でやっとれん。
159109:2007/01/25(木) 14:18:42
>>155>>158
ありがとうございます!

>>158の件、了解です!

160デフォルトの名無しさん:2007/01/25(木) 15:04:20
strstream s;
s << "abc";

この後で s を初期化して、バッファの内容をクリアすることは可能でしょうか?
161デフォルトの名無しさん:2007/01/25(木) 16:15:08
>>150
ありがとうございます
162デフォルトの名無しさん:2007/01/25(木) 17:02:34
前スレ835
>81-84,>151
動作に必要な「データファイル」「コマンド指定ファイル 」をロダにUPしろ
なければ作れ コマンドフィル・・・なんで別やねんorz
データファイルの中身が
i acount1 pass1
i acount2 pass2
i acount3 pass3
i acount4 pass4
h
i acount5 pass5
i acount6 pass6
:   :   :
:   :   :
i XXXXXX pasXXX
s acountX
s acountXX
h
d acountY
d acountY
h
と作ってたが、既に改造もメンドイ
それとハッシュ値の算出は?素数の剰余でええのか?
「結果ファイル」の出力フォーマットもわかんね
163デフォルトの名無しさん:2007/01/25(木) 17:14:30
>>160
悪いことは言わないからstringstreamを使え。
164デフォルトの名無しさん:2007/01/25(木) 19:33:03
>>110
画像処理に関しては門外漢なので、全然間違ってるかも知れんがとりあえず。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3517.txt

テスト用の画像(PGM形式)も上げておいた。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3518.zip

PGM形式の画像はIfranView等のビューアで見れると思う。
165デフォルトの名無しさん:2007/01/25(木) 21:15:27
[1] 授業単元:C言語の基本
[2] 問題文(含コード&リンク):
1から1000までの範囲で7の倍数を求め、その合計を表示するプログラムを組みなさい
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:BCC Developer Ver1.2.21
 [3.3] 言語:C言語
[4] 期限:1月30日

よろしくお願いします。
166前スレ835:2007/01/25(木) 21:23:25
>>162
ありがとうございます。
ハッシュのデータとコマンドファイルです。
http://www.uploda.net/cgi/uploader2/index.php?file_id=0000027942.rar

ハッシュ値の算出は素数の剰余でいいです。
結果ファイルはresult.datでhash.datと同じ形式でおねがいします。

注文が多くてすいませんが、よろしくお願いします。
167デフォルトの名無しさん:2007/01/25(木) 21:49:18
>>163
そうですね。いろいろ調べているうちにそれがいいと思いました。
ありがとうございました。
168デフォルトの名無しさん:2007/01/25(木) 21:51:24
>165
#include<stdio.h>
int a=1,j=1000/7;
int main(){
for(int i=2;i<=j;i++){a+=i;}
printf("%d",a*7);
return 0;
}
こうかな?
169デフォルトの名無しさん:2007/01/25(木) 22:04:42
#include <stdio.h>
int main(void) {
int n, sum = 0;
for( n = 7 ; n <= 1000 ; n += 7 ) sum += n;
printf("%d\n", sum);
return 0;
}

>>168
ネタ解答は構わんが、妙なスタイルが癖になるようなのは止めてくれ。
170デフォルトの名無しさん:2007/01/25(木) 23:25:25
>>169
ネタ解答は構わんが、妙なスタイルが癖になるようなのは止めてくれ。
171デフォルトの名無しさん:2007/01/25(木) 23:57:29
#include <stdio.h>
void main() {
int i,sum=0;
for(i=1; i*7<=1000; sum+=(i++)*7);
printf("%d\n",sum);}
変な臭ぇ〜ソースでも良いから俺のを採用してくれw
172デフォルトの名無しさん:2007/01/26(金) 00:06:51
>165
7の倍数は表示しなくていいの?
173デフォルトの名無しさん:2007/01/26(金) 01:03:27
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
構造体の配列を使って、5人分の氏名番号点数を記録し、入力された点数以上の氏名番号点数を出力するプログラミングを書け。
必ずprint_student(struct sutudents)という学生1人分の情報を1行に表示する関数を作成、それを利用せよ。


[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語:c
[4] 期限: 26日午後4時
[5] その他の制限:ポインタやってない

よろしくお願いします
174デフォルトの名無しさん:2007/01/26(金) 01:05:59
流れに乗って俺も。

#include <stdio.h>
int main() {
 int n = 1000 / 7;
 printf("%d", (n+1)*n*7/2 );
 return 0;
}
175デフォルトの名無しさん:2007/01/26(金) 01:17:49
いや、まぁ、初項7、項差7の等差数列の和でもええけどさw
176デフォルトの名無しさん:2007/01/26(金) 02:13:49
>>173
特定した。
177デフォルトの名無しさん:2007/01/26(金) 03:18:37
178173:2007/01/26(金) 04:13:37
あ、条件忘れてました。
5人分の名前と番号と点数を全て入力しなくちゃいけません
179デフォルトの名無しさん:2007/01/26(金) 04:26:52
後から言うなカス
180デフォルトの名無しさん:2007/01/26(金) 04:29:57
ちょっと質問があります

改行するときは \n とか \f とか使うと思うんですけど、

これらは cout << '\n'; とかみたいに cout といっしょに使うんですよね?

単独で '\n' みたいにではなくて

それと cout << "\n"; でもできますよね?
181デフォルトの名無しさん:2007/01/26(金) 04:58:14
それ宿題?
182デフォルトの名無しさん:2007/01/26(金) 05:09:19
はい宿題です

改行できたことは出来ましたけど

どうやるのが正しいのか知りたくて聞いてみました
183デフォルトの名無しさん:2007/01/26(金) 06:23:09
>>81
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3522.zip

あー疲れたー…
エラー処理とかかなり適当なので頑張って。
184デフォルトの名無しさん:2007/01/26(金) 08:28:56
[1] 授業単元: Cプログラミング演習
[2] 問題文(含コード&リンク):
キーボードから入力した文字列の大文字と小文字を入れ替える。
1)void関数strchg(char *sp)を定義し、spの参照する内容が'\0'に等しく
  なるまで順に大文字と小文字を入れ替え、最後にspに'\0'を付け加える

2)char型配列str[100]にscanf()関数により文字列をキーボードから読み込み、
  strchg()関数を適用し結果を表示する。

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: Visual Basic
 [3.3] 言語:C
[4] 期限:本日13時(急ぎですいませんorz
[5] その他の制限: 特にありません
185デフォルトの名無しさん:2007/01/26(金) 09:00:11
>>184
#include <stdio.h>
#include <ctype.h>
char *strchg(char *str)
{
char *p;
    for ( p=str;*p!=NULL;p++ ) {
        if ( islower(*p ) )
            *p=toupper(*p);
        else if ( isupper(*p) )
            *p=tolower(*p);
    }
    return(str);
}
void main(void)
{
char str[100]={0};
    scanf( "%s", str );
    printf( "%s\n", strchg(str) );
}
186デフォルトの名無しさん:2007/01/26(金) 09:01:44
>>184
おそらくVisual Studioの間違いだとは思うが

1)
void strchg(char *sp){
if(*sp=='\0')return;
*sp>='a'&&*sp<='z'?*sp+='A'-'a':(*sp>='A'&&*sp<='Z'?*sp+='a'-'A':0);
strchg(sp+1);
}

2)
#include<stdio.h>
void strchg(char *sp){
if(*sp=='\0')return;
*sp>='a'&&*sp<='z'?*sp+='A'-'a':(*sp>='A'&&*sp<='Z'?*sp+='a'-'A':0);
strchg(sp+1);
}
int main(){
char str[100];
scanf("%s",str);
strchg(str);
printf("%s\n",str);
return 0;
}
187デフォルトの名無しさん:2007/01/26(金) 09:07:49
voidだったかorz char *にしちゃったm(_ _)m
188デフォルトの名無しさん:2007/01/26(金) 09:18:12
>>186
(´゚u゚):;*.':;.
Visual Studioのまちがいです(汗

*sp>='a'&&*sp<='z'?*sp+='A'-'a':(*sp>='A'&&*sp<='Z'?*sp+='a'-'A':0);
の:とか?の使い方がよくわからないんですが…よろしければ説明して頂けないでしょうか?

>>185
islower ->小文字
isupper ->大文字 で
アドレスpの文字をfor文で入れ替えてるという解釈であってますか?
使ったことないやり方なので^^;

189デフォルトの名無しさん:2007/01/26(金) 09:24:23
三項演算子。
a = b?c:d;
これは
if(b)
a=c;
else
a=d;
と同じ
190デフォルトの名無しさん:2007/01/26(金) 12:22:40
夏・冬季オリンピックの開催年求めるのはこれでいいですか
#include <stdio.h>

int main(void)
{
int year;
printf("西暦入力:\n");
scanf("%d",&year);

if(year % 4 == 0)
printf("夏期オリンピック");
else if(year % 2 == 0 && year % 4 != 0)
printf("冬季オリンピック");
else printf("開催しない");

return 0;

}
191デフォルトの名無しさん:2007/01/26(金) 12:25:43
else if(year % 2 == 0 && year % 4 != 0) は
else if(year % 4 == 2)
ほうがいいですか、これは同じ働きですか
いくつか入力してみたらそうっぽいんですがあ
192前スレ835:2007/01/26(金) 12:53:15
>>183
ありがとうございます!
がんばります。
193デフォルトの名無しさん:2007/01/26(金) 12:55:19
>>191
プログラムは素直に作らないとくどくなるからな。
if (year % 4 == 0) {
} else if (year % 2 == 0) {
}
でおけ。else ifに入った時点で前の条件は弾かれているから判定する必要なし。
194デフォルトの名無しさん:2007/01/26(金) 13:02:31
ちょ
195デフォルトの名無しさん:2007/01/26(金) 13:14:31 BE:23292926-2BP(222)
>>190
過去にさかのぼるならアルベールビルとリレハメルの間で場合分け。
あと厳密に開催したかどうかを判定するなら第二次世界大戦で場合分け。
196デフォルトの名無しさん:2007/01/26(金) 13:18:04
197デフォルトの名無しさん:2007/01/26(金) 13:28:52
単純な計算では判断できないので、
夏季オリンピックの年であるかどうか
冬季オリンピックの年であるかどうか
を判断する関数をそれぞれ作る。
198デフォルトの名無しさん:2007/01/26(金) 13:37:11
>>189
同じではないなぁ。a = b?c:dは左辺値だけど、ifの方は文だし。
199198:2007/01/26(金) 13:38:11
右辺値だった。
200デフォルトの名無しさん:2007/01/26(金) 14:01:42
初心者と突っ込み所を探したい人向けに端折った説明だから
201デフォルトの名無しさん:2007/01/26(金) 14:25:41
任意の整数に続けて、比率(例えばaとする)を入力したあと、元の数
の「a倍」と「a分の1」の2つの値を計算して、表示するプログラムを作成
せよ。なお、「a分の1」の値は小数点以下2桁で表示すること。
202デフォルトの名無しさん:2007/01/26(金) 14:32:43
任意の文字列を入力し、先頭文字は大文字、それ以外は小文字にして
表示するプログラムを作成せよ。ただしアルファベット以外の文字は
そのまま表示すること。
お願いいたします。
203デフォルトの名無しさん:2007/01/26(金) 14:35:19
断る
204デフォルトの名無しさん:2007/01/26(金) 14:58:54
>>201
>>202

>>1をしっかり読むこと。
お願いいたします。
205デフォルトの名無しさん:2007/01/26(金) 15:07:00
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
 中心の要素は a[(left+right)/2] で求めることができます。
この要素を左側の要素と交換すれば、同じプログラムを利用できます。
 
クイックソートの軸として、中心の要素の値を使うことが一般的です。
quicksort 関数を変更してください。

[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (gcc 3.4)
 [3.3] 言語: (C)
[4] 期限: (明後日)
[5] その他の制限: void quicksort(int a[], int left, int right)
から始まる関数です。




206デフォルトの名無しさん:2007/01/26(金) 15:30:37
>>205 m9(^Д^)

void swap(int a[], int i, int j)
{
    int temp;
    temp = a[i];
    a[i] = a[j];
    a[j] = temp;
}

void quicksort(int a[], int left, int right)
{
    int i, last;

    if (left >= right) {
        return;
    }
    swap(a, left, (left + right)/2);
    last = left;
    for (i = left + 1; i <= right; i++) {
        if (a[i] < a[left]) {
            swap(a, ++last, i);
        }
    }
    swap(a, left, last);
    qsort(a, left, last-1);
    qsort(a, last+1, right);
}
207デフォルトの名無しさん:2007/01/26(金) 15:30:44
function fx
for i = 1 to N do
f(x) := x+ 1;
208デフォルトの名無しさん:2007/01/26(金) 15:52:31
質問テンプレ】
[1] 授業単元:c言語
[2] 問題文(含コード&リンク):3行3列のマトリックスA、B
のデータをファイル(A.dat,B.dat)から読み込み、C=ABを計算し、
ファイル(C.dat)に出力するプログラムを作成しなさい。
但し、入力ファイル、出力ファイルのフォーマットは下記に従いなさい。
また、行列の乗算の部分はユーザー定義関数としなさい。

フォーマット例(A.dat)
3 4 (注:3行4列の意味)
3 4 5 7
1 3 5 2
2 1 3 3



[3] 環境
 [3.1] OS: (Linux)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 )
 [3.3] 言語: (C)
[4] 期限: ([2007年1月30日16:10まで]
[5] その他の制限: (ポインタの利用{学生のための基礎Cの教科書を利用}までしました。}
209デフォルトの名無しさん:2007/01/26(金) 16:11:02
>>208
「3行3列のマトリックスA、B 」だと3×3固定の様だが?
「フォーマット例(A.dat)3行4列 」だと3×4と読込むファイルによって変るようだが?
どうなん?
210デフォルトの名無しさん:2007/01/26(金) 16:12:23
>>208
APLのベクター演算使えばA×Bで終り
211デフォルトの名無しさん:2007/01/26(金) 16:38:02
但し書きでファイル指定っぽい
サラス?なのか?
212165:2007/01/26(金) 17:48:07
>>168>>169
力になって頂き、ありがとうございます。

>>172
ありがとうぎざいます。でも、結果だけで良いみたいです。
213208:2007/01/26(金) 18:22:53
すいません 皆様208に対して書き込みありがとうございます><
209さん>もともとはn行m列という問題だったんですが講師が「n,mは自分で決めていいですが最低3x3でしてください。3x3が一番簡単ですよ。」
っとゆう発言がありましたので、3x3で固定して書き込みをしました。。
最初に問題文をそのままっとあったのですがその発言があったので3x3で自分で改変してしまったのですが。。これだめでしたかね?
もしこれが疑問の元であったのなら謝罪いたします。>< 
なので疑問のところの3x4でも問題を解くには支障はないです^^;ほんとうにすいません;;
(同じ学科の99人が危機にひんしていますので是非またご協力いただけることを心待ちにしています;;。
99人で連絡取り合ってしてるんですがどうにも授業のスピードが最後らへん早くて99人手が出せない状況です)

210さん>ご協力いただきありがとうございます。
「APLのベクター演算子」って言葉の意味が自分わかってないので今から調べてみます!すいませんありがとうございました。

211さん>書き込みどうもありがとうございます。ファイルが指定かどうか不明なので講師に質問を送ってみます。
あと講師は「一番君たちが知ってる簡単な計算方法はサラスですよね?それでやってもかまいませんよ」と確かいってた覚えがあります。。。
すいません ご協力ほんとうにありがとうございます;; 
214デフォルトの名無しさん:2007/01/26(金) 18:31:32
>>213
99人皆が皆手を出せないってどんな低脳集団だよw
実はわかってるのに教えてくれないんじゃね?
215デフォルトの名無しさん:2007/01/26(金) 18:34:10
APL使えばベクトル演算簡単だよ
216デフォルトの名無しさん:2007/01/26(金) 18:38:48
>>205
で、quicksort関数の中身はどこにあるんだ?
変更してくださいって言ってるんだから、元のプログラムがあるんだろ?
217デフォルトの名無しさん:2007/01/26(金) 18:43:00
>>213
高校生?
218デフォルトの名無しさん:2007/01/26(金) 18:47:21
>>206 ちょwwwおまwww qsort使うなら引数ちゃんとしておけよ。
219デフォルトの名無しさん:2007/01/26(金) 18:54:54
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): 最初に月の1日の曜日を入力し、次に曜日を求めたい日付を入力することで、
任意のつきの日付に対して曜日を出力するプログラムを作成せよ。
ただし、日にちの上限を31日とする。また、間違った日付を入力すると「正しい日付を入力してください」と出力すること。
ヒント:ポインタ配列を使用します。char *p_day[ ]=...

1日は何曜日ですか(0:月,1:日,2:水,3:木,4:金,5:土,6:日):4
日付を入力してください:24
24日は日曜日です
こんな感じで表示をお願いします。
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: Borland C++ Compiler
 [3.3] 言語: C言語
[4] 期限: 1月29日まで
[5] その他の制限: 基本情報の試験に出る範囲くらいまで(あいまいですみません)

宜しくお願い致します。
220208:2007/01/26(金) 19:01:16
214さん>いえマジでみなさんわかってないんです^^;
もしできているなら誰かにまわされてそのあと皆に
拡散しているはずなので^^;
多相当笑える話なんですが^^;w(自分もバガですはい><)

215さん>ありがとうございます。wikiなどでしらべて今からやってみますね^^b
ご協力ありがとうございました^^
221デフォルトの名無しさん:2007/01/26(金) 19:05:25
>>219
#include <stdio.h>

const char *p_day[] = {"月", "火", "水", "木", "金", "土", "日"};

int main(void) {
    unsigned w, d;
    printf("1日は何曜日ですか (0:月,1:火,2:水,3:木,4:金,5:土,6:日):");
    scanf("%u", &w);
    if(6 < w) {
        fputs("正しい曜日を入力してください", stderr);
        return 1;
    }
    printf("日付を入力してください:");
    scanf("%u", &d);
    if(31 < d) {
        fputs("正しい日付を入力してください", stderr);
        return 1;
    }
    printf("%u日は%s曜日です\n", d, p_day[(w + d - 1) % 7]);
    return 0;
}
222デフォルトの名無しさん:2007/01/26(金) 19:27:20 BE:74824122-2BP(0)
【質問テンプレ】
[1] 授業単元: 応用プログラミング
[2] 問題文(含コード&リンク): http://new1314.freespace.jp/log/up/log/2817.jpg
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語: c++
[4] 期限: 2007/1/28
[5] その他の制限:標準ライブラリは使ってはいけない。与えられているヒントに沿って。

実習とレポート課題の両方をお願いします。というか実習のプログラムをを使って課題をやる感じです。
実習で指定されているコードは置いておきます。多少の改変はアリです。

いくらやってもなぜかできません。もうお手上げです∩(・∀・)∩
よろしくお願いします。
223222:2007/01/26(金) 19:31:02 BE:1515178499-2BP(0)
#include<iostream>
#include<string>
using namespace std;
class set{
static const int max=100;
string elem[max];
int num_elem;
public:
set();
set(string e[],int);
bool contains(string e);
void insert(string e);
void print();
};
//ここにメンバ関数
int main(){
const int n=4;
string a[n]={"a","b","c","d"};
set s(a,n);
s.print();
if (s.contains("e")) cout<<"e is an element\n";
s.insert("e");
s.print();
if (s.contains("e")) cout<<"e is an element\n";
string a2[n][n]={{"r","t","s","s"},{"s","t","r","s"},{"t","s","t","r"},{"s","r","s","t"}};
set s2[n];
for(int i=0;i<n;i++)
s2[i]=set(a2[i],n);
for(int i=0;i<n;i++)
s2[i].print();
return 0;
}
224208:2007/01/26(金) 19:34:11
すいません^^;APLってC言語じゃないんですね><
C言語でとかないといけないんですぅ;;
もう1回もんだい 貼り付けていいですか><?
一様自分のひ弱な頭で考えたんですが
nxm行列となっているんですが 
例で A.datが3x4行列で、
フォーマットはこれに従うようになので問題のA.datは3x4であると決定?
なんですかね?で、A.datと計算できるB.datの行列は4x3しかないですよね? 
なのでc=ABとなっているのでCは3x3行列って考えていいですかね><?
書き込みが質問になってしまって申しわけございません;;
質問テンプレ】
[1] 授業単元:c言語
[2] 問題文(含コード&リンク):n行m列のマトリックスA、B
のデータをファイル(A.dat,B.dat)から読み込み、C=ABを計算し、
ファイル(C.dat)に出力するプログラムを作成しなさい。
但し、入力ファイル、出力ファイルのフォーマットは下記に従いなさい。
また、行列の乗算の部分はユーザー定義関数としなさい。

フォーマット例(A.dat)
3 4 (注:3行4列の意味)
3 4 5 7
1 3 5 2
2 1 3 3

[3] 環境
 [3.1] OS: (Linux)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 )
 [3.3] 言語: (C)
[4] 期限: ([2007年1月30日16:10まで]
[5] その他の制限: (ポインタの利用{学生のための基礎Cの教科書を利用}までしました。}
225219:2007/01/26(金) 19:36:51
>>221
早速の返答ありがとうございました。
まだ、2,3問残っているのでその時は宜しくお願い致します。
226デフォルトの名無しさん:2007/01/26(金) 19:38:41
227デフォルトの名無しさん:2007/01/26(金) 19:46:01
>>224
A.dat が 3 x 4 であるとき、計算できる B.dat の行列は 4 x ? だよ (?は任意の自然数)
228デフォルトの名無しさん:2007/01/26(金) 19:51:25
>>222
問題文のダウンロードが
いくらやってもなぜかできません。もうお手上げです∩(・∀・)∩
229デフォルトの名無しさん:2007/01/26(金) 20:02:03
>>218
単なる再帰だお。関数名が元のとちょっと違うだけだお。
ちょーっとした手違いだお m9(^Д^)

void swap(int a[], int i, int j)
{
    int temp;
    temp = a[i];
    a[i] = a[j];
    a[j] = temp;
}

void quicksort(int a[], int left, int right)
{
    int i, last;

    if (left >= right) {
        return;
    }
    swap(a, left, (left + right)/2);
    last = left;
    for (i = left + 1; i <= right; i++) {
        if (a[i] < a[left]) {
            swap(a, ++last, i);
        }
    }
    swap(a, left, last);
    quicksort(a, left, last-1);
    quicksort(a, last+1, right);
}
230デフォルトの名無しさん:2007/01/26(金) 20:05:04
( ^ω^)S
( ^ω^ )o
(^ω^ )r
(ω^  )t
(^   )す
(    )る
(   ^)お
(  ^ω)〜
( ^ω^)!
231デフォルトの名無しさん:2007/01/26(金) 22:09:38
課題は、quicksort関数を「作る」じゃなくて「変更する」なんだよな?
232デフォルトの名無しさん:2007/01/26(金) 22:44:38
どなたかお願いします。

[1] 授業単元:プログラミング入門
[2] 問題文(含コード&リンク):http://up.spawn.jp/file/up68630.zip.html
 zip内のimage03.ppm,image04.ppmについて
 1.image03.ppmを左右反転せよ。
 2.image04.ppmを時計回りに90°回転せよ。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 1月29日9:00まで
233デフォルトの名無しさん:2007/01/26(金) 22:53:57
>>101
ガウスフィルタの重み付けの比率は 1/(r+1) にしてる。(但し r は中心部分からの距離)
ガウスフィルタの求め方は自分で変更して
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3525.c
234デフォルトの名無しさん:2007/01/27(土) 01:44:56
235デフォルトの名無しさん:2007/01/27(土) 01:57:48
【質問テンプレ】
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3527.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Visual Studio 2005
 [3.3] 言語: C++
[4] 期限: 1月28日
236デフォルトの名無しさん:2007/01/27(土) 02:27:08
>>235
BTREE *insert_bt(int x, BTREE *y){
BTREE **pmember;

if(y==NULL) return new_bt(x, NULL, NULL);
*pmember=y;
while(*pmember!=NULL){
if(x > (*pmember)->data) pmember=&((*pmember)->right);
else if(x < (*pmember)->data) pmember=&((*pmember)->left);
else return y;
}
*pmember=new_bt(x, NULL, NULL);
return y;
}
2371/3:2007/01/27(土) 10:18:54
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(void)
{
const charinput[] = "image03.ppm";
const charoutput[] = "image03_1.ppm";
char*src;
FILE*fp;
charp6[4];
charcomment[256];
intwidth, height, color;
inti, j;

fp = fopen(input, "rb");
if (fp == NULL) {
fprintf(stderr, "Can't open file %s", input);
return 1;
}
/* ファイルIDの読み込みと確認 */
fgets(p6, 4, fp);
if (strcmp("P6\n", p6) == 0) {
printf("ppm ファイル(%s)を開きました type=%s", input, p6);
}
else {
fprintf(stderr, "No ppm header (%s)", p6);
return 1;
}
2381/3:2007/01/27(土) 10:21:20
TABが消えたのでやりなおし
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(void)
{
const char input[] = "image03.ppm";
const char output[] = "image03_1.ppm";
char *src;
FILE *fp;
char p6[4];
char comment[256];
int width, height, color;
int i, j;

fp = fopen(input, "rb");
if (fp == NULL) {
fprintf(stderr, "Can't open file %s", input);
return 1;
}
/* ファイルIDの読み込みと確認 */
fgets(p6, 4, fp);
if (strcmp("P6\n", p6) == 0) {
printf("ppm ファイル(%s)を開きました type=%s", input, p6);
}
else {
fprintf(stderr, "No ppm header (%s)", p6);
return 1;
}
2392/3:2007/01/27(土) 10:22:36
/* コメント部分の読み込み */
fgets(comment, 255, fp);
printf("%s", comment);
/* 画像の幅、高さ、色調の読み込み */
fscanf(fp, "%d %d\n%d\n", &width, &height, &color);
printf("幅:%d\n高さ:%d\n色:%d\n", width, height, color);
/* 画像データ分のメモリを確保(画素数 * 3) */
src = (char *)malloc(width * height * 3);
/* 画像データをメモリに読み込み */
fread(src, sizeof(char), width * height * 3, fp);
fclose(fp);
/* 書き込み用のファイルを開きID、コメント、幅、高さ、色を書き込み */
fp = fopen(output, "wb");
if (fp == NULL) {
fprintf(stderr, "Can't open file %s", output);
return 1;
}
fputs(p6, fp);
fputs(comment, fp);
2403/3:2007/01/27(土) 10:23:22
/* 高さ分ループ */
for (i = 0; i < height; i++) {
/* 幅分ループ */
for (j = width; j; j--) {
/* 1ドット(3バイト)読み込んでファイルへ書き込む */
fwrite((src+(i*width*3)+(j-1)*3), sizeof(char), 3, fp);
}
}
fclose(fp);
free(src);
printf("左右反転終了 %s\n", output);
return 0;
}
241デフォルトの名無しさん:2007/01/27(土) 10:47:35
90度回転
ここまでファイル名以外は同じ
/* 幅と高さ入れ替え */
fprintf(fp, "%d %d\n%d\n", height, width, color);
/* 幅分ループ */
for (i = 0; i < width; i++) {
/* 高さ分ループ */
for (j = height; j; j--) {
/* 1ドット(3バイト)読み込んでファイルへ書き込む */
fwrite((src+((j-1)*width+i)*3), sizeof(char), 3, fp);
}
}
fclose(fp);
free(src);
printf("90度回転終了 %s\n", output);
return 0;
}
2422.5/3:2007/01/27(土) 10:50:44
2/3と3/3の間に↓が抜けてた

fprintf(fp, "%d %d\n%d\n", width, height, color);
243デフォルトの名無しさん:2007/01/27(土) 11:10:28
[1] 授業単元:プログラミング演習T
[2] 問題文(含コード&リンク):
10人の身長デ−タ
data[10]={ 173.8,168.2,180.3,166.0,189.7,167.4,159.8,170.5,167.5,167.4}
を背の高い順に並べ換えた後で書き出すプログラムです。正しく動くように虫を取って下さい。
どこが間違っていたのか分かるようにコメントをつけること。
#include<stdio.h>
#define num=10;
int i;
double data[num]={ 173.8,168.2,180.3,166.0,189.7,167.4,159.8,170.5,167.5,167.4}

int main(void)
{
for(i=1;i<=num;i++){
max=i;
for(j=i+1;j<=num;j++)
if (data[max]<data[j])max=j;
data[i]=data[max];data[max]=data[i];
}
for(i=1;i<=num;i++)printf("%7.1f ",data[i]);
return 0;
}

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] VC++ 2005
 [3.3] 言語:C
[4] 期限: 1月29日まで
[5] その他:特になし

244デフォルトの名無しさん:2007/01/27(土) 11:30:50
>>243
#define num=10;

#define num 10
または
int num=10;
あとループの初期値が1になってる
245235:2007/01/27(土) 11:32:07
>>236
ご協力ありがとうございます。
ただ、結果が最終的に

69
61
46
40
35
21
13

となればよいのですが、この方法だと

9447620
69
61
46
40
21
13

となり、結果がおかしくなってしまいます。どのように改善すればいいのでしょうか??
246デフォルトの名無しさん:2007/01/27(土) 11:36:42
>>243
試してないけどパッと診こんな感じ?
ってゆうか蟲大杉

#include<stdio.h>
#define num=10;
int i;
double data[num]={ 173.8,168.2,180.3,166.0,189.7,167.4,159.8,170.5,167.5,167.4}

int main(void)
{
  'for(i=1;i<=num;i++){
  for(i=0;i<=num;i++){
    max=i;
    for(j=i+1;j<=num;j++)
      if (data[max]<data[j]) {
        'max=j;
        double work = data[i];
        data[i]=data[max];
        'data[max]=data[i];
        data[max]=work;
      }
    }

    'for(i=1;i<=num;i++)printf("%7.1f ",data[i]);
    for(i=0;i<=num;i++)printf("%7.1f ",data[i]);
    return 0;
}
247デフォルトの名無しさん:2007/01/27(土) 11:42:54
>>246
訂正 「'」はコメント「//」にしる。VBと間違えた
248デフォルトの名無しさん:2007/01/27(土) 11:43:01
>>245 (>>235)
ごめ、間違えた
>>236 で最初に pmember の指す先の領域が無かった
BTREE *insert_bt(int x, BTREE *y){
BTREE **pmember;
pmember=&y;
while(*pmember!=NULL){
if(x > (*pmember)->data) pmember=&((*pmember)->right);
else if(x < (*pmember)->data) pmember=&((*pmember)->left);
else return y;
}
*pmember=new_bt(x, NULL, NULL);
return y;
}
249235:2007/01/27(土) 11:49:12
>>248
親切にどうもありがとうございました。
250デフォルトの名無しさん:2007/01/27(土) 11:50:15
>>243
#include<stdio.h>
#define num 10 /* 定数が代入式になっている */
inti,j,max,tmp; /* 宣言されてない変数がある */
double data[num]={ 173.8,168.2,180.3,166.0,189.7,167.4,159.8,170.5,167.5,167.4}; /* 文末の ; が抜けている */

int main(void)
{
for(i=0;i<num;i++){ /* ループの初期値、最大値が間違っている */
max=i;
for(j=i+1;j<num;j++)
if (data[max]<data[j])max=j;
tmp=data[i];data[i]=data[max];data[max]=tmp; /* 入れ替えになっていない */
}
for(i=0;i<num;i++)printf("%7.1f ",data[i]); /* ループの初期値、最大値が間違っている */
return 0;
}
251250:2007/01/27(土) 11:51:57
double tmp;
だった
252232:2007/01/27(土) 11:56:16
>>234 >>237-242
お返事ありがとうございます。お陰でなんとかなりました。
253デフォルトの名無しさん:2007/01/27(土) 12:00:36
>>244
>>246-247
>>250-251
助かりました。ありがとうございます。
254デフォルトの名無しさん:2007/01/27(土) 12:03:17
うん、sageを覚えような^^
255デフォルトの名無しさん:2007/01/27(土) 12:44:59
なんかもうグチャグチャだなぁ、回答者の質も低下
>237-242
1レスに納まらないならロダ使え
使い方判らないなら無理に回答せんでよろしい
256デフォルトの名無しさん:2007/01/27(土) 12:55:09
>>255
そんな高品質な質問者はこのスレにあまりこないとオモワレ
回答者は善意で答えてるんだから批判すんなよ

☆字下げしたい使徒は全角スペース等を使用すべし
257デフォルトの名無しさん:2007/01/27(土) 12:58:37
>>256
>☆字下げしたい使徒は全角スペース等を使用すべし
nobackspase使えよ・・
258デフォルトの名無しさん:2007/01/27(土) 13:00:14
>>256
全角スペース逆に迷惑なんだが
259デフォルトの名無しさん:2007/01/27(土) 13:01:18
nobackspaseに該当するページが見つかりませんでした。
260デフォルトの名無しさん:2007/01/27(土) 13:01:23
>>256
ここに質問するやつはそのままコピーしてエラー出すからな
&nbsp;&nbsp;でどう
261デフォルトの名無しさん:2007/01/27(土) 13:04:30
>>259
まぁ検索してもでないけど
spase -> space
262デフォルトの名無しさん:2007/01/27(土) 13:05:45
俺はnobreakspaceと呼んでいる(本当かどうかは知らない)
質問者のレベルにあった質の低い回答の方がばれにくいからいいんじゃないの
263デフォルトの名無しさん:2007/01/27(土) 13:08:12
>>262
ひでーよ ;;
もう少しソフトな表現を…
264デフォルトの名無しさん:2007/01/27(土) 13:12:18
ひで〜お
ひで〜え〜お
265デフォルトの名無しさん:2007/01/27(土) 13:15:54
>>256
とりあえず オマエは回答するなって事だw
266デフォルトの名無しさん:2007/01/27(土) 13:20:51
 
267デフォルトの名無しさん:2007/01/27(土) 13:48:42
  , -=〜=―- 、
 ミ          ヽ
二             i
三 ⌒ へ    /` |
二    _     _ |
三    ┰     ┰ |
l^          (
} !  ヽ /  {\ ノ
l    i  ( 、 , ) {
∪、      j   |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
  |  ‐――――┴、  < 次いってみよ〜
  |     ̄`ー―ァ'′  \_______
  \______)
268デフォルトの名無しさん:2007/01/27(土) 13:56:58
>>256
おいおい、宿題丸投げスレだから質はどうでもよく回答さえした「こと」になればいいのかよ。
回答になってない回答は回答と呼べないし。
質問者を混乱させる回答も回答じゃない。
テンプレ読めない質問者はダメで、回答者はテンプレ読めなくても良いなんてことも無いはずで。
なんか、「おれは回答してんだ、文句言うな」的なすごい思い上がりを感じるけどね?
全角スペースなんて使えば「コンパイルできないー」だって言われかねないしな。
269デフォルトの名無しさん:2007/01/27(土) 14:07:03
どうでもいいよ
そんなマジメなスレじゃないだろ、ここ。
270デフォルトの名無しさん:2007/01/27(土) 14:07:57
今、質問しちゃまずい空気ですか
271デフォルトの名無しさん:2007/01/27(土) 14:10:31
>>269
それは、ぼるjy・・・うぁなにをふじこ
272デフォルトの名無しさん:2007/01/27(土) 14:12:00
>>268
別にここは宿題に回答するスレじゃないよ。
宿題に回答するという名目で「暇つぶし」するだけのスレだから。

回答者の思いあがりとか言ってるけど、、
そもそもこのスレに書けば宿題をやってもらえる、なんてのが
依頼者の思い上がりであり心得違い。
273デフォルトの名無しさん:2007/01/27(土) 14:16:27
274デフォルトの名無しさん:2007/01/27(土) 14:17:15
>>272
暇潰しは一向に構わないが、暇潰しだからといって、回答を成してないような回答でスレを汚しちゃイカン。
275デフォルトの名無しさん:2007/01/27(土) 14:18:23
276デフォルトの名無しさん:2007/01/27(土) 14:28:43
>>270
ご自由に。
277264:2007/01/27(土) 14:37:16
>>273
thxワロタ
278デフォルトの名無しさん:2007/01/27(土) 15:47:42
先輩方、宜しくお願いします。

[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):以下のフローチャートからプログラムを作る

================================
1.e=0.0010856
  Mt=4.631808924494756
  ↓
2.A=Mt+e*sin(Mt)
  ↓
3.E=Mt+e*sin(A)
  ↓
4.|E-A| < 10^-12 →YESならSTOPでEを表示
  ↓
 NOなら
  ↓
5.A=E で3.に戻り繰り返す
================================

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] Visual C++ 6.0
 [3.3] 言語:どちらでも可
[4] 期限: 2007年01月27日中
[5] その他の制限: 無し
279デフォルトの名無しさん:2007/01/27(土) 16:06:32
>>278
#include<iostream>
#include<cmath>
int main(){
double e = 0.0010856, Mt = 4.631808924494756;
double A = Mt+e*sin(Mt);
double E;
while(1){
E = Mt+e*sin(A);
if(abs(E-A) < pow(10,-12)) break;
A = E;
}
std::cout << E << std::endl;
return 0;
}
280デフォルトの名無しさん:2007/01/27(土) 16:22:34
[1] 授業単元:情報処理演習
[2] 問題文(含コード&リンク):
ポインタ
int pivoting(a, m)
 float *a[20][21];
 int m;
{
 float b[21];
 int k, l;
 if (m + 1 != n)
  for (k = m + 1 ; k < n ; ++k)
   if (*a[k][m] != 0) {
    for (l = 0 ; l < n + 1 ; ++l) {
     b[l] = *a[m][l];
     *a[m][l] = *a[k][l];
     *a[k][l] = b[l];
    }
    return true;
    exit(1);
   }
 return false;
}
[3] 環境
 [3.1] OS: Windows
 [3.2] gccまたはbcc 5.5.1
 [3.3] 言語: どちらでも可
Linuxでは問題無かったのですが、家でWindowsで組んでるとエラーが出ます。
bccとgcc、両方試してみましたが_でしたOTL
281デフォルトの名無しさん:2007/01/27(土) 16:25:26
>>280

>>1
> ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
282280:2007/01/27(土) 16:34:45
スマソ、吊ってくる
if (*a[k][m] != 0) {
の行で、
問題が発生したため、*****を終了します。ご不便をおかけして申し訳ありません。
のヤツがでました。
283デフォルトの名無しさん:2007/01/27(土) 16:48:55
>>280
どちらでも可というならC言語でやる

未定義のシンボル n
未定義のシンボル true
未定義のシンボル false
284デフォルトの名無しさん:2007/01/27(土) 16:53:41
>>280
おまえのDebug作業なんだろ
宿題の問題全部か
エラーが出た箇所だけでなく作りかけでいいから全部をロダにUPしろよ
285デフォルトの名無しさん:2007/01/27(土) 16:55:04
a[k][m]=0になってるんじゃないの?
286デフォルトの名無しさん:2007/01/27(土) 17:08:18
>>280
if (m + 1 != n)
のnってどっから沸いてきたんだ?マズはそこからだ!
287280:2007/01/27(土) 17:25:17
288デフォルトの名無しさん:2007/01/27(土) 17:30:56
>>287
boolを==で比較すんな
289280:2007/01/27(土) 17:32:05
>>288
実際はint型ですが・・・だめでしょうか?
290デフォルトの名無しさん:2007/01/27(土) 17:50:41
intだからダメです
291デフォルトの名無しさん:2007/01/27(土) 17:57:30
int pivoting(a, m)
    float a[][];
    int m;
{
    float b[21];
    int k, l;

    if (m + 1 != n)
        for (k = m + 1 ; k < n ; ++k)
            if (a[k][m] != 0) {
                for (l = 0 ; l < n + 1 ; ++l) {
                    b[l] = a[m][l];
                    a[m][l] = a[k][l];
                    a[k][l] = b[l];
                }
                printf("done pivoting...\n");
                return true;
                exit(1);
            }
           
    return false;
}

で 元も直せ
//if (a[m][m] == 0) f_p = pivoting(&a, m);
if (a[m][m] == 0) f_p = pivoting(a, m);
292280:2007/01/27(土) 18:04:33
>>290
あれ、そうなんですか???

>>291
一度それにしたら、Windows上では問題なく動いたんですが・・・
ただそれだと、main関数内の a がpivotingされないはず。
けど、ちゃんとなるんですよね(´・ω・`)
293デフォルトの名無しさん:2007/01/27(土) 18:10:14
>>292
おまえ・・・
aはアドレスなのか実体なのか解ってるか?
釣りなら他でやってくれ
294デフォルトの名無しさん:2007/01/27(土) 22:28:11
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):この並べ替えのプログラムを、機能を保ったまま別のものにかえて頂きたいです。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3529.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Visual Studio 2003
 [3.3] 言語: C
[4] 期限: 1月28日21時まで
[5] その他の制限: 特になし。

295デフォルトの名無しさん:2007/01/27(土) 22:46:29
>>294
構造体の定義は?
296デフォルトの名無しさん:2007/01/27(土) 23:01:48
>>294
これ・・・動いてるか?特に1
なぁ 元の宿題全部をUPしろよ

おまえらの間違ったソースを見て 元の問題を想像する方が難しい
297デフォルトの名無しさん:2007/01/27(土) 23:11:10
>>294
部分的に投げるならその関数の仕様をちゃんとかけよ
渡されてる引数は何なのか
何をさせたいのか

それができたらここにはこないか・・・(*゚艸゚)
298デフォルトの名無しさん:2007/01/28(日) 00:19:19
[1] 授業単元:アルゴリズム
[2] 問題文:
N個の節点を持つ完全4文木の高さは何か?
 
[3] 環境
 [3.1] OS:linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C 言語
[4] 期限: 2007年2月7日17:40まで
[5] その他の制限: 無し
夜遅くすみませんが宜しくお願いします
299デフォルトの名無しさん:2007/01/28(日) 00:34:00
>>298
単純にlog(4) N じゃないの?
300デフォルトの名無しさん:2007/01/28(日) 01:02:01
>>298
既に、言語関係ないし・・・・
301デフォルトの名無しさん:2007/01/28(日) 01:14:33
ゆとりは予想の斜め上の質問をするから困る
302デフォルトの名無しさん:2007/01/28(日) 01:19:55
>>298
おそらく、完全4分木を作って高さを確認するプログラムを作れって事なんだろうが…
もうちょっと質問の仕方考えろよw
303デフォルトの名無しさん:2007/01/28(日) 01:38:37
>>299
俺の計算だと
log4(3N+1)、端数切り上げ
になったが…
304デフォルトの名無しさん:2007/01/28(日) 01:43:36
>>294
なんか友達が書いたソースを自分用に書き換えるのか?って感じだが。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3530.c
こんなもんでいいだろ。あんまいじくりまわすのもなんだし
305デフォルトの名無しさん:2007/01/28(日) 02:08:18
>>294
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3531.txt

qsort使っていじり倒すとこんな感じだな。
306デフォルトの名無しさん:2007/01/28(日) 02:18:01
30773:2007/01/28(日) 02:42:33
すみません>>51のプログラムなんですが、行列の要素数をキーボードから任意に指定するにはどうすればいいんでしょうか?
308デフォルトの名無しさん:2007/01/28(日) 02:59:00
>>307
create_matrixに引数で渡してるから
create_matrixに渡る前でKB入力するか または create_matrixに入ってからKBで入力させれば良くね?
309デフォルトの名無しさん:2007/01/28(日) 03:34:56
>304
void replace(MUSIC *data,int o,int n)
{
    MUSIC tmp;

    tmp = *(data+o);
    *(data+o) = *(data+n)
    *(data+n) = tmp;
}
でよくね? こっちも

    case 1:
      for(o=0;o<m-1;o++)
      {
        for(n=o+1;n<m;n++)
        {
          if( 0 < strcomp((data+o)->namae,(data+n)->namae))
          {
            replace(data, o, n);
          }
        }
      }
      break;
     

>306 表示だけじゃん中身変ってない・・・ウソツキ(爆笑
31073:2007/01/28(日) 04:12:07
>>308
そうするとキーボード入力した後はそれに合わせて書き換えなければダメですよね?


どなたかその様に作り変えていただけないでしょうか?どうかよろしくお願いしますm(_)m
311デフォルトの名無しさん:2007/01/28(日) 05:34:59
312デフォルトの名無しさん:2007/01/28(日) 05:50:22
去年の夏頃からここで何回か回答者としてやってきた俺だが
まだまだ未熟だと痛感した。1ヶ月、いやもしかすると2ヶ月になるかもしれないが
しばらくC言語の勉強を1からやり直してくる。そんな俺だが
C言語で15ゲームを作ったこともあるわけで、自分が初級、中級なのかさっぱり分からん・・・
313デフォルトの名無しさん:2007/01/28(日) 06:09:31
>>312
継続は力なり、いっぱいバグ出して解決して・・・・・場数こなした奴の勝ち
カンガレ
314299:2007/01/28(日) 06:50:56
>>303
ああ、ごめん。そうだね。
末端の点の数で考えてしまってた…。
315298:2007/01/28(日) 09:08:39
有難うございました
316デフォルトの名無しさん:2007/01/28(日) 13:02:54
[1] 授業単元:様々な式
[2] 問題文:
キーボードから入力される全ての文字をカウントし、
入力が終了したら以下の内容を表示するプログラムを組なさい。

・すべての文字の文字数
・小文字アルファベットの文字数
・大文字アルファベットの文字数
・行数

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名:Borland C++
 [3.3] 言語:C
[4] 期限:1月30日

よろしくお願いします。
317デフォルトの名無しさん:2007/01/28(日) 13:16:50
>>316
#include <stdio.h>

int main(void) {
    int c, a=0, au=0, al=0, l=0, eol=1;
    while((c = getchar()) != EOF) {
        if(isgraph(c)) a++;
        if(isupper(c)) au++; else if(islower(c)) al++;
        if(eol = c == '\n') l++;
    }
    if(!eol) l++;
    printf("すべての文字の文字数: %d\n", a);
    printf("小文字アルファベットの文字数: %d\n", al);
    printf("大文字アルファベットの文字数: %d\n", au);
    printf("行数: %d\n", l);
}
318304:2007/01/28(日) 13:44:32
>>309 あぁそうですね(汗
>>294 いい様に書き直して
319316:2007/01/28(日) 14:24:51
>>317
助かりました。ありがとうございます!
320デフォルトの名無しさん:2007/01/28(日) 14:35:03
[1] 授業単元:プログラミング演習T
[2] 問題文(含コード&リンク):
charやdouble型にも1個の関数で対応するswap関数を下記のプログラムを補って課題を作成してください
#include<stdio.h>
/*
swap関数は2個の変数の先頭を指すポインタa,b変数が使っているバイト数lengthを受け取って変数領域の中身を交換する
*/
void swap(void *a,void *b,int length)
{
char *p,*q;
int i;
char t;
p=(char*)a;
q=(char*)b;
/*
ここを考える。
*/
return;
}
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] VC++ 2005
 [3.3] 言語:C
[4] 期限: 2007年01月30日まで
[5] その他の制限:特になし
よろしくお願いします
321デフォルトの名無しさん:2007/01/28(日) 14:48:33
>>304
>>305
>>306
>>309
ありがとうございます。なんとかなりそうです。
322デフォルトの名無しさん:2007/01/28(日) 15:18:36
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): 利率1.5%の複利型の定期預金に、
10万円を10年間預けたときの利子を求めるプログラムを作成せよ。
複利型:元金に付いた利子にも、その翌年に利子が付く計算方法。
今回は、実数(小数点の金額)のまま10年間の計算を行い、最後に切捨てを行うものとする。
<出力例>
利子:16054円

この問題に関連してこちらもお願いしたいです。
利率1.5%の複利型の定期預金に10万円を預けたときに、
利子が2万円を超えるのに必要な年数を求めるプログラムを作成せよ。
<出力例>
期間:13年

[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (Borland C++ Compiler)
 [3.3] 言語: (C)
[4] 期限: ([1月30日])
[5] その他の制限:for文で簡単に作成をお願いします。

二つもお願いしてしまいすみませんが、宜しくお願いします。
323デフォルトの名無しさん:2007/01/28(日) 15:29:35
>>320
for (i = 0; i < length; i++){
t = q[i];
q[i] = p[i];
p[i] = t;
}
324デフォルトの名無しさん:2007/01/28(日) 15:36:53
>>320
    for(;0<length;p++,q++,length--){
        t = *p;
        *p =*q;
        *q =t;
    }
325デフォルトの名無しさん:2007/01/28(日) 15:48:32
俺はここでこう言えばいいのか?

if(p!=q) for(;0<length;p++,q++,length--) *p^=*q,*q^=*p,*p^=*q;
326デフォルトの名無しさん:2007/01/28(日) 15:59:19
>>325
ワラタ
いつまでも引きずるなよ〜〜
327デフォルトの名無しさん:2007/01/28(日) 16:05:18
↓で最後の話題だっけ?w
C/C++の宿題を片付けます 80代目
http://pc10.2ch.net/test/read.cgi/tech/1166969820/
328デフォルトの名無しさん:2007/01/28(日) 16:25:33
[1] 授業単元:プログラミング演習
[2] 問題文:ユーザが入力した日本語の文章を茶筅を使って形態素解析して、
  動詞と目的語を取り出して表示するプログラムを作成せよ
[3] 環境
 [3.1] OS:WindowsXp
 [3.2] コンパイラ名とバージョン:Visual Studio 2003もしくはLSI C-86
 [3.3] 言語:C言語
[4] 期限:1月29日12時まで
[5] その他の制限:特になし

よろしくお願いします
329320:2007/01/28(日) 16:34:50
ありがとうございました
330デフォルトの名無しさん:2007/01/28(日) 16:51:42
>>322
#include <stdio.h>

void main()
{
int i,n,k;
double w,r;
printf("問題1\n");
    printf("金額:");  scanf( "%d", &k );
    printf("年率:");  scanf( "%lf", &r );
    printf(" 年 :");  scanf( "%d", &n );
    w=(double)k;
    r = 1.0+r/100;
    for(i=0;i<n;i++)
        w *= r;
    printf("%d年後の総利子金額%d円\n",n,(int)w-k);
printf("\n問題2\n");
    printf("金額:");  scanf( "%d", &k );
    printf("年率:");  scanf( "%lf", &r );
    printf("幾ら稼ぎたい?:"); scanf( "%d", &n );
    w=(double)k;
    r = 1.0+r/100;
    for(i=0; (int)w-k<n;i++)
        w *= r;
    printf("利子で%d円稼ぐのには%d年も掛かります\n",n,i);
}
331デフォルトの名無しさん:2007/01/28(日) 16:57:32
>>328
茶筅は何処の使うの?リンクを張ってくれ
332デフォルトの名無しさん:2007/01/28(日) 17:03:01
>>331
申し訳ない

ttp://chasen.naist.jp/hiki/ChaSen/
こちらからインストールしないと駄目なんでちょっと手間がかかります
よろしくお願いします
333デフォルトの名無しさん:2007/01/28(日) 17:34:46
[1] 授業単元:情報処理実習
[2] 問題文:自分で簡単な生徒のデータベースを3つExcelで作成する。
        最初に選択肢をつけて例えば選択肢でAを選んだ場合はデータベースのa群、
        Bを選んだ場合はb群のデータが出力されやすくなるようなプログラムを作成せよ。  
[3] 環境
 [3.1] OS: WindowsXp
 [3.2] コンパイラ名とバージョン: Visual C++ 2005
 [3.3] 言語: C言語
[4] 期限: 1月29日18時まで
[5] その他の制限:なし

分かりにくいですが、例えばテストの点数がいい人(80〜100点)、普通の人(60〜79点)、悪い人(59点以下)
とExcelで3つのデータベースを作り、生徒の名前がA列に、点数がB列に入力されているとします。
最初に出る選択肢を1〜5まで作成して、1を選んだ場合は点数がよい人、5を選んだ場合は点数が悪い人が
名前と点数を合わせて出力”されやすくなる”ようなプログラムです。
されやすくなるというのが曲者で、選択はランダムであるが、選択肢によって出力にばらつきを与えなければなりません。
精度としては7割前後が望ましいということですが、出力のばらつかせ方が全くわかりません。

どうか宜しくお願いします

334デフォルトの名無しさん:2007/01/28(日) 18:22:02
どこから突っ込んでいいやら・・もうね(ry
335デフォルトの名無しさん:2007/01/28(日) 18:22:59

int main(){
【質問テンプレ】
[1] 授業単元:
[2] 任意のフォルダにファイルを作成する事。
[3] 環境 : VC++ 6.0
 [3.1] OS: WindowsXP
 [3.2]言語:C言語
以下の様にプログラムを作成しましたが上手く行きません。
更にここから実際に存在しないパスの時にドライブ指定が合っていれば
そこまでのフォルダを作成しファイルを作る。
無意味な文字列ならエラーを返すと言う風にしたいのですが分かるかた
はよろしくお願いします。
int main(){
int i;
char str[500];
FILE *fp;

printf("保存先を記入してください");
scanf("%s",str);
strcat(str,"test.txt");

if((fp = fopen(str,"w")) == NULL) return 0;

for(i=0;i<100;i++){
fprintf(fp,"%5d",i);
}
fopen(fp);
return 0;
}

336デフォルトの名無しさん:2007/01/28(日) 18:24:59
>>328
門外漢なんだが、
日本語のシンタックスで「目的語」なんてあったっけ?
英文法のS+V+OとかのOだよな?

「内向的で辛辣なホームズにとって、大衆の賞賛はいつだって嫌悪すべきものだった」
→目的語は?
337デフォルトの名無しさん:2007/01/28(日) 18:30:38
>>336
日本語の目的語は「○○を」の○○の部分の語
その文の中には無い
338328:2007/01/28(日) 18:33:22
>>336
入力される文は目的語を含むもののみと限定して構わないです
339デフォルトの名無しさん:2007/01/28(日) 18:34:07
>>336
そりゃS+Vの文だ
340333:2007/01/28(日) 18:39:02
扱うエクセルファイルは
ttp://www.uploda.org/uporg671256.zip.html
でお願いします。
受信パスは0000です
341デフォルトの名無しさん:2007/01/28(日) 18:47:26
>>335
どううまくいかないか書かれていないが
returnの1行前のfopenはfcloseでは?
342デフォルトの名無しさん:2007/01/28(日) 18:51:20
>>341
すみません。
fcloseでした!!!!

上手く行かない現象としましては、
上記の内容だとファイルオープンが失敗します。

パス指定をせずにif((fp = fopen("test.txt","w")) == NULL)とすれば上手く行くんですが・・・・。
指南、ご指摘よろしくお願いします。

343デフォルトの名無しさん:2007/01/28(日) 18:56:48
>>342
まず、strcatについて調べるといいよ
http://www9.plala.or.jp/sgwr-t/lib/strcat.html
344デフォルトの名無しさん:2007/01/28(日) 19:04:23
>>335
ディレクトリの作成に関しては、以下にサンプルを書いてみたので
参考にしてくれ。

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3536.txt
345デフォルトの名無しさん:2007/01/28(日) 19:06:07
>>343

多分スペースが入ってると出力されないんだよね
ここ診ればわかると思うよ
http://wisdom.sakura.ne.jp/programming/c/c58.html
346322:2007/01/28(日) 19:54:36
>>330
ありがとうございました。
大変助かりました。
347デフォルトの名無しさん:2007/01/28(日) 20:32:39
>>335
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
int i;
char str[500];
FILE *fp;
char cmd[500];

    printf("保存先を記入してください");
    scanf("%s",str);
    sprintf(cmd, "MKDIR %s\n",str);
    system( cmd );
    strcat(str,"test.txt");

    if((fp = fopen(str,"w")) == NULL) return 0;

    for(i=0;i<100;i++){
        fprintf(fp,"%5d",i);
    }
    fclose(fp);
    return 0;
}

ごめん 所詮オレではこの程度さorz
348デフォルトの名無しさん:2007/01/28(日) 20:32:50
[1] 授業単元:C言語
[2] 問題文:
実行したファイル名を除いたコマンド ライン引数に
複数個指定したすべてのファイルの内容を
標準出力に表示するプログラムを記述せよ。

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名:gcc
 [3.3] 言語:C
[4] 期限:1月30日

宜しくお願いします。
349デフォルトの名無しさん:2007/01/28(日) 20:48:38
>>348
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3538.txt

分かりやすいように判定文に !=NULL 付けたが分かるなら不要
350デフォルトの名無しさん:2007/01/28(日) 20:49:29
>>348
#include <stdio.h>
int main(int argc,char *argv[]){
int i,ch;
FILE *fp;
    for(i=1;i<argc;i++){
        if(NULL!=(fp=fopen(argv[i],"r"))){
            while(EOF!=(ch=fgetc(fp)))
                fputc(ch,stderr);
            fclose(fp);
        }
    }
    return 0;
}

351デフォルトの名無しさん:2007/01/28(日) 20:51:33
>>349
1行256文字以上あると、どうなる?
352デフォルトの名無しさん:2007/01/28(日) 20:51:55
>>350
STDERRに吐いてどうするよ
353デフォルトの名無しさん:2007/01/28(日) 20:52:51
>349
putsはないわ
354349:2007/01/28(日) 20:53:22
>>351
切り捨てる。
すまん350のように1文字ずつのほうがが良いな。
355デフォルトの名無しさん:2007/01/28(日) 21:04:22
>>352
別に?
気になるならstdoutに
356デフォルトの名無しさん:2007/01/28(日) 21:05:37
気になるも何も条件を満たしてないじゃないか
357デフォルトの名無しさん:2007/01/28(日) 21:09:20
>>353
getsはあるお(;^ω^)
358デフォルトの名無しさん:2007/01/28(日) 21:15:40
>>348
俺もかいたお。
#include <stdio.h>

int main(int argc, char **argv)
{
    int c;
    while (*++argv)
        if (freopen(*argv, "r", stdin))
            while ((c = getchar()) != EOF)
                putchar(c);
    return 0;
}
359デフォルトの名無しさん:2007/01/28(日) 21:34:42
[1] 授業単元:水理実験
[2] 問題文(含コード&リンク):データを基に標準逐次計算法により水深を求めよ
  詳しくははttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3539.zipの中の説明と
  ttp://pc10.2ch.net/test/read.cgi/tech/1169039760/299,307のリンク先にある通りです
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] VC++2003
 [3.3] 言語: C
[4] 期限: 2007年2月1日17:00
[5] その他の制限:なし

常流の場合より逐次計算法の第三項の符号を−に変えただけで思ったように行きません。
ご教授お願いします。
360デフォルトの名無しさん:2007/01/28(日) 21:35:55
>>358
そりゃヤヴァくね?argc超えた先がNULLかどうか・・・・保証されてるんだっけ?
361デフォルトの名無しさん:2007/01/28(日) 21:38:36
>>360
ISO Cの規格上
argv[argc] shall be a null pointer.
と記述され、保障されている。
362デフォルトの名無しさん:2007/01/28(日) 21:52:41
>>343-345
>>347

ありがとうございました。
パスの切り替えなんて簡単だと思っていたんですが
想像以上に難しいですね・・・・。
参考にさせていただきます。

363デフォルトの名無しさん:2007/01/28(日) 21:53:36
>>361
ありがと
364348:2007/01/28(日) 21:53:39
>>349-350>>358
ありがとうございます。
色々な書き方があるんですね…。
365359:2007/01/28(日) 21:55:27
>>359
/*K=1/n^2×A^2×R^(4/3)*/
となってますが
/*K^2=1/n^2×A^2×R^(4/3)*/
の間違いです、すみません

ttp://pc10.2ch.net/test/read.cgi/tech/1169039760/307
のように入力すると2.1〜2.2程度の値になるはずなのですが、
hiにまともな値が入らないため、2.3175より大きい値になったり、いつまでもループし続ける状況です
366デフォルトの名無しさん:2007/01/28(日) 23:32:47
367デフォルトの名無しさん:2007/01/28(日) 23:36:54
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
ファイルからデータ内容(CDアルバムのタイトルリスト)を読み込み、ソートした後、別のファイルに書き出すプログラム。
ソートはアーティスト名(英語、ローマ字表記)で行う。参照するデータ内容と構造体の宣言をテキストに載せています。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3540.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Borland Compiler
 [3.3] 言語: C)
[4] 期限: 1/30(火)

よろしくお願いします。
368デフォルトの名無しさん:2007/01/28(日) 23:52:30
>>367
>//実際はもっと多いです。
こんな書き方じゃなくて、「〜行データがあります」とか書けよ
369デフォルトの名無しさん:2007/01/28(日) 23:55:17
回答編:
#include <stdio.h>
//実際はもっとある
int main(void){
int fd;
fd=stdin;
//実際はもっとある
}
370デフォルトの名無しさん:2007/01/29(月) 00:06:18
もっと多いのか?
10億行超えるとまずいなぁw
371デフォルトの名無しさん:2007/01/29(月) 00:10:12
[1] 授業単元:プログラミング
[2] 問題文:
シェルソートによってEASYQUESTIONを7整列し、次に3整列すると何回比較するか?
 
[3] 環境
 [3.1] OS:linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C 言語
[4] 期限:無し
[5] その他の制限: 無しです
宜しくお願いします
372デフォルトの名無しさん:2007/01/29(月) 00:13:15
EASYQUESTIONって何だよ
373デフォルトの名無しさん:2007/01/29(月) 00:15:53
ファイルの名前です
374デフォルトの名無しさん:2007/01/29(月) 00:19:33
[1] 授業単元:プログラミング
[2] 問題文:
シェルソートによってファイルの名前EASYQUESTIONを7整列し、次に3整列すると何回比較するか?
 
[3] 環境
 [3.1] OS:linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C 言語
[4] 期限:無し
[5] その他の制限: 無しです
宜しくお願いします
375デフォルトの名無しさん:2007/01/29(月) 00:30:44
>370
32bit幅超える行のソートになるのか?
小分けしてマージするぐらいしか思いつかん
ファイルサイズが心配、FAT32だと制限に掛かりそうだがNTFSなら大丈夫かw
376デフォルトの名無しさん:2007/01/29(月) 00:36:44
>>374
5(7整列)+9(3整列)で14回かな?(適当)
377デフォルトの名無しさん:2007/01/29(月) 00:47:26
EASYQUESTION

7整列
EASYQUE STION
EAIONUE STSYQ 5

3整列
EAI ONU EST SYQ

EOES
EO 1
EEO 1
EEOS 3

ANSY
AN 1
ANS 2
ANSY 3

IUTQ
IU 1
ITU 2
IQTU 2

5 + (1+1+3) + (1+2+3) + (1+2+2) = 5 + 5 + 6 + 5 = 21
378デフォルトの名無しさん:2007/01/29(月) 01:09:45
[1] 授業単元:人工知能
[2] 問題文:アップローダーにアップいたしました。
      3542.txtです。
      説明図につきましては
       http://cocoa.gazo-ch.net/bbs/18/img/200701/1198816.jpg
      であります。
[3] 環境
 [3.1] OS:windows
 [3.2] コンパイラ名とバージョン:.NET
 [3.3] 言語: C 言語
[4] 期限:2007年2月1日
[5] その他の制限: 無しです

力不足でプログラムで書くことができません。
よろしくお願いいたします。
379367:2007/01/29(月) 01:13:00
すいません。
コピーしてきた参照データはあれだけだったので曖昧に書いてしまいました。
データは1000行でお願いします。
380デフォルトの名無しさん:2007/01/29(月) 01:47:54
>>378 これはむずいな〜。昔ルービックキューブをぐるぐる回してたのを思い出すよ
381デフォルトの名無しさん:2007/01/29(月) 01:54:23
よしここは遺伝的アルゴリズムだ
382デフォルトの名無しさん:2007/01/29(月) 01:56:10
>>367
これ宿題か?おまえが整理したいだけだろ?
EXCEL使えよ
383367:2007/01/29(月) 02:09:16
本当にプログラミングの宿題なんです。
よろしくお願いします。
384367:2007/01/29(月) 02:16:55
本当は自分が整理したいだけなんです。
よろしくお願いします。

385367:2007/01/29(月) 02:18:47
できましたので、もういいです。
386367:2007/01/29(月) 02:19:51
お前ら無能すぎ。さっさと答えないから悪いんだよ。
387367:2007/01/29(月) 02:21:49
すみません。excelじゃなくて、wordでした。
388デフォルトの名無しさん:2007/01/29(月) 02:23:20
>>383
宿題だとしたら 突込み処満載w
課題の全文(省略ナシ)書いてみ

それからソートするファイルはデータの多少に関わらずロダにUPしてくれ
>3の事な
389367:2007/01/29(月) 02:36:15
>>388
いや、もうできたんでいいです。
390367:2007/01/29(月) 02:40:07
>>388
上級者きどりですかw情けないですねwっうぇwっうぇwwwwww
391デフォルトの名無しさん:2007/01/29(月) 02:41:00
突っ込み所満載な宿題(?)を真面目にやってしまった自分は馬鹿ですかな。まぁいいや(笑)
>>367
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3543.txt
392390:2007/01/29(月) 02:51:54
ありゃ、>>367氏(らしい人)から罵声でもあびるかと思ったんだけど途端にだんまりじゃ寂しいなぁ…
393>>390 ≠ >>391 = >>392:2007/01/29(月) 02:55:19
あれれ、あんまり考えず書き込んだら名前欄間違ってしまったヽ(;´Д`)ノ
394393:2007/01/29(月) 02:57:53
違うんだ、俺こそ367なんだよ!誰かそ相関図を描いてくれ!111
395デフォルトの名無しさん:2007/01/29(月) 03:02:07
相姦図なら
396デフォルトの名無しさん:2007/01/29(月) 03:03:59
もういいから>>367はトリップつけろよ

367#適当な文字列 ←ここは自分で決めろ

って名前欄に入れろ
397デフォルトの名無しさん:2007/01/29(月) 03:05:05
いまさらトリップ付けても意味ないようなw
398391:2007/01/29(月) 03:08:35
多分本人は寝てるんじゃないかと推測してみたり。
399367#:2007/01/29(月) 03:14:47
私こそ本物ですよ。
どうせ信じてくれないんですよね(´;ω;`)

>>391
ありがとうございました。
400デフォルトの名無しさん:2007/01/29(月) 03:15:28
あほや
401デフォルトの名無しさん:2007/01/29(月) 03:16:35
まぁ何はともあれ
解答してくれた人がいるんだから一応解決だよな・・・
402デフォルトの名無しさん:2007/01/29(月) 05:27:48
[1]授業単元:プログラミング概論
[2]問題文:次の計算を倍精度で行い、その結果を有効桁15桁で出力するCプログラムを作成せよ。
      (1/10000)+(1/9998)+(1/9996)+(1/9994)+…+(1/4)+(1/2)
[3]環境
[3.1]linux
[3.3]言語:C
[4]期限:2007年1月29日 11:00まで
よろしくお願いします。
403デフォルトの名無しさん:2007/01/29(月) 06:00:27

初期値から値を最適化するようなC言語ソースありませんか?
勾配法を使ったものなど。。
404デフォルトの名無しさん:2007/01/29(月) 06:14:03
[1]プログラミング概論
[2]問題文:3つの非負整数 h,m,sを入力して、h時間m分s秒に相当する時間の長さを秒単位に変換して出力するCプログラムを作成しなさい。
[3]環境
[3.1]LINUX
[3.3]C
[4]期限:2007年1月29日 16:00まで
宜しくお願いします。
405デフォルトの名無しさん:2007/01/29(月) 06:21:43
s += 3600 * h + 60 * m;
406デフォルトの名無しさん:2007/01/29(月) 06:30:09
>>402
#include <stdio.h>

int main(void)
{
int i;
double s;

for (i = 10000, s = 0.; i >= 2; i -= 2)
s += 1. / i;

printf("%.15g\n", s);

return 0;
}
407デフォルトの名無しさん:2007/01/29(月) 07:09:25
>>406
どうもありがとうございました。
408デフォルトの名無しさん:2007/01/29(月) 07:23:43
(x-xi)^2+(y-yi)^2=<(z-zi)^2 の計算量ってオーダーであらわすといくらになるのでしょう?
回答お願いします
409デフォルトの名無しさん:2007/01/29(月) 07:31:50
410デフォルトの名無しさん:2007/01/29(月) 08:35:28
>>404
#include <stdio.h>

int main(void) {
    unsigned h, m, s, sa;

    printf("時:分:秒 = ");
    scanf("%u:%u:%u", &h, &m, &s);
    sa = 3600 * h + 60 * m + s;
    printf("%u秒\n", sa);

    return 0;
}
411デフォルトの名無しさん:2007/01/29(月) 10:18:08
OS UNIX 言語C
下のプログラムのpbの中身がプリントされないんだけど何でですかね?
main()
{
char *pa = "abcde";
char *pb = "fghijklmnop";
char wd[20];
int i,j;
i=0;
j=0;
do{
wd[j]=*(pa+i);
i++;
j++;
}while(wd[j]!='\0');
i=0;
do{
wd[j]=*(pb+i);
i++;
j++;
}while(wd[j]!='\0');
printf("%s\",wd);
}
412デフォルトの名無しさん:2007/01/29(月) 10:40:49
main()
{
char *pa = "abcde";
char *pb = "fghijklmnop";
char wd[20];
int i,j;
i=0;
j=0;
do{
wd[j]=*(pa+i);←この時点でpaの終端文字NULLがwd[5]に入っている
i++;
j++;
}while(wd[j]!='\0');
i=0;
do{
wd[j]=*(pb+i);
i++;
j++;
}while(wd[j]!='\0');
printf("%s\",wd);
}
413デフォルトの名無しさん:2007/01/29(月) 10:45:48
>>411
宿題なら>>1をよく読んで書き直し、
質問なら適切なスレへ移動してください

まずはループの条件を見直すところから始めるといいよ
414デフォルトの名無しさん:2007/01/29(月) 10:46:37
>>406
s の初期化は?
415デフォルトの名無しさん:2007/01/29(月) 10:52:16
>>414
s = 0が見えないのか?
416デフォルトの名無しさん:2007/01/29(月) 11:00:52
見えなかった スマソ orz
417デフォルトの名無しさん:2007/01/29(月) 11:03:08
[1] 授業単元: アルゴリズムとデータ構造
[2] 問題文(含コード&リンク): 関数のポインターを使ったプログラム
[3] 環境
 [3.1] OS: Linux
 [3.3] 言語: C
[4] 期限: 2007年1月29日2:00まで
お願いします
418デフォルトの名無しさん:2007/01/29(月) 11:04:28
何をお願いするんだよ
419411:2007/01/29(月) 11:05:29
>>412
解決しました、ありがとう
420デフォルトの名無しさん:2007/01/29(月) 11:15:19
>>417
#include<stdio.h>
#include<stdlib.h>

void jotaro(void){
 puts("オラオラオラ");
}
void dio(void){
 puts("無駄無駄無駄");
}
int main(void){
 void (*func_array[])(void)={jotaro, dio};
 int i;

 for(i=0;i<10;i++)
  func_array[rand()/((RAND_MAX+1)/2)]();

 return 0;
}
421デフォルトの名無しさん:2007/01/29(月) 11:53:50
[1]プログラミング概論
[2]問題文:3つの整数 a,b,cを読み込み、a,b,cを3辺の長さとする三角形が存在するかどうかを判定するCプログラムを作成せよ。
[3]環境
[3.1]OS:Linux
[3.3]言語:C
422デフォルトの名無しさん:2007/01/29(月) 11:56:01
[1] 授業単元:C言語プログラミング
[2] 問題文:
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3545.txt

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名:gcc
 [3.3] 言語:C言語
[4] 期限:1月31日
[5] その他の制限:1行は1024文字まで。

宜しくお願いします。
423デフォルトの名無しさん:2007/01/29(月) 12:30:00
>>421
#include <stdio.h>
int main(){
int a, b, c;
printf("A辺:"); scanf("%d",&a);
printf("B辺:"); scanf("%d",&b);
printf("C辺:"); scanf("%d",&c);
if ( a+b>c && a+c>b && b+c>a )
printf("三角形\n");
else
printf("無理w\n");
return 0;
}
424デフォルトの名無しさん:2007/01/29(月) 12:43:46
>>422
#include <stdio.h>
#include <string.h>
char *strrev(char *str) {
    int first = 0, last = strlen(str) - 1;
    while (first < last) {
        char temp = str[first];
        str[first++] = str[last];
        str[last--] = temp;
    }
    return str;
}
int main(void) {
    char line[1025];
    while (gets(line) != NULL) puts(strrev(line));
    return 0;
}
425デフォルトの名無しさん:2007/01/29(月) 12:56:28
426デフォルトの名無しさん:2007/01/29(月) 12:59:26
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
既存のデータ型では扱えない大きな数の掛け算
負の数は考慮しなくてよい

getsで2つの数字文字列を入力する
2数の積を算出する

※方法は不問、結果が正しければ良い
※最低 30桁 × 30桁 が計算可能であること
※答の前ゼロは表示しないこと

方法
2つの数字文字列をそれぞれを1文字ずつint型に変換して
int型配列に格納しておき、1桁ずつ筆算の要領で計算する


・オプション
計算の経過を筆算形式で出力する
(桁上がりなしの場合、1つだけ前ゼロが出力されても良い)
不要なゼロは表示しないこと
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語:C
[4] 期限:明日まで
[5] その他の制限:

よろしくお願いします
427425:2007/01/29(月) 13:01:22
ごめん、直角三角形と勘違いしてたorz
428デフォルトの名無しさん:2007/01/29(月) 13:34:31
小数もアリなのか?
429デフォルトの名無しさん:2007/01/29(月) 13:36:17
>>427
#include <stdio.h>
int main(){
    int a, b, c;
    printf("A辺:"); scanf("%d",&a);
    printf("B辺:"); scanf("%d",&b);
    printf("C辺:"); scanf("%d",&c);
    if ( a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a )
        printf("直角三角形\n");
    else
        printf("無理w\n");
    return 0;
}
430デフォルトの名無しさん:2007/01/29(月) 13:37:55
つ[hypot()]
431デフォルトの名無しさん:2007/01/29(月) 13:43:02
>>430
忘れてたorz
432422:2007/01/29(月) 14:09:03
>>424
有難うございました。
433デフォルトの名無しさん:2007/01/29(月) 14:10:32
[1]数値計算法
[2]一様乱数の組(xi,yi)(0≦xi≦1,0≦yi≦1,i=1,2,3,…)を生成させる。0≦x≦1,0≦y≦1
で与えられる正方形と、x^2+y^2≦1で与えられる四分円の面積に基づいて、この四分円の内部に入る乱数の組の確率を用いて円周率πを計算しなさい。i=1000の値ごとの近似値を出力し、試行計算を2万回行ってみなさい。
[3]C言語
[4]1月30日 12:00
434デフォルトの名無しさん:2007/01/29(月) 14:33:35
#include<stdio.h>
#include<stdlib.h>
double uniform_rand(void){
  return (double)rand()/RAND_MAX;
}
int main(void){
  double xi, yi, pi_4;
  long i, count_total, count_internal;

  for(i=1,count_total=0,count_internal=0;i<=20000;i++){
    xi=uniform_rand();
    yi=uniform_rand();
    if(xi*xi+yi*yi<=1.0) count_internal++;
    count_total++;

    if(i%1000==0){
      pi_4=(double)count_internal/count_total;
      printf("i=%ld pi=%f\n", i, pi_4*4);
    }
  }
  pi_4=(double)count_internal/count_total;
  printf("pi=%f\n", pi_4*4);
  return 0;
}
435デフォルトの名無しさん:2007/01/29(月) 14:39:14
>>433 もうでてたか(汁) 作っちまったから一応投稿。

#include <stdlib.h>
#include <stdio.h>
#define N 2000000
#define DRAND() ((double)rand() / (double)RAND_MAX)

int main() {
 int i, cnt = 0;
 for(i=0; i < N; i++) {
  double x, y;
  x = DRAND(); y = DRAND();
  if(x*x + y*y <= 1) cnt++;  
 }
 printf("PI=%lf\n",4.0 * (double)cnt/(double)N);
 // cnt ÷ N = 円の面積 ÷ 四角形の面積(2*2) の筈? -> (cnt/N*2*2)/r^2 = PIっぽい
 return 0;
}
436デフォルトの名無しさん:2007/01/29(月) 14:41:01
うわ、1000毎に出力すんのかorz 俺のは無視してくれ。
437デフォルトの名無しさん:2007/01/29(月) 15:54:15
>434
count一種類にしてi使えば?
438デフォルトの名無しさん:2007/01/29(月) 16:06:10
>>437
for(long i=1,count_total=0,count_internal=0;i<=20000;i++){
だったのを書き換えた名残
439デフォルトの名無しさん:2007/01/29(月) 16:29:13
>438
iで回数わかるのにcount_totalいらねーだろってことなんだが、名残とか意味分からん。
440デフォルトの名無しさん:2007/01/29(月) 16:47:48
[1] 授業単元:C++
[2]問題文
○以下の条件を満たすクラスphdataを作成せよ
・身長(cm)と体重(kg)を格納する変数をもつ
・コンストラクタで、各変数に値を格納させる
・オブジェクトを浮動小数点数に変換した際には、BMI値を返すようにする
○main()関数で、簡単な確認コードを書け
※BMI = 体重(kg) / [身長(m)×身長(m)]

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual studio 2005
 [3.3] 言語:C++
[4]期限2007年2月1日
[5]その他の制限:なし

よろしくお願いします
441デフォルトの名無しさん:2007/01/29(月) 17:06:00
[1] 授業単元:情報処理
[2] 問題文:

・データファイルから、全体の人数、英語、数学、理科の3教科の得点を打ち込む。
・各自の合計点を求める。
・3教科および、合計点それぞれについて、最大値、最小値を求めよ。
・合計点の大きい順にデータを並び替えて出力せよ。
・並べ替える前のデータも表示出力せよ。


[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Microsoft Visual C++ .NET
 [3.3] 言語: C++
[4] 期限: 2月1日
[5] その他の制限:なし

よろしくお願いします。
442デフォルトの名無しさん:2007/01/29(月) 17:53:23
1] 授業単元: C言語
[2] 問題文(含コード&リンク):2006年1月1日は日曜日である。月と日を入力すると、この日をもとに曜日を出力するプログラムを作成せよ。
月日の入力は「/」で区切ることにする。

日付を入力してください(MM/DD):12/24
12月24日は日曜日です。
こんな感じで表示をお願いします。多分ですがポインタ配列を使用するんだと思います。
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: Borland C++ Compiler
 [3.3] 言語: C言語
[4] 期限: 1月31日まで
[5] その他の制限: 基本情報の試験に出る範囲くらいまで(あいまいですみません)

宜しくお願い致します。
443デフォルトの名無しさん:2007/01/29(月) 18:16:19
>>442
#include <stdio.h>
const char *dw[] = {"日", "月", "火", "水", "木", "金", "土"};
const int dm[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int main(void) {
    int m, d, a, b;
    printf("日付を入力してください(MM/DD): ");
    scanf("%d/%d", &m, &d);
    if(m < 1 || 12 < m || d < 1 || dm[m - 1] < d) {
        fputs("不正な日付です。", stderr);
        return 1;
    }
    for(a=d-1,b=m-1;b;) a+=dm[--b];
    printf("%d月%d日は%s曜日です。", m, d, dw[a % 7]);
    return 0;
}
444デフォルトの名無しさん:2007/01/29(月) 18:24:20
>>443
グローバルな名前空間を汚すな。
static const char * const dw[] = {"日", "月", "火", "水", "木", "金", "土"};
static const int dm[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
445デフォルトの名無しさん:2007/01/29(月) 18:30:02
>>444
その前に、なぜmain()の中で定義しないのかを問うべきではないか。
446デフォルトの名無しさん:2007/01/29(月) 18:33:36
明らかに翻訳単位が一つしかないプログラムに汚染も何もないような。
447359:2007/01/29(月) 18:34:15
誤差が大きかった場合に求まったhiを次の計算に使うのでなく、
初期値として入力した値を少しずつ減算して利用していく方法で無事解決しました。
手前勝手で済みませんが質問を取り下げさせて頂きます。
お騒がせして済みませんでした。
448デフォルトの名無しさん:2007/01/29(月) 18:54:51
[1]プログラミングC
[2]問題文:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3549.txt
[3]環境
[3.1]OS:Linux
[3.2]gcc
[3.3]言語:C

よろしくお願いします。

449442:2007/01/29(月) 20:24:27
>>443
ありがとうございました。
>>444
私には「static」の意味が解からないんですが、>>443のプログラムで動きました。
>>445
mainの中に入れました。

皆さんありがとうどざいました。
450デフォルトの名無しさん:2007/01/29(月) 20:57:10
451デフォルトの名無しさん:2007/01/29(月) 22:50:38
[1] 授業単元: C#
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3551.zip
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VC#2003
 [3.3] 言語: C#
[4] 期限: 2007年 2月2日
[5] その他の制限: クイズミリオネアです。 C#なのですが、もし宜しければお願いしたい所存であります!
452デフォルトの名無しさん:2007/01/29(月) 22:56:15
>>451
スレタイを1万回読め。
453デフォルトの名無しさん:2007/01/29(月) 23:21:15
読んできました! ・・・駄目ですか?
454デフォルトの名無しさん:2007/01/29(月) 23:24:49
ダメです
455426:2007/01/29(月) 23:24:56
>>426至急お願いします!
完全じゃくなくて途中まででもいいです。
456デフォルトの名無しさん:2007/01/29(月) 23:25:47
>>451
C#のスレ探せ。無ければ立てろ。
あと最低限日本語訳が無いと作れない。
457デフォルトの名無しさん:2007/01/29(月) 23:26:39
>>455
getsを使わせるような教官は張り倒して構わん
458デフォルトの名無しさん:2007/01/29(月) 23:27:02
>>455
>>3
あーあ、ちゃんと未回答集めれば作ったのがあるのに・・・
459デフォルトの名無しさん:2007/01/29(月) 23:28:37
>>426
方法不問なのか、示された方法を用いるのか、どっちなんだい?
460デフォルトの名無しさん:2007/01/29(月) 23:28:47
>>455
getsのバッファオーバーランに関する危険性をレポートにまとめて提出しとけ。
そんな課題まじめにやる必要ないよ。
461デフォルトの名無しさん:2007/01/29(月) 23:31:00
>>458
つい最近見かけたような気がする デジャビュかとおもったw

>>455
>>3
462デフォルトの名無しさん:2007/01/29(月) 23:34:36
>>461
漏れが答えた奴だから全く同じ問題だということがすぐ分かったw
http://pc10.2ch.net/test/read.cgi/tech/1168663908/559と562だな
463デフォルトの名無しさん:2007/01/29(月) 23:37:01
>>451
やってみようと思ったが解凍してアイコンとサイズみて0.5秒で捨てた
464デフォルトの名無しさん:2007/01/29(月) 23:42:27
仕様書からプログラムおこせってのは宿題じゃない、仕事だ。
465デフォルトの名無しさん:2007/01/29(月) 23:47:34
>>451

把握です!

>>463

問題文が長過ぎですよね・・・。
でも、やってみようと思ってくれただけでも感謝です。
 
466デフォルトの名無しさん:2007/01/29(月) 23:48:42
.NET1.1か。2005だと互換性確認しながら作らんとならんからやだな
467デフォルトの名無しさん:2007/01/29(月) 23:48:56
せめて日本語に訳してくれ
468455:2007/01/29(月) 23:51:25
じゃあ、gets使わなくてもいいので、
お願いします!
469デフォルトの名無しさん:2007/01/29(月) 23:52:11
470デフォルトの名無しさん:2007/01/29(月) 23:53:15
>>468
>>3さえ満たせばすでに前スレで解答ができてるからそれを教えてやるっての
471デフォルトの名無しさん:2007/01/29(月) 23:53:59
>>468
釣りにしては…
>>1 から順番にこのスレをじっくり読め
472デフォルトの名無しさん:2007/01/30(火) 00:03:30
静かだ!w
皆いっぺんに3428.txtに行ってる予感w
473デフォルトの名無しさん:2007/01/30(火) 00:05:47
 
474デフォルトの名無しさん:2007/01/30(火) 00:16:20
>>464 >>467

そうですよね・・・ごめんなさい。

一度訳して、出来る限り簡潔にまとめて出直してきてもいいですか?

こんなC#ですけど、相手にしてもらえたら嬉しいです!

475デフォルトの名無しさん:2007/01/30(火) 00:22:28
ダメだ
476455:2007/01/30(火) 00:23:24
477デフォルトの名無しさん:2007/01/30(火) 00:30:56
>>476
途中まででいいということなので

int main()
{

途中までですが どうぞ
>>3
478デフォルトの名無しさん:2007/01/30(火) 00:35:01
>>475

おっぱいうpでもですか?
479デフォルトの名無しさん:2007/01/30(火) 00:35:07
>>477
あんまりだぉ
せめてコンパイルはとおる程度には

#include<stdio.h>
int main(){
char str[31];
gets(str);
return 0;
}
480デフォルトの名無しさん:2007/01/30(火) 00:37:09
>>478
まずうpしろ
481デフォルトの名無しさん:2007/01/30(火) 00:50:46
ごめんなさい、少し恥ずかしいです・・。

明日朝の講義があるので、寝ます・・。

相手にしてくださった方、どうもありがとうございました! 
482デフォルトの名無しさん:2007/01/30(火) 02:53:31
483デフォルトの名無しさん:2007/01/30(火) 04:12:15
484デフォルトの名無しさん:2007/01/30(火) 05:03:56
>>448
いろいろ問題が発覚したので修正。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3554.txt
485デフォルトの名無しさん:2007/01/30(火) 08:04:02
>448
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3555.txt
>484さんのパクってみたw
生年月日入力に入ると、正常入力されるまで永久に抜け出せないのは悪仕様っぽい
486デフォルトの名無しさん:2007/01/30(火) 08:05:04
487デフォルトの名無しさん:2007/01/30(火) 09:54:11
[1] 授業単元:C言語実習
[2] 問題文(含コード&リンク):
二分探索木(1)最小値の探索
二分探索木を用意し、最小値の探索を行う関数を作成しなさい。
ただし、最小値の探索の関数は、再帰を使わなくてもかける。
再帰を使った場合と、再帰を使わない場合の、
2種類の関数を作成すること。
二分探索木へのデータの格納は、
main関数の中で最初にノードの作成とリンクを手動で行う方法でよい。
【ヒント】
構造体の名前はstruct nodeとしてTreeNode型としてtypedefする
関数群
最小値を(再帰的に)探索する関数 search_min
 実習時間中に作成したものでよい
繰り返しで最小値を探索する関数 search_min_loop
 search_minを参考にして新しく作成すること
メモリの確保を行う関数 create_node
後順走査の関数 post_order_traversal
 使い終わったメモリの解放を行う
間順走査の関数 sym_order_traversal
 格納されたデータ部の値だけを出力し、
 ノードの深さに応じて位置をずらして表示すると見易くなる。

[3] 環境
 [3.1] OS: xp
 [3.2] visual studio2003
 [3.3] 言語: C
[4] 期限: 明日の朝まで
[5] その他の制限: 特になし

よろしくお願いします。
488デフォルトの名無しさん:2007/01/30(火) 10:44:12
問題文のほうが分かり難かったみたいで、すみませんでした。
>>100 >>102です。
なので平行して使用したPPTスライドをUPしてみました。

>>100 スライド ttp://www.uploda.org/uporg673581.ppt.html
>>102 スライド ttp://www.uploda.org/uporg673582.ppt.html

489デフォルトの名無しさん:2007/01/30(火) 12:26:22
490ガロ:2007/01/30(火) 14:59:37
[1] 授業単元: C++
[2] 問題文(含コード&リンク):

•自動販売機のオブジェクトを作成し実現しなさい(ジュース,たばこ,カップラーメンなど何でも良い(何の自販機は出力すること))。ただし,下記の条件を満たすこと。

<条件>
•自動販売機で購入できる「商品商品」,「お金お金」,「自動販売機自動販売機」は最低限クラス化すること。
•「カプセル化」,「継承」,「多様性」を全て利用すること。
•例外処理をすること(プログラムが頓挫した時点でNGとします)。
•入出力は,下記のとおり行うこと。

【入力】
・お金(10円〜1000円)の個数(枚数)
・購入商品選択(複数可)

【出力】
・つり銭(10円〜100円)の個数(枚数)と総購入代金
・購入商品名(複数)

•実現は,main()関数で「自動販売機」クラスのインスタンスを1つ作成し,そのクラスのbuy()メンバ関数を呼び出したら全てが動作するようにする。

[3] 環境
 [3.1] OS: (XP)
 [3.2] visual studio2003
 [3.3] C++
[4] 期限:明日中に
[5] その他の制限:なし
お願いします。
491初産:2007/01/30(火) 15:05:14
[1] 授業単元: C++言語
[2] 問題文(含コード&リンク):
short型, int型, long型, float型, double型の5つの型の変数を2つづつ宣言しなさい。

そして,それぞれの変数にキーボードから値を入力し,2つの変数を入れ替えなさい(同じ名前で,仮引数の型が違う関数を5つ作成すること。また,仮引数は参照変数にすること)

最後に,入れ替えた値を出力しなさい。

[3] 環境
 [3.1] XP
 [3.2] visual studio2003
 [3.3] C++
[4] 期限:今日中に
[5] その他の制限:なし
よろしくお願いします。
492デフォルトの名無しさん:2007/01/30(火) 15:10:16
>>490
日本語では複数形を表すのに慣用的に同じ語句を繰り返す場合(人々、品々等)があるが、
基本的に複数形はないと考えてよい。
493デフォルトの名無しさん:2007/01/30(火) 16:27:25
>>490
日本語がわりと上手だね。
どこの国の人?
494ガロ:2007/01/30(火) 16:38:31
ガロ国です。
495デフォルトの名無しさん:2007/01/30(火) 16:49:16
>>485-486
バグってるやんw 直しといたよ〜 

>448
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3558.txt
496デフォルトの名無しさん:2007/01/30(火) 17:15:48
わろた
497デフォルトの名無しさん:2007/01/30(火) 17:23:04
食べた
498デフォルトの名無しさん:2007/01/30(火) 17:36:32
WindowsVistaの動作が軽くなるプログラムきぼんぬ!
499デフォルトの名無しさん:2007/01/30(火) 17:37:57
[1]C
[2]問題文:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3559.txt
[3]環境
[3.1]OS:Linux
[3.2]gcc
[3.3]言語:C
[5] その他の制限 scanfは不可

よろしくお願いします。


500デフォルトの名無しさん:2007/01/30(火) 17:47:59
>>495
どもアリガトです はじゅかしいorz
記事削除しましたm(_ _)m
501デフォルトの名無しさん:2007/01/30(火) 19:51:29
502デフォルトの名無しさん:2007/01/30(火) 20:41:03
まちがてるぞ
503501:2007/01/30(火) 20:58:36
数値以外の入力が orz
504デフォルトの名無しさん:2007/01/30(火) 21:10:18
ん〜〜、unsigned charと0〜255ってのも何かありそうなぁ・・・
シフトビット演算子を使うのかどうかはともかく、とりあえず
入力された数値を一度2進数にしてから加工した方がええんかね?
そういった条件については書かれていないから、やれる手段の中から勝手に答えりゃ良いけど
505デフォルトの名無しさん:2007/01/30(火) 21:32:22
506momoyo:2007/01/30(火) 22:26:54

[1] 授業単元: アルゴリズム基礎
[2] (問題が小分けされていました。この問いはその問題の後半です。)
@delnameは、削除によって開放されたメモリをreallocによって返却してはいない。わざわざ返却する意味があるかを答えよ。
Aまた、返却すべきかどうかをどんな根拠で判断したらいいかを述べよ。
B項目を削除するのに削除済みの項目を未使用とマークするやり方を使う場合に、adnameとdelnameに必要な変更を施せ。自分が施した変更から、プログラムのほかの部分がどの程度分離されているかに留意せよ。
[3] 環境
 [3.1] OS: Windows
 [3.2] Visual Studio C++ 2005
 [3.3] 言語: (C)
[4] 期限: 2007年1月31日20:00まで
[5] その他の制限:C言語

よろしくおねがいします。
資料は、下記にあっぷしました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=3505
36. 可変配列関数レポート 3562.zip
507ジロー:2007/01/31(水) 01:48:50
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
自動販売機のオブジェクトを作成し実現しなさい(ジュース,たばこ,カップラーメンなど何でも良い(何の自販機は出力すること))。ただし,下記の条件を満たすこと。
<条件>
•自動販売機で購入できる「商品商品」,「お金お金」,「自動販売機自動販売機」は最低限クラス化すること。
•「カプセル化」,「継承」,「多様性」を全て利用すること。
•例外処理をすること(プログラムが頓挫した時点でNGとします)。
•入出力は,下記のとおり行うこと。

【入力】
・お金(10円〜1000円)の個数(枚数)
・購入商品選択(複数可)

【出力】
・つり銭(10円〜100円)の個数(枚数)と総購入代金
・購入商品名(複数)

•実現は,main()関数で「自動販売機」クラスのインスタンスを1つ作成し,そのクラスのbuy()メンバ関数を呼び出したら全てが動作するようにする。

[3] 環境
 [3.1] XP
 [3.2] visual studio2003
 [3.3] C++
[4] 期限:出来れば早く。
[5] その他の制限:なし
よろしくお願いします。
508ジロー:2007/01/31(水) 02:04:08
[1] 授業単元: C++
[2] 問題文(含コード&リンク):

‒int型の変数を複数個格納するクラスを作成したい。ここでメンバ変数を配列にしてしまうと限られた個数の変数しか格納することができないので,動的メモリ(new)を用いてメモリの許す限り変数を作成しようと思う。
‒メンバ変数「int*data;」をクラス内に用意し,そして,この変数にデータを追加するメンバ関数を用意して,上記のクラスを実現しなさい。
‒ただし,プログラムが終わるときにはメモリを全て解放すること(デストラクタで実現すること)。また,C言語のメモリ確保関数は用いてはいけない。

【上記以外にクラスに必要なもの】
・コンストラクタ,変数入出力用メンバ関数
【確認】
実際にインスタンスを生成し,反復文を用いてデータを入力し確認する。

[3] 環境
 [3.1] XP
 [3.2] visual studio2003
 [3.3] C++
[4] 期限:出来れば早く。
[5] その他の制限:なし
よろしくお願いします。
509ジロー:2007/01/31(水) 02:05:03
[1] 授業単元: C++
[2] 問題文(含コード&リンク):

上の課題(508)で作成したクラスにコピー機能を持たせたい。コピーコンストラクタを用いてこのクラスにコピー機能を持たせなさい。
【確認】
上の課題(508)で作成したインスタンスともうひとつインスタンスを用意し,提出課題1で作成したインスタンスをそれにコピーし,それのデータをコンソールに出力して確認する。

[3] 環境
 [3.1] XP
 [3.2] visual studio2003
 [3.3] C++
[4] 期限:出来れば早く。
[5] その他の制限:なし
よろしくお願いします。
510デフォルトの名無しさん:2007/01/31(水) 02:15:49
[1] 授業単元:コンピュータ演習
[2] 問題文: 2分木の先行順走査が、レベル順走査のキューより記憶領域を多く使うような木の例をあげよ


[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン:なし
 [3.3] 言語: C
[4] 期限: 2月7日
[5] その他の制限:なし

よろしくお願いします。
511デフォルトの名無しさん:2007/01/31(水) 03:27:45
>コンパイラ名とバージョン:なし
はて・・・
512デフォルトの名無しさん:2007/01/31(水) 03:30:39
特定のコンパイラやバージョンに依存する設問じゃないからだろ
513デフォルトの名無しさん:2007/01/31(水) 04:22:19
それどころかコーディングするような問題じゃない。
OSにも言語にも依存しない一般的なアルゴリズムの問題だな。
514デフォルトの名無しさん:2007/01/31(水) 05:25:33
bit反転なんて難しく考えないで255から引いてやればそれが反転した数値だ
515"""":2007/01/31(水) 05:30:15
● 若い桃尻お尻厳選?+秋山奈々??? ●
http://eco.no.land.to/idol/forumdisplay.php?fid=1&filter=0&orderby=views&page=1
516デフォルトの名無しさん:2007/01/31(水) 07:03:39
xorのが早くね?
517デフォルトの名無しさん:2007/01/31(水) 08:24:47
>>516
0を代入する代わりに自分自身とXORはよくやったな(アセンブラだけど)
518デフォルトの名無しさん:2007/01/31(水) 08:47:02
>>508-509
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3563.txt

例外は適当に作ったので気に入らなかったら手直ししてくれ。
519デフォルトの名無しさん:2007/01/31(水) 10:11:51
[1] 授業単元:情報演習
[2] 問題文: ファイルがEASYQUESTIONであるとしてクイックソートで整列するのに実行される比較回数を求めよ


[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン:なし
 [3.3] 言語: C
[4] 期限: なし
[5] その他の制限:なし

よろしくお願いします。
520デフォルトの名無しさん:2007/01/31(水) 10:13:22
>>519
意味不明
もっと詳しく書け
521519:2007/01/31(水) 10:15:11
[1] 授業単元:情報演習
[2] 問題文: ファイルがそれぞれE・A・S・Y・Q・U・E・S・T・I・O・Nであるとしてクイックソートで整列するのに実行される比較回数を求めよ
[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン:なし
 [3.3] 言語: C
[4] 期限: なし
[5] その他の制限:なし

よろしくお願いします。
522デフォルトの名無しさん:2007/01/31(水) 10:17:03
>>519
>>3
> ・回答の督促は禁止
> 但し、スレ中の全未回答問題レス番号を張る場合のみ許可とする

未回答問題まとめて出直して来い
523デフォルトの名無しさん:2007/01/31(水) 10:33:26
>>521
ちょっと上に既出
>371 >374

>377
524デフォルトの名無しさん:2007/01/31(水) 11:10:13

[1] 授業単元:プログラム演習
[2] 問題文:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3564.txt

[3] 環境
 [3.1] OS:windowsXP
 [3.2] コンパイラ名とバージョン:Visual C
 [3.3] 言語: C
[4] 期限:明日まで
525デフォルトの名無しさん:2007/01/31(水) 11:18:06
>>524
規則が
a -> b
a -> c
c -> a
の場合、
[1] a -> b
を出力した後に「ループ」を出力することは認められる?
それとも最初から「ループ」と出力しなければいけない?
526525:2007/01/31(水) 11:18:54
書き忘れ。上の例では入力はaだとする。
527デフォルトの名無しさん:2007/01/31(水) 11:22:11
>>524
おまえも>3を読んでこい
rule1.txtをうpしれ
528デフォルトの名無しさん:2007/01/31(水) 11:34:19
[1] 授業単元: セキュリティープログラム演習
[2] 問題文:音楽データ(WAVE,MP3等) にランダムでビットプレーンに電子透かしを埋め込む
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: 2007年2月7日17:00まで
[5] その他:WAVEの方が簡単らしいですが・・・よくわかりません
529524:2007/01/31(水) 12:04:40
言葉不足でした。すみません。
rule1.txtの内容は問題に書いてる
a -> b
b -> c
b -> x
c -> d
というのがrule1.txtの内容になっています。

>525
これも説明不足でした。すみません。
これは最初から"ループ"と表示することになっています。
530デフォルトの名無しさん:2007/01/31(水) 12:18:54
>524
変換できなくなるまでの文字を'z'にしてあるが 違ったらEND_CHARを変えてくれ
#include <stdio.h>
#define END_CHAR ('z')
int main(int argc,char *argv[])
{
char p1[16],p2[16],dst[16],buf[1024];
int ch,add;
FILE *fp;
    if (argc>=3) {
        if (NULL!=(fp=fopen(argv[1],"r"))) {
            while (NULL!=fgets(buf,sizeof(buf),fp)) {
                sscanf(buf,"%s %s %s",p1,dst,p2);
                add = p2[0]-p1[0];
                if( argv[2][0]+add < END_CHAR)
                    printf("ループ\n");
                printf("%c",argv[2][0]);
                for (ch=argv[2][0]+add;ch<=END_CHAR;ch+=add)
                    printf(" %s %c",dst,ch);
                printf("\n");
                printf("開始文字:%c\n",argv[2][0]);
            }
            fclose(fp);
        }
    }
    return 0;
}
531デフォルトの名無しさん:2007/01/31(水) 12:32:36
gome
ループの意味を取り違えた
修正するm(_ _)m
532デフォルトの名無しさん:2007/01/31(水) 12:33:24
>>530
問題を壮絶に誤解してない?

>>524
たとえばルールが
a -> z
b -> c
c -> b
で、開始文字が a の場合はループ?それとも a -> z ?
533デフォルトの名無しさん:2007/01/31(水) 12:53:16
>>532
うん 気が付いたm(_ _)m
534デフォルトの名無しさん:2007/01/31(水) 12:54:48
>524
#include <stdio.h>
#define END_CHAR ('z')
int main(int argc,char *argv[])
{
char p1[16],p2[16],dst[16],buf[1024];
int ch;
FILE *fp;
    if (argc>=3) {
        if (NULL!=(fp=fopen(argv[1],"r"))) {
            printf("%c",argv[2][0]);
            ch=argv[2][0];
            while (NULL!=fgets(buf,sizeof(buf),fp)) {
                sscanf(buf,"%s %s %s",p1,dst,p2);
                ch += p2[0]-p1[0];
                if ( ch<' ' || ch >END_CHAR)
                    break;
                else if ( ch==argv[2][0]) {
                    printf("\n出力:ループ\n");
                    break;
                }
                printf(" %s %c",dst,ch);
            }
            fclose(fp);
        }
        printf("\n開始文字:%c\n",argv[2][0]);
    }
    return 0;
}
535デフォルトの名無しさん:2007/01/31(水) 13:00:44
>>534
それも違くね?
複数行のルール適用後の値を再度ルールを適用して繰り返し行う
で入力値になったときにループを表示するのではないかな?
536デフォルトの名無しさん:2007/01/31(水) 13:06:40
多少の勘違いではなく、完全に勘違いしてると思われる。
537デフォルトの名無しさん:2007/01/31(水) 13:07:37
>>524
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3565.c
一番上の配列のサイズが 27 なのは気の迷いなので 26 に変更を。
538537:2007/01/31(水) 13:11:31
>>537 scanf 後の printf("here") はデバッグメッセージなので削除を。
539デフォルトの名無しさん:2007/01/31(水) 14:05:17
標準入力に入力されたデータを,標準出力にそのまま出力するコードを書け.
このとき,入力されるデータが,バイナリでも正しく動作するよう留意せよ.


この課題、初心者なのでわかりません。
教えてください。
540デフォルトの名無しさん:2007/01/31(水) 14:20:52
断る
541デフォルトの名無しさん:2007/01/31(水) 14:32:12
わかりました ありがとうございます。
542デフォルトの名無しさん:2007/01/31(水) 14:34:55
#include <stdio.h>
void main(void){while(putchar(getchar()));}
543デフォルトの名無しさん:2007/01/31(水) 14:56:04
まぁそれじゃあダメなんだけどネッ!
544528:2007/01/31(水) 15:23:23
[1] 授業単元: セキュリティープログラム演習
[2] 問題文:音楽データ(WAVE,MP3等) にパスワードを用いてランダムでビットプレーンに電子透かしを埋め込む
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:特になし
 [3.3] 言語:C
[4] 期限: 2007年2月7日17:00まで
[5] その他:応用での課題もあるので、よろしければ皆様のお力を貸してください。
よろしくお願いします。
545デフォルトの名無しさん:2007/01/31(水) 15:27:45
>>544
>3
546544:2007/01/31(水) 16:01:37
>>545
誠に申し訳ありません。
http://www.seospy.net/src/up0542.zip
過去の課題のプログラム一覧や、入れる透かしファイル等まとめさせて頂きました。
これらをビットプレーンという場所にWAVEファイルに電子透かしを入れ込むのが今年の課題です。
あまりプログラムに強くないので・・・よろしくお願い致します
547デフォルトの名無しさん:2007/01/31(水) 16:33:30
>>542
それじゃNULを入力しない限り無限ループするがな。
548デフォルトの名無しさん:2007/01/31(水) 16:39:36
NULを入力すれば無問題
549デフォルトの名無しさん:2007/01/31(水) 16:53:32
>>546
>3
> ・回答の督促は禁止
> 但し、スレ中の全未回答問題レス番号を張る場合のみ許可とする
550 ◆KsvSQ27RYs :2007/01/31(水) 17:33:36
[1] 授業単元:C言語 プログラミング演習
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3566.txt
[3] 環境
 [3.1] OS:Red Hat Linux
 [3.2] コンパイラ名とバージョン: gcc 4.0.1
 [3.3] 言語:C
[4] 期限: 2007年02月02日12:00 amまで
[5] その他の制限:なし

よろしくお願いします。
551デフォルトの名無しさん:2007/01/31(水) 17:40:12
12:00 am?
552デフォルトの名無しさん:2007/01/31(水) 17:41:02
同日0:00pmじゃね?
553デフォルトの名無しさん:2007/01/31(水) 17:42:47
同日12:00 pmじゃね?
554デフォルトの名無しさん:2007/01/31(水) 17:47:18
am/pm
555デフォルトの名無しさん:2007/01/31(水) 18:07:59
1] 授業単元:データ処理演習
[2] 問題文(含コード&リンク):E・A・S・Y・Q・U・E・S・T・I・O・Nの順にヒープに要素を挿入(insert)
したときヒープの配列の中身を示せ

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: アルゴリズムの問題なのでなしです
 [3.3] 言語:C
[4] 期限: 2007年02月7日まで
[5] その他の制限:なし

よろしくお願いします。
556デフォルトの名無しさん:2007/01/31(水) 18:10:37
557デフォルトの名無しさん:2007/01/31(水) 18:12:54
>>555
またお前か
順調にカス人間に成長してるな
558555:2007/01/31(水) 18:35:40
ありがとうございます
559デフォルトの名無しさん:2007/01/31(水) 18:47:06
[1] 授業単元:prog2
[2] 問題文(含コード&リンク):
文字列をトークンに分解するプログラム
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3567.zip
[3] 環境
 [3.1] OS: Windows2000
 [3.2] コンパイラ名とバージョン: Borland C++ Compiler
 [3.3] 言語: C
[4] 期限: [2007年2月16日まで]
[5] その他の制限:なし

よろしくお願いします
560デフォルトの名無しさん:2007/01/31(水) 19:07:52
>>559
token.hがない
>3
561デフォルトの名無しさん:2007/01/31(水) 19:09:58
と思ったらPDFの中にあるのかorz
562デフォルトの名無しさん:2007/01/31(水) 19:13:33
あぁあぁしまった
ごめんなさい各ファイルを作成してもう一度上げ直します
563musi:2007/01/31(水) 19:55:47
1] 授業単元: C++言語
[2] 問題文(含コード&リンク):

<クラス作成>

•(1)「干支」クラス(基本)を作成する
•(2)「干支」クラス(基本)クラスから派生した「子」クラス,「丑」クラス・・・「亥」クラス(計12個)を作成する

<準備>
•(3)main関数で「干支」(基本)クラスのポインタ変数を用意する
•(4)main関数で派生クラスのインスタンスを全て作成する(計12個)
•(5)初期値として(3)のポインタに「子」オブジェクトを格納する

<アルゴリズム>
•(6)乱数を発生させ(0〜11の範囲),出た数字分(3)のオブジェクトを1つづつずらしなさい(乱数で3が出たら「子」→「丑」→「寅」→「卯」)なお,ここで,typeid()を用いて,現在の(3)のポインタの状態を調べてずらしていくこと。
•(7)(6)を繰り返し,「亥」になったら終了しなさい。なお,繰り返しているときはどの干支になっているかを表示すること


子丑卯辰巳午未申酉戌亥寅

[3] 環境
 [3.1] Windows XP
 [3.2] visual studio2003。
 [3.3] C++
[4] 期限:明日中に
[5] その他の制限:なし
よろしくお願いします。
564デフォルトの名無しさん:2007/01/31(水) 20:27:30
[1] 授業単元:prog2
[2] 問題文(含コード&リンク):
文字列をトークンに分解するプログラム
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3568.zip
[3] 環境
 [3.1] OS: Windows2000
 [3.2] コンパイラ名とバージョン: Borland C++ Compiler
 [3.3] 言語: C
[4] 期限: [2007年2月16日まで]
[5] その他の制限:なし

>>559のアップロードしなおしです
よろしくお願いします
565デフォルトの名無しさん:2007/01/31(水) 20:58:53
[1] 授業単元:プログラミング演習T
[2] 問題文(含コード&リンク):
1000までの素数をエラトステネスの方法で計算するプログラムを作成せよ。
エラトステネスの方法とは 1000 までの奇数のうち 3 の倍数 6,9,12,・・・ を全て消す。
次に残った数のうち最小の 5 の倍数 10,15,20,25,・・・・を消す。
これを 7,11,13,17,・・・・・と1000の平方根を越えるまで続ける(31まで)。
これで 2 及び消されなかった数が素数である。

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] VC++ 2005
 [3.3] 言語:C
[4] 期限: 2月1日まで
[5] その他の制限:特になし
よろしくお願いします
566524:2007/01/31(水) 22:48:48
プログラムありがとうございました。
勉強になります。
567524:2007/01/31(水) 22:57:21
>532
その場合は開始文字がaならループには
ならないいのでa -> z となります。
568デフォルトの名無しさん:2007/01/31(水) 23:00:53
これの意味教えてください
CHECK_DEF(d) ok(d==MSVCRT_##d,"Defines (MSVCRT_)" #d " are different: %d vs. %d\n",d,MSVCRT_##d)

okって何?


内容はバッティングする宣言をMSVCRT_ってつけたのに入れ替えるような
ことらしいけど
宣言がない場合はエラーが出るのはしょうがないのかな?
569デフォルトの名無しさん:2007/01/31(水) 23:03:46
>>565
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3569.c
ネットで検索すりゃ出てくるネタだとは思うが・・・
570569:2007/01/31(水) 23:07:09
ぐぼぉ、すまそ。余計なものが入っていたんで却下しまつ
571569:2007/01/31(水) 23:09:50
ぐぼぉ、すまそ。余計なものが入っていたんで却下しまつ
572デフォルトの名無しさん:2007/01/31(水) 23:13:26
573デフォルトの名無しさん:2007/01/31(水) 23:40:43
>>565
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3571.c
クソースばっかり貼ってすまそ。某所のソースをコピって使ったけど
俺なりに改造してみた。
574デフォルトの名無しさん:2007/01/31(水) 23:47:12
>569-573
ありがとうございます。
ネットで検索したり参考書に載ってるのをやってはみたのですが
上手くいかなかったので助けをあおがせてもらいました。
575デフォルトの名無しさん:2007/01/31(水) 23:50:52
>>574
すまん、改造したけど>>573には最初の2が入ってなかった orz
576デフォルトの名無しさん:2007/01/31(水) 23:52:59
>>574
>>573の最初のfor文の中身を for(i=1; i<=MAX; i++) にしてくれい。
なんかあれこれ仕様を変更してたら、結局無駄を省いたつもりが
他のことで無駄が増えたり・・・。スレ汚しすまそ。
577デフォルトの名無しさん:2007/02/01(木) 00:09:41
>>576
memsetを使ったらいいじゃないかな
と書いてみた
578デフォルトの名無しさん:2007/02/01(木) 00:22:35
[1] 授業単元:プログラミング基礎II
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3572.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4.3
 [3.3] 言語: C
[4] 期限: 今日(2007年2月1日)の午前11時50分まで
[5] その他の制限: なし

問題文は出題されたまま書いたのですが、見にくい書き方かもしれません。ごめんなさい。
よろしくお願いします。
579578 ◆5fjFi994/o :2007/02/01(木) 00:23:23
すいません、トリップのつけ忘れです
580デフォルトの名無しさん:2007/02/01(木) 00:47:13
>>578
切り上げって表示だけ?それともA〜Dの判定にも影響してくるの?
581デフォルトの名無しさん:2007/02/01(木) 00:47:37
>578
#include <stdio.h>
int main(){
int count = 0, data, sum = 0;
printf("数値を入力,終了はEOF(ctrl+D)\n");
while (scanf("%d", &data) == 1) {
sum += data; count++; }
if (sum > 100) sum = 100;
else if (sum < 0) sum = 0;
if (count >= 5) sum = (sum+9)/10*10;
printf ("%d\n", sum);
if (sum >= 80) printf("A\n");
else if (sum >= 70) printf("B\n");
else if (sum >= 60) printf("C\n");
else printf("D\n");
}
582デフォルトの名無しさん:2007/02/01(木) 00:51:57
583578 ◆5fjFi994/o :2007/02/01(木) 01:05:27
>>580
説明が不足していて申し訳ありません。
判定にも影響します。
例えば71と入力して終了した場合は80となり、判定はAとなるプログラムをお願いします。

>>581
ありがとうございます。
実行してみたのですが、切り上げが行われていないようです・・・
584デフォルトの名無しさん:2007/02/01(木) 01:15:32
if (count >= 5)

if (sum >= 5)
585デフォルトの名無しさん:2007/02/01(木) 01:20:20
>>583
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
char buf[256];
int n, sum=0;
while(fgets(buf,sizeof(buf),stdin)){
if(strcmp(buf,"end\n") == 0) break;
n = atoi(buf);
sum += n;}
if(sum < 0) sum = 0;
else if(100 < sum) sum = 100;
if(5 <= sum) sum = (int)(sum*0.1+0.9) * 10;
printf("%d ", sum);
if(sum <= 50) putchar('D');
else if(sum == 60) putchar('C');
else if(sum == 70) putchar('B');
else if(80 <= sum) putchar('A');
putchar('\n');
return 0;}
586デフォルトの名無しさん:2007/02/01(木) 02:38:48
1] 授業単元: C言語
[2] 問題文(含コード&リンク):http://3rd.geocities.jp/as_rmter/stage_h7a.html
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: Borland C++ Compiler
 [3.3] 言語: C言語
[4] 期限: 2月1日12時まで
[5] その他の制限: ポインタ配列を必ず使う ぐらいです

どなたかよろしくお願いします
587デフォルトの名無しさん:2007/02/01(木) 02:41:29
1] 授業単元: C言語
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3574.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C言語
[4] 期限: 2月2日
[5] その他の制限:

よろしくお願いします
588デフォルトの名無しさん:2007/02/01(木) 03:38:46
[1] 授業単元:統計
[2] 問題文(含コード&リンク):http://www.lain.cc/1.jpg source.txt
[3] 環境
 [3.1] OS:WindowsXP visual studio(コンソール)
 [3.2] コンパイラ名とバージョン:VC
 [3.3] 言語:C
[4] 期限: できれば今週中にお願いします
[5] その他の制限:特にありません

1.jpgの図のブロックが移動すると、T2の列(p22の上)にp41、p23の上にp43、その右にp44
が出てきます。
このようにブロックが移動するすべてのパターンを出したいのですが、移動した際の値を作り出せません。
また、□1-4は3列ランダムで残り1個が左3つのブロックにくっつき、それぞれの確率を求めます。


途中まで書いてみたのですが、上記の部分を書くことができませんでした。
よろしくお願いします。
589デフォルトの名無しさん:2007/02/01(木) 04:50:57
誰かエスパー呼んできて
590デフォルトの名無しさん:2007/02/01(木) 05:12:10
591伊藤:2007/02/01(木) 05:12:45
エスパー伊藤です。
592578 ◆5fjFi994/o :2007/02/01(木) 07:36:14
>>585
助かりました。
ありがとうございます。
593 ◆4b1ATtPg4. :2007/02/01(木) 11:18:42
【質問テンプレ】
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
自分の学生番号と名前を表示するプログラムを作成し、プログラムと実行結果
を示せ。但し、学生番号と名前はそれぞれをメンバとして持つ構造体として定
義し、この構造体を引数として表示動作する関数を定義し、これを利用したプ
ログラムとすること。構造体タグ名やメンバ名は自由に決めてよい。構造体が
利用されていないプログラムを示した場合には減点する。

[3] 環境 LINUX
[3.3] 言語: C
[4] 期限:なるべく早めに

よろしくお願いします
594デフォルトの名無しさん:2007/02/01(木) 11:26:48
>>593
なるべく早めにやって欲しいなら学籍番号と名前よろ
595デフォルトの名無しさん:2007/02/01(木) 12:19:34
>>588-589
「自称」程度のエスパーでは無理でした(´・ω・`)
596デフォルトの名無しさん:2007/02/01(木) 12:25:14
>>593
#include <stdio.h>
typedef struct {
    char name[16];
    int idno;
} hoge;

void hogeDisp( hoge *x){ printf( "番号 >>%d\t名前:%s\n",x->idno,x->name);}

int main(void)
{
hoge a={"◆4b1ATtPg4",593};
    hogeDisp( &a );
    return 0;
}
597デフォルトの名無しさん:2007/02/01(木) 13:21:42
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):http://3rd.geocities.jp/as_rmter/stage_h7a.html
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: Borland C++ Compiler
 [3.3] 言語: C言語
[4] 期限: 2月1日12時→2月1日15時まで待ってもらえるようになりました
[5] その他の制限: ポインタ配列を必ず使う ぐらいです
どなたかよろしくお願いします
598デフォルトの名無しさん:2007/02/01(木) 13:23:06
>>597
>3
599デフォルトの名無しさん:2007/02/01(木) 13:47:27
[1] 授業単元:プログラミング技術
[2] 問題文(含コード&リンク):キーボードから5文字以内の文字列を入力し
文字配列へ格納する。格納した文字配列を表示する。
実行例
INPUT > Hello (入力)
Hello (システム表示)
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:gcc3.4
 [3.3] 言語:C言語
[4] 期限: 特になし
[5] その他の制限:配列、Null文字
600デフォルトの名無しさん:2007/02/01(木) 14:03:14
>>597
#include <stdio.h>
#define CLSSMAX (3)
int main()
{
int i,j,cnt=0,*t[CLSSMAX],a[]={52,38,79,89,57,71,90,-1},b[]={67,89,56,45,91,-1},c[]={89,34,67,65,67,55,-1};
double total,all=0;
    t[0]=a;
    t[1]=b;
    t[2]=c;

    for(i=0;i<CLSSMAX;i++){
        total=0;
        for(j=0;*t[i]>=0;j++,cnt++)
            total += *t[i]++;
        if( j!=0)
            printf("%d組の平均点は%.1fです\n",i+1, total/j);
        all +=total;
    }
    if(cnt!=0)
        printf("この学年の平均点は%.1fです\n", all/cnt);

    return 0;
}
601デフォルトの名無しさん:2007/02/01(木) 14:22:57
>>599 ネタ?
#include <stdio.h>
void main(void){char str[6];printf("INPUT>");scanf("%s",str);printf("%.5s",str);}
602デフォルトの名無しさん :2007/02/01(木) 15:03:01
>>599
#include <stdio.h>

int main()
{
int str[6];
int i, c;

printf("INPUT > ");
for(i = 0;i < 5 && (c = getchar()) != EOF && c != '\n'; i++)
str[i] = c;

if(c == '\n'){
str[i] = c;
i++;
}
str[i] = '\0';

for(i = 0; i < 6; i++)
putchar(str[i]);

return 0;
}
603588:2007/02/01(木) 15:23:12
うーん。
なんとか端折りながら書いてみたんですけど、今読み直してみるとワケワカンネ。
徹夜30時間で超てんぱってたからなぁ。
とりあえず、今日の朝提出だったんですけど来週に延ばしてもらいました。
604デフォルトの名無しさん:2007/02/01(木) 16:20:03
オレ的メモ

>328 日本語茶筌 環境構築が大変っぽいのでスルー
>333 EXCELファイルかぁ〜でスルー
>335          >347
>348          >349-350 >358
>359 自力解決 おめでと〜
>367          >391
>378 まだやってるのか?自力カンガレ
>402          >406
>404          >410
>417          >420
>421          >423
>422          >424
>426          >462
>433          >434 >435
>440 BMI値
>441 英数国 既出でスルー
>442          >443
>448          >495

605デフォルトの名無しさん:2007/02/01(木) 16:20:42
オレ的メモ2
>451 C#・・スレ違い
>487          >489
>499          >501
>491          >505
>506 レポートなのか?
>507 >490 設計仕様のみ機能仕様が不明の為スルー
>508 >509        >518
>510 レポートなのか?
>524          >537
>544 >528
>550 穴埋め問題
>555 >521 >519 >374 >371 あきらめれw  >556
>563 乱数干支
>564 >559        >582
>565          >572 >573
>578          >585
>587 スタック
>588 イミフwwwうはwwwwおkwwww
>593          >596
>597 >586        >600
>599          >602
606378:2007/02/01(木) 16:57:44
>604
まだやっています。締め切り明日なのですがまだ全然できません.
最善はつくしますが
607559:2007/02/01(木) 17:47:47
>>582
解答ありがとうございます
提出してみたのですが誤りでした
makeして自分で実行してみたときもトークンがないといわれてしまいました…

[[[  あなたの答案  ]]]
出力結果:
1行目:nullファイル名を入力しなさい: 
2行目:unknown step load clearトークンはありません
[出力結果ここまで]

[[[  正解例  ]]]
出力結果:
1行目:nullファイル名を入力しなさい: 
2行目:unknown step load clear
3行目:token[0]: data=unknown
4行目:token[1]: data=step
5行目:token[2]: data=load
6行目:token[3]: data=clearUndefined: data=unknown type=0 value=0
7行目:Keyword: [step] data=step type=1 value=5
8行目:Keyword: [load] data=load type=1 value=3
9行目:Keyword: [clear] data=clear type=1 value=0
[出力結果ここまで]
608デフォルトの名無しさん:2007/02/01(木) 18:00:28
>>607
食わせるファイルをUPしてみ
609デフォルトの名無しさん:2007/02/01(木) 18:03:34
[1] 授業単元:プログラミング演習T
[2] 問題文(含コード&リンク):
X^3-4X^2+4X-C=0
 の根をニュートン法の公式を使って求めよ。 ニュートン法は近似値をXoldとすると新しい近似値Xnewを次式で求める。
f(x)とその微分f'(x)をそれぞれ関数としてプログラムすると色々なf(x)に使えるプログラムになる。
近似値が収束するまでくり返してこの式を適用する。Cが 0.1〜1.0 の間を 0.1 刻みで変化するとき 各Cに対応する3根の値を示しなさい。
(注)式の根は3個(x1,x2,x3)あるが、それぞれに適当な初期値を与えることが重要。
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] VC++ 2005
 [3.3] 言語:C
[4] 期限: 2月2日まで
[5] その他:特になし
よろしくお願いします
610デフォルトの名無しさん:2007/02/01(木) 18:16:52
[1] アルゴリズム基礎
[2] A. delnameは、削除によって開放されたメモリをreallocによって返却してはいない。わざわざ返却する意味があるかを答えよ。
また、返却すべきかどうかをどんな根拠で判断したらいいかを述べよ。
B. 項目を削除するのに削除済みの項目を未使用とマークするやり方を使う場合に、adnameとdelnameに必要な変更を施せ。自分が施した変更から、プログラムのほかの部分がどの程度分離されているかに留意せよ。
[3] 環境
 [3.1] OS:Windows
 [3.2] 指定なし
 [3.3] 言語: C言語
[4] 期限: 2007年2月2日22:00まで
[5] その他の制限:特になし

添付資料 http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=3505
47. アルゴリズム基礎 3579.zip

よろしくお願いします!!
611デフォルトの名無しさん:2007/02/01(木) 18:46:44
オレ的傾向

マルチはパス
レポートはパス
督促・重複質問があったやつもパス
動作に必要なファイル(読込みデータの類)がUP無いモノはパス
例え質問テンプレに内容が張ってあってもパス
(ファイルファーマットで動作に影響する可能性がある為)
612デフォルトの名無しさん:2007/02/01(木) 18:49:20
                ∩
                ( ⌒)      ∩_ _グッジョブ !!
               /,. ノ      i .,,E)
              ./ /"      / /"
   _n グッジョブ!!  ./ /_、_    / ノ'
  ( l    _、 _   / / ,_ノ` )/ /_、 _    グッジョブ!!
   \ \ ( <_,` )(      /( ,_ノ` )      n
     ヽ___ ̄ ̄ ノ ヽ     |  ̄     \    ( E)
       /    /   \   ヽフ    / ヽ ヽ_//
613デフォルトの名無しさん:2007/02/01(木) 19:57:28
>>440
#include <iostream>
struct phdata {
double tall_;
double weight_;
public:
phdata(double t, double w) : tall_(t), weight_(w) {}
void print() { std::cout << "身長(cm) " << tall_ << ", 体重(kg) " << weight_; }
};

double BMI(const phdata& pd) {
if (pd.tall_ == 0) { return NAN;}
double tall_m = pd.tall_ / 100.0; //cm -> m
return pd.weight_ / (tall_m * tall_m);
}

int main()
{
using namespace std;
phdata a(155, 55), b(177, 74);

a.print();
cout << "BMI " << BMI(a) << endl;
b.print();
cout << "BMI " << BMI(b) << endl;
}
614597:2007/02/01(木) 22:30:58
>>600
無事提出できました
ありがとうございました
615あっこ:2007/02/01(木) 23:19:27
下記の課題お願いします。
[1] 授業単元:C++
[2] 問題文(含コード&リンク):

問題ごとにソースをかいてください。
http://docomo-camera-ne.jp/zeidoroom/20070201230915.jpg
http://docomo-camera-ne.jp/zeidoroom/20070201230951.jpg
http://docomo-camera-ne.jp/zeidoroom/20070201231314.jpg

[3] 環境
 [3.1] XP
 [3.2] visual studio2003
 [3.3] C++
[4] 期限:明日中に。
[5] その他の制限:なし
よろしくお願いします。
616デフォルトの名無しさん:2007/02/02(金) 01:58:11
[1] 授業単元:ソフトウェア設計実習
[2] 問題文(含コード&リンク):
シーザーの暗号文を以下に示すように自動解析するプログラムcipher4.cを作成しなさい。

暗号文(文字配列に初期値として与える)
wkh frxqwubv ghsxwb sulph plqlvwhu wrog dq dxglhqfh iulgdb lq zdohv wkdw vwlfnlqj
wr wkh hohfwlrq wlphwdeoh zrxog eh gliilfxow ehfdxvh ri wkh vhfxulwb fulvlv
実行例
the countrys deputy prime minister told an audience friday in wales that sticking
to the election timetable would be difficult because of the security crisis


[3] 環境
 [3.1] OS: (WindowsXP)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: C
[4] 期限: 2007年2月2日18:00まで

お手数ですが、よろしくお願いします。
617デフォルトの名無しさん:2007/02/02(金) 02:19:52
>>615
(3)のみ。(1)と(2)は前に出てたような気がする。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3580.txt
618デフォルトの名無しさん:2007/02/02(金) 02:33:31
>>616
#include<stdio.h>
int main(){
char c[] = "wkh frxqwubv ghsxwb sulph plqlvwhu wrog dq dxglhqfh iulgdb lq zdohv wkdw vwlfnlqj\nwr wkh hohfwlrq wlphwdeoh zrxog eh gliilfxow ehfdxvh ri wkh vhfxulwb fulvlv\n";
int i = 0;
while(c[i] != '\0'){
if('a'<=c[i] && c[i]<='c') putchar(c[i]+23);
else if('d'<=c[i] && c[i]<='z') putchar(c[i]-3);
else putchar(c[i]);
i++;}
return 0;}

自動解析って何だ・・・?
619デフォルトの名無しさん:2007/02/02(金) 02:37:11
自動解析ってシーザー暗号でずらすパラメータを自分で見つけるという
事か?そんな事は無理。膨大な辞書を持てば可能かもしれんが・・・・
宿題でそんなアホな問題が出るとも思えん。
620デフォルトの名無しさん:2007/02/02(金) 03:50:49
>>616
>>619
とりあえず解析っぽいことをしてみた。

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3586.txt
621デフォルトの名無しさん:2007/02/02(金) 03:58:47
英語で'e'が使われる確率が最も高い事を利用したわけか。なるほど。
622あっこ:2007/02/02(金) 04:29:31
>617
ありがとうございました。
623あっこ:2007/02/02(金) 04:33:08
下記の課題お願いします。
[1] 授業単元:C++
[2] 問題文(含コード&リンク):

問題ごとにソースをかいてください。
@http://docomo-camera-ne.jp/zeidoroom/20070202042658.jpg
Ahttp://docomo-camera-ne.jp/zeidoroom/20070202042758.jpg
Bhttp://docomo-camera-ne.jp/zeidoroom/20070202043021.jpg

[3] 環境
 [3.1] XP
 [3.2] visual studio2003
 [3.3] C++
[4] 期限:明日中に。
[5] その他の制限:なし
よろしくお願いします。
624デフォルトの名無しさん:2007/02/02(金) 06:20:57
マルチは頂けないなあ。
625デフォルトの名無しさん:2007/02/02(金) 09:45:53
マルチばーか。
626デフォルトの名無しさん:2007/02/02(金) 09:49:40
マルチというよりは、
問題数が多いからって並列処理かよ!
627デフォルトの名無しさん:2007/02/02(金) 10:21:24
>>623 (1) (機種依存文字は使うなって)
#include <iostream>
int main()
{
int p1 = 2, q1 = 3;
int& p2 = p1;
int& q2 = q1;
int& p3 = p2;
int& q3 = q2;
int& p4 = p3;
int& q4 = q3;
int& p5 = p4;
int& q5 = q4;

std::cout << p5 * q5 << std::endl;
}
628デフォルトの名無しさん:2007/02/02(金) 10:36:11
>>623 (2)
#include <iostream>
const int N = 10;
template <typename T>
void selection_sort(T a[N], int n)
{
for (int i = 0; i < n - 1; i++) {
T min = a[i];
int s = i;
for (int j = i + 1; j < n; j++)
if (a[j] < min) {
min = a[j]; s = j;
}
if (a[i] != a[s]) {
T t = a[i]; a[i] = a[s]; a[s] = t;
for (int j = 0; j < n; j++)
std::cout << a[j] << ' ';
std::cout << std::endl;
}
}
}

int main()
{
int a1[N] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
int a2[N] = {5, -1, 7, -7, 9, 25, -9, 5, 14, 9};
double a3[N] = {5.2, -1.2, 7.2, -7.2, 9.2, 25.2, -9.2, 5.2, 14.2, 9.2};

selection_sort<int>(a1, N);
selection_sort<int>(a2, N);
selection_sort<double>(a3, N);
}
629デフォルトの名無しさん:2007/02/02(金) 11:04:57
630デフォルトの名無しさん:2007/02/02(金) 14:38:38
631デフォルトの名無しさん:2007/02/02(金) 15:21:48
>>630
これは誰かの作りかけみたいだな
題意とUPされてるモノが違うのか?

作りかけじゃない、問題の全文をUPしてくれ
632デフォルトの名無しさん:2007/02/02(金) 15:27:07
>631
それが誰も手を ( 付けない || つけられない ) 理由
633デフォルトの名無しさん:2007/02/02(金) 17:08:52
>>630 >>550
率直な感想だが、
作りかけだとしたら、この宿題までの課題を復習しろ
もし本当にこのままで宿題が出てたとしたら、出題者をヌっころせ!
全角「”」って何んだぁ〜w

途中までやったのをUPするのは構わないが、
穴埋めじゃないモノを穴埋めだ!と宿題スレに投げるのはヤメレ
宿題も元文も無しに、間違ったモノをUPして直せだの、続けて書いてくれもヤメレ
それで督促・重複されてもどうしようもない
634:2007/02/02(金) 18:11:39
C言語についての自分の考えを1000文字位で書けといわれたんですが、どのように書けばいいですかね??
635デフォルトの名無しさん:2007/02/02(金) 18:18:31
>>634
素直に自分の思うところを記述すればいいと思うよ。
一般にどういうふうに考えられていますか、なら相談に乗れるが。
ただし、ここで議論してもフレームになるだけだろうが。
636デフォルトの名無しさん:2007/02/02(金) 18:26:44
スレみてると割りと問題丸投げしてやってあげてる人多いみたいだけど
どこがわからないか聞いてそこを教えたほうがよくない?
637デフォルトの名無しさん:2007/02/02(金) 18:27:57
>>636
どこがわからないかわかるような賢い連中は丸投げしないし、そもそもこんなスレに来ない
638デフォルトの名無しさん:2007/02/02(金) 18:28:37
このスレは相手のためのスレじゃなく。
自分達の力量を試す場じゃないの?
639デフォルトの名無しさん:2007/02/02(金) 18:29:50
>>636
ここは暇な人間が相手のことなんか考えずに腕試しに課題をこなすスレ

そういう回答が必要なら、質問系のポータルサイト行くべきだ。
640636:2007/02/02(金) 18:31:31
>>637-639
なるほど 俺が間違ってました すみません
641デフォルトの名無しさん:2007/02/02(金) 18:33:26
ここに来るやつは覚えたいんじゃなく
ただ単位をとるためにプログラムやってるだけどだ思う
642デフォルトの名無しさん:2007/02/02(金) 18:33:34
そしてしょうもないサイトを紹介する流れになる悪寒。
敢えてここで、質問スレがたくさんあることを指摘しておこう。

くだすれC言語(初心者用)
http://pc10.2ch.net/test/read.cgi/tech/1153542424/
スレを勃てるまでもないC/C++の質問はここで
http://pc10.2ch.net/test/read.cgi/tech/1167476845/
【初心者歓迎】C/C++室 Ver.34【環境依存OK】
http://pc10.2ch.net/test/read.cgi/tech/1169039760/
C言語なら俺に聞け(入門篇) Part 7
http://pc10.2ch.net/test/read.cgi/tech/1170064980/
C++なら俺に聞け(入門篇)
http://pc10.2ch.net/test/read.cgi/tech/1160897843/
はきだめC/C++下級者の質問箱 2
http://pc10.2ch.net/test/read.cgi/tech/1156206091/
643デフォルトの名無しさん:2007/02/02(金) 19:00:59
オレ的には誰かが出した宿題に誰かが回答して
その回答と自分のこなしてみたモノと比べてイロイロ考える
ロジカルな部分であったりコーディングスタイルであったり
あるいは出題者の意図と設問作成であったり
イロイロ考えた結果をレスしなくてイイのが、このスレの良いとこで張り付いてるw

もちろん質問者も回答を得てイロイロ考えるだろうが、まっそれは各人の自覚次第
644デフォルトの名無しさん:2007/02/02(金) 19:36:17
>634
Asm好きは卑屈すぎます♪高級言語は怖くないです♪
Bsic好きは中途半端♪世の中のAPはBasicで作れ〜ますがデバドラ類にはちょ〜と不足♪
C好きは賢い選択♪A・Bよりはちょ〜と、おりこう♪
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・以下 自分の考察を述べよ
645デフォルトの名無しさん:2007/02/02(金) 19:40:23
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):

一次元の熱伝導のシミュレーションを行うプログラムの作成。

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 2月7日
[5] その他の制限:特になし
646デフォルトの名無しさん:2007/02/02(金) 19:44:18
>>645
条件を超伝導にすれば楽勝だね!
647デフォルトの名無しさん:2007/02/02(金) 19:48:59
プラズマ状態でも簡単っぽい
648あっこ:2007/02/02(金) 20:00:19
みなさんありがとうございます。
649あっこ:2007/02/02(金) 20:01:39
下記の課題お願いします。
[1] 授業単元:C++
[2] 問題文(含コード&リンク):

問題ごとにソースをかいてください。
http://docomo-camera-ne.jp/zeidoroom/20070201230915.jpg
http://docomo-camera-ne.jp/zeidoroom/20070202194049.jpg
http://docomo-camera-ne.jp/zeidoroom/20070202194157.jpg

[3] 環境
 [3.1] XP
 [3.2] visual studio2003
 [3.3] C++
[4] 期限:今日中に。
[5] その他の制限:なし
よろしくお願いします。
650デフォルトの名無しさん:2007/02/02(金) 20:15:01
651n:2007/02/02(金) 20:21:47
>635確かにそうですね。では皆さんはどのように考えておられますか?
652デフォルトの名無しさん:2007/02/02(金) 20:24:52
>>651
まずはスレ違いだと考えるべきだな
653デフォルトの名無しさん:2007/02/02(金) 20:29:30
>>649
ジロー・ガロ・あっこは同族か同一か?w スルー確定w
654デフォルトの名無しさん:2007/02/02(金) 20:29:51
>>634
#include<stdio.h>
#include<string.h>

int main(void){
char *print_message="C言語についての自分の考え";
int i, n;

n=1000*2/strlen(print_message);
for(i=0;i<n;i++)
puts(print_message);
return 0;
}
655デフォルトの名無しさん:2007/02/02(金) 20:32:22
>>651
それ宿題じゃないだろ。
自分の考えを書くのが宿題なのに他人の考えを聞いてどうする。
656デフォルトの名無しさん:2007/02/02(金) 20:33:37
>>651
>>634のような莫迦には到底理解しきれないような高尚な言語
657:2007/02/02(金) 20:38:13
>>655僕は知識がないんで考えが思い浮かばないんですよ。。だから皆さんの考えを参考に出来たろと思いまして。
658デフォルトの名無しさん:2007/02/02(金) 20:41:57
>>657
>644書いて出しとけ
シャレの判る先生ならニヤリッとして点くれるかもよw
659デフォルトの名無しさん:2007/02/02(金) 20:42:00
>>657
知識が無いってことを1000文字書けばいいじゃないか
660デフォルトの名無しさん:2007/02/02(金) 20:45:30
>>657
× 皆さんの考えを参考に
○ 皆さんの答えを丸写し
661n:2007/02/02(金) 20:47:36
誰も書いてくれないということは、皆さんも何も考えずに、プログラミングに励んでおいでですか??
662デフォルトの名無しさん:2007/02/02(金) 20:49:50
>>.661
と言って煽れば誰かが書いてくれると思ってるのだろうか?
663デフォルトの名無しさん:2007/02/02(金) 20:50:13
>>661
どうして誰も書いてくれないのか少しは自分で考えてみれば?
664デフォルトの名無しさん:2007/02/02(金) 20:51:30
>>659
昔、大学の試験で全然分からなくて
解答用紙一杯に細かい字で「すいません。分かりませんでした。」
って書いたら可でぎりぎり通してもらったことがある。
665n:2007/02/02(金) 20:54:28
まったくここはひどいインターネットですね
皆さんが無能だということはよく分かりました
666デフォルトの名無しさん:2007/02/02(金) 20:57:43
>>661
お前がC言語にたいしてどういうイメージ持ってるのかを素直に書け
667デフォルトの名無しさん:2007/02/02(金) 20:59:34
>>665
ダメだ!
ただしくは
まったくここはひどいインターネッツですね
皆さんが無能だということはよく分かりました
と言うのだ!
668デフォルトの名無しさん:2007/02/02(金) 21:02:53
それは後世の人間に修正を加えられた伝説だろ
669:2007/02/02(金) 21:06:35
>>665僕は句読点を用いますよ。そして、若干文章に笑ってしまいました。

皆さんは性格がお悪いのでしょうか??それとも2ちゃんねるの方々は、皆さんこのような受け答えなのでしょうか?
670デフォルトの名無しさん:2007/02/02(金) 21:12:04
>>669
面白半分、まじめ半分

で、お前がC言語にたいしてどういうイメージ持ってるのかを素直に書け
671デフォルトの名無しさん:2007/02/02(金) 21:14:17
当然ながら質問者の質に応じて回答の質も変える
672:2007/02/02(金) 21:19:07
>>670興味なかったから特に考えつかないんですよね。。
673デフォルトの名無しさん:2007/02/02(金) 21:23:58
興味ないなら、そんな作文書かんでいいじゃない。
莫迦らしい。進む道まちがえてるよ、君
674デフォルトの名無しさん:2007/02/02(金) 21:26:40
エキスパートCプログラミングの文章写せばいいと思うよ
675n:2007/02/02(金) 21:28:54
皆さんのレスを整理して、心理学実験のレポートを提出することにします。
スレ違いの質問に多数のレスを頂きありがとうございました。
676デフォルトの名無しさん:2007/02/02(金) 21:33:47
>>675
興味がないことを延々と書け
なぜ興味がないのかを延々とな
タイトル「C言語できたからって俺の人生かわるのか?」
第1話「俺、C言語より虹が好き」
第2話「C言語でなにが出来る?」
第16話「宿題だりぃ〜」
677デフォルトの名無しさん:2007/02/02(金) 21:42:43
>>675
なんか演繹的に破綻してそうなレポートになりそうだなw
心理学と情報を同時にやってるなら所詮般教レベル、先生もメンドイ、読まずに捨てるw

「C言語の特徴・・・以下 検索して挿入」で千文字は楽に越えてしまう適当にまとめろ
678デフォルトの名無しさん:2007/02/02(金) 21:46:16
679デフォルトの名無しさん:2007/02/02(金) 21:48:06
やっぱこの時期はスレのスピード速いなぁ
680デフォルトの名無しさん:2007/02/02(金) 21:56:42
>>588
問題文の分かりやすい説明キボン
それとも期限延びたから自力で片付けるのか?
681デフォルトの名無しさん:2007/02/02(金) 22:29:00
>>679
大学なら1月いっぱいで講義終了して2月に入れば試験だから
そろそろ勢い落ちるよ。
682デフォルトの名無しさん:2007/02/03(土) 00:33:15
1] 授業単元:コンピュータ演習
[2] 問題文(含コード&リンク):
逆数に並んでいるファイルに対して選択整列法、挿入整列法、バブル整列法の中で、もっとも早いのはどれか
[3] 環境
 [3.1] linux
 [3.2] アルゴリズムなので無し
 [3.3]C言語
[4] 期限:無し
[5] その他の制限:なし
よろしくお願いします。

683デフォルトの名無しさん:2007/02/03(土) 00:43:54
順序によるけど選択ソート。
684デフォルトの名無しさん:2007/02/03(土) 00:45:55
>>682
「選択ソート、挿入ソート、バブルソート 逆順」でぐぐれ。
685デフォルトの名無しさん:2007/02/03(土) 01:12:20
>>682
 [3.2] アルゴリズムなので無し
     ↑
この矛盾を先に答えてもらおうか!
     ↓
 [3.3]C言語

環境はアルゴリズムだと端折れるらしいが、言語指定は端折れないでC指定なのはナゼだ?
686デフォルトの名無しさん:2007/02/03(土) 01:18:48
逆順だとわかってるなら、後ろからコピーするのが最速w
687デフォルトの名無しさん:2007/02/03(土) 01:22:24
688デフォルトの名無しさん:2007/02/03(土) 04:03:24
>>681
そして宿題スレは試験スレになる。
さあ試験時間内に問題を解いてレスするんだw
689デフォルトの名無しさん:2007/02/03(土) 04:06:41
そんな暇な奴居るんだw
690デフォルトの名無しさん:2007/02/03(土) 04:33:16
691682:2007/02/03(土) 12:32:46
有難うございました!!
692630:2007/02/03(土) 15:40:34
お騒がせして申し訳ありません。
問題文は、http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3566.txt冒頭のコメントされている4行です

穴埋めの件に関しては、構造体のプロトタイプ宣言と、関数DspList()は、参考として掲載されていたものです。

参考資料として、以下アップロードします:
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3595.zip

以上、再検討のほど、よろしくお願いいたします。
693デフォルトの名無しさん:2007/02/03(土) 16:08:23
>>692
全角「”」が書かれてるからダメと言ってる訳ではない、誤解するなよ
構造体そのものの意味が解らん

>穴埋めの件に関しては、構造体のプロトタイプ宣言と、関数DspList()は、参考として掲載されていたものです。
/* 構造体のプロトタイプ宣言 */
struct Node{
  int data[N];
  struct Node *next;
};
--------------中略--------------------
  else {
    if(L->data < x){

ZIPの参考資料は見てないが
まず dataは入力した値を10個格納するアドレスなのか!入力した値そのものなのか!
アドレスと値を比較してどうしようって?
題意をこなす為には構造体の宣言からNGだって事だ
694616:2007/02/03(土) 18:01:33
>>618
>>620
返事遅れてすいません。
無事課題が提出できました!ありがとうございます。
695デフォルトの名無しさん:2007/02/03(土) 18:30:32
>>692
一度催促してる限り、>>3の条件を満たさないと解答できないじゃないか
696デフォルトの名無しさん:2007/02/03(土) 18:38:06
[1] 授業単元:ソフトウェア設計実習
[2] 問題文(含コード&リンク):
「天丼てんや」のメニューデータ(一部抜粋)より注文したい商品番号と数量、時刻を入力し、
商品の時刻に対する売り上げの結果をファイルへ出力するプログラムLevel2ka.c(main())、level2kb.c(syuukei():入力・集計と売り上げの表示)、
level2kc.c(CSV形式のファイル出力用関数)、以下の2つの構造体を含むsyukei.hを作成しなさい。なお、CSV出力のファイル名は、ten月(ゼロパディング2行表示)
日(ゼロパディング2行表示).txtにて決められるものとする。
struct menu{ //お店のメニュー構造
char*name;  //表品名
int price;  //価格
};
struct uriage{ //売り上げ構造体
int no;    //売った表品のNO.
int kazu;  //売った商品の数
int hour;  //売った時間
};
char fname[10];
FILE*fp;
ゼロパディング2行表示によるファイル名の作り方
printf("本日の月日を入力してください:");
scanf("%d%d",&m,&d);
sprintf(fname,2ten%02d%02d.txt",m,d); //%02dは2行確保し、あまった行に0を詰める
この結果5月8日を指定したら文字配列fnameには"ten0508.txt"が入力される
■メニューデータ(一部抜粋)
1:天丼500円 2:野菜天丼500円 3:えび天丼780円 4:上天丼580円 5:蟹とほうぼうの天丼弁当720円 6:蟹とほうぼうの定食850円
[3] 環境
 [3.1] OS: (WindowsXP)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: C言語
[4] 期限: 2007年2月4日15:00まで
すみませんが、お願い致します。
697696の続きです:2007/02/03(土) 18:52:30
レベル2にて作成した11月分のデータ(実際には以下の3日分をViエディタにて作成すること)が存在する。
指定したつきの時間帯に対する売り上げ数をまとめ、グラフ(最大のポイントを20に固定)にて表示する
プログラムlevel3k.c、sum.h(時間帯ごとに売り上げ数を読み込む構造体)を作成しなさい。

more ten1109.txt
N/T 11:00 12:00 13:00 14:00 15:00 16:00 17:00
No1: 2 8 8 2 4 2 3
NO2: 5 10 9 4 6 3 4
NO3: 4 13 13 4 5 4 2
No4: 6 3 4 2 8 6 7
NO5: 3 16 6 4 4 4 6
NO6: 2 11 7 3 3 2 3
more ten1110.txt
N/T 11:00 12:00 13:00 14:00 15:00 16:00 17:00
No1: 2 8 7 2 4 1 3
NO2: 4 9 9 4 5 3 3
NO3: 4 13 13 5 5 4 2
No4: 7 3 4 2 8 6 6
NO5: 3 18 6 4 3 2 6
NO6: 2 11 7 2 3 2 3
more ten1111.txt
N/T 11:00 12:00 13:00 14:00 15:00 16:00 17:00
No1: 2 8 8 2 4 2 3
NO2: 7 12 9 5 6 4 4
NO3: 4 16 13 4 5 4 6
No4: 6 3 4 2 8 6 7
NO5: 4 16 7 6 4 6 8
NO6: 2 11 7 3 3 2 3


698デフォルトの名無しさん:2007/02/03(土) 18:59:22
699デフォルトの名無しさん:2007/02/03(土) 21:26:35
[1] 授業単元:C++
[2] 問題文(含コード&リンク):classを利用して住所録を作れ
[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ名とバージョン: Visual Studio2003
 [3.3] 言語: C++
[4] 期限: 2007年2月5日
[5] その他の制限: 特になし


よろしくお願いします
700デフォルトの名無しさん:2007/02/03(土) 21:47:42
>>699
住所よろ
701デフォルトの名無しさん:2007/02/03(土) 22:32:54
>>692 >>630 >>550
ちゃんと資料に書いてあるじゃねかw
ええかげんな構造体宣言と自作mainの為にスルーされまくってると自覚しろ
エエカゲンなモノが無い方がレス付くの早かったな

あんまり虐めてもカワイソだから ヤルもってけ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3596.txt

ついでにDos窓のCtrl+DはCtrl+Zだからな、知ってたらスマソ
702デフォルトの名無しさん:2007/02/03(土) 22:35:23
日本語が変orz
Ctrl+DはDos窓の場合Ctrl+Zだからな だった
703デフォルトの名無しさん:2007/02/03(土) 22:49:26
>>699
まあこんな感じじゃない?
#include <string>
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
class Juusho {
public:
 string data;
 bool find(const string &str) { return data.find(str) != string::npos; }
};
void main(int argc, char *argv[]) {
 vector<Juusho> juusyoroku;
 cout << "住所、名前、電話番号等を入力して改行を押してください。ENDで終了します。" << endl;
 while (true) {
  getline(cin, line);
  if (line == "END") break;
  juusyoroku.push_back(line);
 }
 cout << "探したい住所、名前、電話番号の一部を入力して改行を押してください。ENDで終了します。" << endl;
 while (true) {
  getline(cin, line);
  if (line == "END") break;
  for (int i = 0; i < juusyoroku.size(); ++i) {
   if (juusyoroku[i].find(line))
    cout << "該当しました:" << endl << juusyoroku[i].data << endl;
  }
 }
}
704デフォルトの名無しさん:2007/02/03(土) 23:15:48
[問題]C言語
2つの値を入力してunsigned char型の変数x,yに代入してください。
また、a = x + y,b = x * yの計算をし表示してください。
※a及びbは、オーバーフローを考慮しえプログラムを作成すること
 printf関数で出力。
705デフォルトの名無しさん:2007/02/03(土) 23:16:35
で今こうゆうの書いてますが、aとbにunsigned charが入れれなく困ってます。
#include <stdio.h>

struct hensu{
int a;
int b;
unsigned char x[10];
unsigned char y[10];
}test;

void data_input()
{
printf("2つの値を入力してください。\n");
scanf("%s",&test.x);
scanf("%s",&test.y);
}

void data_output()
{
printf("x = %s, y = %s, x + y = %d, x * y = %d",test.x,test.y,test.a,test.b);
}

int main(int *, unsigned char *)
{
data_input();
data_output();

return 0;
}
706デフォルトの名無しさん:2007/02/03(土) 23:27:11
>>700
その住所録にキミの名前と住所あったらどーする?
707551=630:2007/02/03(土) 23:42:36
>>701
ありがとうございました。アップロードした後、自分で若干やってみようとしたときに、main関数がおかしいことに気づいたところでした。

改めて構造体およびポインタの勉強をやり直します。お世話になりました。
708デフォルトの名無しさん:2007/02/03(土) 23:49:38
【1】C言語
【2】Linux
【3】問題
テキストファイル(例えばそのプログラム自身)に対して、各英数字ごとにその出現度数を、ファイル全体に関してカウントし、出力するプログラムを作成せよ。
出力形式は
Char A:4
Char B:2

初心者ですお願いしますm(__)m
709デフォルトの名無しさん:2007/02/03(土) 23:51:00
>>704-705
#include <stdio.h>
struct hensu{
int a;
int b;
unsigned char x;
unsigned char y;
}test;

void data_input(void) {
int w;
printf("2つの値を入力してください。0〜255\n");
printf("X:");
while(EOF!=scanf("%d",&w))if(0<=w&&w<=255)break;else printf("0〜255で入力してください[%d]\nX:",w);
test.x = (unsigned char)w;
printf("Y:");
while(EOF!=scanf("%d",&w))if(0<=w&&w<=255)break;else printf("0〜255で入力してください[%d]\nY:",w);
test.y = (unsigned char)w;
test.a=test.x + test.y;
test.b=test.x * test.y;
}

void data_output(void){ printf("x = %d, y = %d, x + y = %d, x * y = %d",test.x,test.y, test.a,test.b); }

int main(void){
data_input();
data_output();
return 0;
}

710デフォルトの名無しさん:2007/02/03(土) 23:53:40
>>706
ワロタ
711デフォルトの名無しさん:2007/02/03(土) 23:57:38
すいません。ガード処理じゃなくて256以上の数値の表示ができるようにはならないでしょうか?
712デフォルトの名無しさん:2007/02/03(土) 23:59:31
[1] 授業単元:システムプログラミング
[2] 問題文(含コード&リンク):
UDPを利用したチャットシステムを作りなさい。
プロトコル
パケットの先頭の一文字はパケットの種類を表す。
C→S S→C 引数
i login 開始 ユーザが入室  ニックネーム
o logout 終了 ユーザが退室  ニックネーム
m message 発言 他のユーザの発言 メッセージ
e error エラー エラー エラーのあった行
すべての通信は行単位で行う。
1文字目は上記のいずれか
2文字目からが引数の内容
サーバの動作
起動時に標準入出力、標準エラー出力は閉じる。停止はシグナルで行う。 SIGINTを受け取ったら、全員に停止メッセージを送って終了する。

i 登録し、入室情報を全員に通知同一ニックネームを使っている場合は(1)のように番号を後につける
o 登録を削除し、退室情報を全員に通知
m メッセージを全員に通知

クライアントの動作
起動時に login プロトコルをサーバに送る
終了時に logout プロトコルをサーバに送る
ユーザがキーボードから入力したメッセージはサーバに送る。行単位で処理。
サーバから送られてきたメッセージは画面に表示

[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン:gcc 3.4
[3.3] 言語:C
[4] 期限: 2007年2月15日
[5] その他の制限: 特にありません。よろしくお願いします><><
713デフォルトの名無しさん:2007/02/04(日) 00:09:14
>>711
#include <stdio.h>
#include <stdlib.h>
struct hensu{
int a;
int b;
unsigned char x[10];
unsigned char y[10];
}test;

void data_input(void) {
printf("2つの値を入力してください。\n");
printf("X:");
scanf(" %s",test.x);
printf("Y:");
scanf(" %s",test.y);
test.a=atoi(test.x) + atoi(test.y);
test.b=atoi(test.x) * atoi(test.y);
}

void data_output(void){ printf("x = %s, y = %s, x + y = %d, x * y = %d",test.x,test.y, test.a,test.b); }

int main(void){
data_input();
data_output();
return 0;
}
714デフォルトの名無しさん:2007/02/04(日) 00:13:04
桁あふれ忘れた 後は任せたm(_ _)m
715デフォルトの名無しさん:2007/02/04(日) 00:14:02
大変助かりました。ありがとうございました。

質問ばかりして申し訳ありませんが、もう一つ聞かせてください。

unsigned charをshortにした場合にはどのように処理すればいいんでしょうか?
716デフォルトの名無しさん:2007/02/04(日) 00:16:55
>>715
スレ違いだが、文字列数字→数値はatoiでOK
717デフォルトの名無しさん:2007/02/04(日) 00:19:15
>>712の書き込みのものです。。
お願いします><
誰か得意な方、お願いしますーーーーーー><
718デフォルトの名無しさん:2007/02/04(日) 00:20:24
>>717
期限余裕あるからちょっとは自力でカンガレw
719デフォルトの名無しさん:2007/02/04(日) 00:22:19
そぉですよね。。。
すみません(涙)
でもプログラム理解して、考察も書かないといけないんです。。
わかったら、お願いします。。
720デフォルトの名無しさん:2007/02/04(日) 00:28:42
>>704-705です
>>709さん感謝します。
>>716さんありがとうございます。
unsigned charをshortに変換しただけではERRORで『int型はconst char *型に変換できない』というものがでてきます。

short型で処理する方法を教えていただけないでしょうか?

721デフォルトの名無しさん:2007/02/04(日) 00:29:31
まあ >>3 も読めないようではry
722デフォルトの名無しさん:2007/02/04(日) 00:30:04
すいません『short型はconst char *型に変換できない』でした…。
723デフォルトの名無しさん:2007/02/04(日) 00:34:14
>>720
たぶんまだ
unsigned char x[10];
unsigned char y[10];
こうなってないか?
>>709 は
unsigned char x;
unsigned char y;
だぞ
724デフォルトの名無しさん:2007/02/04(日) 00:35:58
>>722
あたりまえやw まぁスレ違いなんで移動すべき
int x=123456789;
char str[10];
x=123456789;
sprintf(str,"%d",x);
printf("%s\n",str);

>723
>713
725デフォルトの名無しさん:2007/02/04(日) 00:39:18
>>724
あれま
最新版があったの?
>>720アンカーしてなかったから気づかんかった
726デフォルトの名無しさん:2007/02/04(日) 00:44:24
709はできたんですけど、

unsigned charのところをshortに変えて処理するプログラムを教えて頂けないでしょうか。
m(_ _)m

727デフォルトの名無しさん:2007/02/04(日) 00:48:22
>>726
小出しにスルナw >1
728デフォルトの名無しさん:2007/02/04(日) 00:49:00
なにこのAI
729デフォルトの名無しさん:2007/02/04(日) 00:51:12
なかなか優秀なbotだね
730デフォルトの名無しさん:2007/02/04(日) 00:52:33
AIでも小出しでもなんでも構わないんでw

マジ明日までにやらないとやばいんす…

HELP!!shortに変えてぇえ〜!!
731デフォルトの名無しさん:2007/02/04(日) 00:53:59
これはひどい
732デフォルトの名無しさん:2007/02/04(日) 00:54:50
誰かやってやれ
733デフォルトの名無しさん:2007/02/04(日) 01:37:56
結局、何をすればいいんだろう

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

struct hensu{
int a;
int b;
short x;
short y;
}test;

void data_input(void){
char temp[256]={0};
printf("x:");scanf("%s",temp);test.x=atoi(temp);
printf("y:");scanf("%s",temp);test.y=atoi(temp);
test.a=test.x+test.y;
test.b=test.x*test.y;
}
734デフォルトの名無しさん:2007/02/04(日) 01:40:02
>>730
お前はこのあと、「言語は C++ でお願いします」と言う!
735デフォルトの名無しさん:2007/02/04(日) 01:51:18
>>733さん見捨てないでくれてありがとう…感謝。

ありがとうございました。失礼します。
736デフォルトの名無しさん:2007/02/04(日) 01:54:39
>>734
言語はEiffelでお願いします。
737デフォルトの名無しさん:2007/02/04(日) 02:04:53
フランス行け
738デフォルトの名無しさん:2007/02/04(日) 03:14:44
ボンジュ〜ル♪…乙
739デフォルトの名無しさん:2007/02/04(日) 03:17:43
#include<stdio.h>

int rec(int x);
int main(void){
printf("%d\n",rec(32));
return 0;
}

int rec(int x){
printf("%d\n",x);
if(x<=1) return 1;
return 4*rec(x/2);
}
/*
32
16
8
4
2
1
1024
*/

なんで、最後の出力が1024になるんだろ。後輩に聞かれたが説明できない
740デフォルトの名無しさん:2007/02/04(日) 03:26:11
>>739
rec()は6回呼び出される。
最初のrec()が1なので、後はrec() ^ 5 = 4^5が返される。
741デフォルトの名無しさん:2007/02/04(日) 03:29:39
>>739
最後の1024はメインで表示されてるから
742デフォルトの名無しさん:2007/02/04(日) 03:42:23
>>740-741
thx!自分C使ったこと無いのに聞かれて、少し勉強して今回の以外は答えていたんだけど
1024だけはわかんなかったので。
ありがとやんす
743デフォルトの名無しさん:2007/02/04(日) 06:49:09
なんで、質問スレに行かないんだろ
744154:2007/02/04(日) 06:59:06
包茎を直すプログラムを書け!糞ども
745デフォルトの名無しさん:2007/02/04(日) 07:04:34
書けたらとっくに書いてますが、何か?(涙)
746デフォルトの名無しさん:2007/02/04(日) 07:05:55
書いても渡しませんよ
747デフォルトの名無しさん:2007/02/04(日) 07:36:26
>>744
ちょ >>154は漏れの書き込みだぞ 。・゜・(ノД`)・゜・。確かに包茎だけど
748デフォルトの名無しさん:2007/02/04(日) 09:14:32
[1] 授業単元:OS演習
[2] 問題文:postgresqlから呼び出したデータテーブルhogetbl上の項目(front,rear,te)を
        構造体GHへ格納するプログラムを作れ

■postgresql、データベースのテーブル設計
テーブル名 hogetbl

項目     名称     型
front     前部     varchar(10)
rear      後部     varchar(10)
te       長さ      int(2)


■C言語側
構造体

struct GH{
char front [10];
char rear [10];
int te;
};

[3] 環境
 [3.1] OS:Winxp
 [3.2] コンパイラ:cygwin1.3.22 postgresql7.3.2-2
 [3.3] 言語:C
[4] 期限:2月5日まで
[5] その他の制限:データベースへの接続等は出来るんだけど構造体への格納方法が分らなくて困ってます。


よろしくお願いします。
749デフォルトの名無しさん:2007/02/04(日) 12:51:51
>>708
半角文字のみ対応 全角混在には使えないorz
#include <stdio.h>
int main()
{
int i,ch,t[128]={0};
    while (EOF!=(ch=fgetc(stdin)))
        if( ch<127 )
            t[ch]++;

    for(i=0;i<127;i++)
        switch( i ){
        case('\a'):printf("BEL \\a:%d\n",t[i]);break;
        case('\t'):printf("HT  \\t:%d\n",t[i]);break;
        case('\n'):printf("LF  \\n:%d\n",t[i]);break;
        case('\v'):printf("VT  \\v:%d\n",t[i]);break;
        case('\f'):printf("CL  \\f:%d\n",t[i]);break;
        case('\r'):printf("CR  \\r:%d\n",t[i]);break;
        default:if(' '<=i)printf("Char %c:%d\n",i,t[i]);
        }
    return 0;
}
750デフォルトの名無しさん:2007/02/04(日) 13:42:11
>>739が理解できません
751デフォルトの名無しさん:2007/02/04(日) 13:46:37
>>739が理解できません
752デフォルトの名無しさん:2007/02/04(日) 13:47:48
>>739が理解できません
753デフォルトの名無しさん:2007/02/04(日) 13:52:17
main の中の printf と rec の中の printf を区別すると分かるんじゃまいか
754デフォルトの名無しさん:2007/02/04(日) 13:57:16
>>739が理解できました
755デフォルトの名無しさん:2007/02/04(日) 14:01:09
>>739が理解できました
756デフォルトの名無しさん:2007/02/04(日) 14:02:50
>>739が理解できました
757デフォルトの名無しさん:2007/02/04(日) 14:03:17
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク)
3*3のint型2次元配列を宣言し、1から9までの整数値を
for文を使用して配列要素に格納し、各行ごとの和を表示する。
実行結果
1+2+3=6
4+5+6=15
7+8+9=24
[3] 環境
 [3.1] OS:windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:なし
[5] その他の制限 多次元配列、制御構造
758デフォルトの名無しさん:2007/02/04(日) 14:11:26
>>757
#include <stdio.h>

int main(){
    int a[3][3], i, j, s;
    for(i=0; i<9; i++) a[i/3][i%3]=i+1;
    for(i=0; i<3; i++) {
        s=0;
        for(j=0; j<3; j++) {
            printf("%s%d", j==0?"":"+", a[i][j]);
            s+=a[i][j];
        }
        printf("=%d\n", s);
    }
    return 0;
}
759デフォルトの名無しさん:2007/02/04(日) 14:19:54
C++の質問です。Assignment.txtからデータをifstreamで読み込んで、そのテキストにある(,{,[,],},)ペアを見つけるIfelse文を書こうとしてます。
例えば、( )、(())、([)]だったら「括弧のペアが見つかりました」と表示して。
その他、(]、([、}などだったら「○○のペアが見つかりません」などと結果を表示させたいんですが、
肝心のIfelse文が上手く書けません。助けてくださると嬉しい限りです。
ちなみにopening.top(match)はclass Stack言う私が作ったclassを使って、Stackにある一番上にある値をchar matchに移しています。
Stack openings;
while(!dataIn.eof()){
dataIn >> symbol;
while(is_matched && symbol != '\n'){
if(symbol == '{' || symbol == '(' || symbol == '[')
{openings.push(symbol);}
dataIn >> symbol;
if(symbol == '}' || symbol == ')' || symbol == ']'){
if(openings.empty()){
cout << "Unmatched closing bracket: " << symbol
<< " detected." << endl;
is_matched = false;}
else{
char match;
openings.top(match);
openings.pop();
is_matched = (symbol == '}' && match == '{')
|| (symbol == ')' && match == '(')
|| (symbol == ']' && match == '[');
if(!is_matched)
cout << "Bad match: " << match << symbol << endl; }
}
}
if(!openings.empty())
cout << "Unmatched opening bracket(s) detected." << endl;}
760デフォルトの名無しさん:2007/02/04(日) 14:22:36
>>759
ここは質問スレじゃない。もし宿題だと言うのなら、>>1を読んでテンプレを埋めれ
761デフォルトの名無しさん:2007/02/04(日) 14:31:33
[1] 授業単元: プログラム演習T
[2] 問題文(含コード&リンク):
キーボードから16進数の数値を入力し、その数値を反転させた値
下位4ビットを全て1にした値、上位4ビットを全て0にした
値を16進数で表示する。(入力値は8桁固定)
[3] 環境
 [3.1] OS: Windows 
[3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: [無期限]
[5] その他の制限: ビット演算子・論理処理を用いて
762デフォルトの名無しさん:2007/02/04(日) 14:57:29
#include <stdio.h>

int main(){
    unsigned char i;
    if(scanf("%hhX", &i)) {
        printf("%02hhX\n", (unsigned char)~i);
        printf("%02hhX\n", i | 0x0F);
        printf("%02hhX\n", i & 0x0F);
        return 0;
    }
    return 1;
}
763759:2007/02/04(日) 15:19:17
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): テキストファイルに書かれている括弧のペア全て揃っているかのの有無を見つけるIfelse文
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] Dev-C++
 [3.3] C++
[4] 期限: 2007年2月5日
[5] その他の制限:下の例文を使ってテキストファイルから読み込んだものを対応出来るように。
Stack openings;
while(is_matched && symbol != '\n'){
if(symbol == '{' || symbol == '(' || symbol == '[')
{openings.push(symbol);}
dataIn >> symbol;
if(symbol == '}' || symbol == ')' || symbol == ']'){
if(openings.empty()){
cout << "Unmatched closing bracket: " << symbol
<< " detected." << endl;
is_matched = false;}
else{
char match;
openings.top(match);
openings.pop();
is_matched = (symbol == '}' && match == '{')
|| (symbol == ')' && match == '(')
|| (symbol == ']' && match == '[');
if(!is_matched)
cout << "Bad match: " << match << symbol << endl; } } }
if(!openings.empty())
cout << "Unmatched opening bracket(s) detected." << endl;}
先程は済みませんでした。
764デフォルトの名無しさん:2007/02/04(日) 15:25:40
>>763
759 を見るに、( [ ) ] のような互い違いになっている括弧でも
ペアが見つかったとしないといけないんだね?
765デフォルトの名無しさん:2007/02/04(日) 15:25:49
712のものです><
チャットのソースなんですが、みなさんよろしくお願いします(*- -)(*_ _)
766デフォルトの名無しさん:2007/02/04(日) 15:26:16
>>762
scanf で値を受け取る領域が足りてないよ (int と同じ大きさが必要)
767デフォルトの名無しさん:2007/02/04(日) 15:31:37
>>763
スレタイ読めない奴か?Debug相談はスレ違い
その文捨てるならヤルw 捨てないなら出直せ、つか他所逝け
768デフォルトの名無しさん:2007/02/04(日) 15:32:19
分からないので、お願いします

[1] 授業単元: 情報処理基礎
[2] 問題文(含コード&リンク)
・データファイルから全体の人数(50人)、英語、数学、理科の三教科の得点を読み込む
・各自の三科目合計点を求める。
・三教科及びそれぞれについて、最大値、最小値を求めよ。
・合計点の大きい順にデータを並べ替えて表示せよ。
・並べ替える前のデータも表示せよ。

データ:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3599.lzh
(風の噂で、データの全体の人数は+1しなければいけないと聞いたので、51にしてあります。50でよかったらすいません;)

ファイル名は以下のようにせよ。
・入力データファイル data.dat
・ソースファイル  k24.cpp
・出力データファイル out.dat

[3] 環境
 [3.1] OS:windows xp
 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2005
 [3.3] 言語:C++
[4] 期限:明日15時まで
[5] その他の制限
769デフォルトの名無しさん:2007/02/04(日) 15:33:59
>>765
>>3 を100万回読め。

712 で答えが出ない理由のひとつとして、ネットワーク周りの
環境が全く書かれていないことが挙げられる。

どうせあんたじゃ自分の環境を正しく説明できないだろうから、
これまでに提示された/作ったプログラムを1つくらいアップロードすると
現状では手を出さない人が手を出すかもしれない。
770デフォルトの名無しさん:2007/02/04(日) 15:35:42
>>767
おいおい。あんた以外の誰かがやるかもしれないんだから
出直せとか他所行けは無いだろう。
771デフォルトの名無しさん:2007/02/04(日) 15:37:03
>>766
ありゃ、そりゃ初耳だ。
hhでもint分必要なのか?
772デフォルトの名無しさん:2007/02/04(日) 15:40:54
>>770
ここでDebug相談受けてらキリないし、そう云うスレは他にあるがなにか?
773デフォルトの名無しさん:2007/02/04(日) 15:41:19
>>763 >>759
>Stack言う私が作ったclass
これもよろ。他にも何か書いてないことがあれば全て書くように。



まぁ>>770がやるみたいだし余計な話かもしれないけどね
774デフォルトの名無しさん:2007/02/04(日) 15:46:49
>>769 すみません。読みました。。
これが講義資料に載っていた簡略版Clientです。
こんな感じでいいでしょうか?
775デフォルトの名無しさん:2007/02/04(日) 15:48:09
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
main(int argc, char *argv[]) {
int s;
struct sockaddr_in my_addr, server;
int serverlen, nc;
struct hostent *host;
char buf[1024];
serverlen = sizeof(server);
s = socket(AF_INET, SOCK_DGRAM, 0);
if(s<0) error("socket");
host = gethostbyname(argv[1]);
if(host==NULL) error("gethostbyname");
memset(&server, 0, sizeof(server));
server.sin_family = AF_INET;
server.sin_port = htons(8000);
memcpy(&server.sin_addr, host->h_addr,host->h_length);
fgets(buf, 1023, stdin);
while(buf[0]!='.') {
sendto(s, buf, strlen(buf), 0, (struct sockaddr *)&server, sizeof(server));
memset(buf, 0, 1024);
nc = recvfrom(s, buf, 1023, 0, (struct sockaddr *)&server, &serverlen);
printf("%s", buf);
fgets( buf, 1023, stdin);
}
}
error(char *msg) { perror(msg); exit(1); }
776デフォルトの名無しさん:2007/02/04(日) 15:48:46
>>771
ごめん。
調べたら hh で signed char, unsigned char の修飾ができるみたいだ。
gcc 3.4.2(mingw-special)で実行したら、他の値が書き換わったもんだから書きこんでしもた。
このコンパイラは少なくとも hh には対応してないっぽ。orz

#include<stdio.h>
int main(void){
unsigned char a[4]={0x12, 0x34, 0x56, 0x78};
unsigned char *i;
i=a;
printf("%02hhX %02hhX %02hhX %02hhX\n", a[0], a[1], a[2], a[3]);
if(scanf("%hhX", i)) {
printf("%02hhX\n", (unsigned char)~(*i));
printf("%02hhX\n", (*i) | 0x0F);
printf("%02hhX\n", (*i) & 0x0F);
printf("%02hhX %02hhX %02hhX %02hhX\n", a[0], a[1], a[2], a[3]);
}
return 0;
}
/*---------------
実行結果
12 34 56 78
44
BB
4F
04
44 00 00 00
---------------*/
777デフォルトの名無しさん:2007/02/04(日) 15:49:25
>>774
>>3
>・回答の督促は禁止
>但し、スレ中の全未回答問題レス番号を張る場合のみ許可とする
はい、もう100万回声に出して読むべし
778デフォルトの名無しさん:2007/02/04(日) 15:53:41
>>777
はい。。。
779デフォルトの名無しさん:2007/02/04(日) 16:00:24
>>776
読みました!
780デフォルトの名無しさん:2007/02/04(日) 16:05:35
[1] 授業単元:C言語実習
[2] 問題文(含コード&リンク):
キーボードから2つの整数値を入力し、値の表示、値の乗算結果の表示
整数値の交換し結果の表示の3つを行う。
メイン関数内で入力用の変数宣言と変数の表示、乗算結果の表示、交換結果の表示を行い
キーボードからの入力受付および変数への格納は副関数で行うこと。

[3] 環境
 [3.1] OS:windows xp
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:来週月曜まで
[5] その他の制限: 関連項目に関数、プロトタイプ宣言、ポインタ、因数。戻り値の型が
入っていました

よろしくお願いします
781デフォルトの名無しさん:2007/02/04(日) 16:06:13
>>770
「何か?」ってどんな返答が欲しいのかな?

とりあえず、キリがなければあんたは無視すればいいんじゃないかな。
俺自身は「こんな宿題が出て、ここまでやったが力尽きた。ヘルプ。」
みたいな質問ならこっちでも適切だと思ってるんだけどね。
782デフォルトの名無しさん:2007/02/04(日) 16:13:19
結局全員に無視されて未回答のまま終わる・・・と
783デフォルトの名無しさん:2007/02/04(日) 16:15:18
>781
だったら答えてやれよw
784デフォルトの名無しさん:2007/02/04(日) 16:16:30
>>781
レス番間違いなのか?w>772か?w

ま>781の様な状態はアリだと思うが、
課題全文も載らず作りこんだ一部しかないもので、どうやってスレ住人にヤレと?
しかも・・・あえて言うまい

>770>781カンガレ w
785759:2007/02/04(日) 16:22:34
ttp://vipperup.orz.hm/uploader/src/viup31257.zip.html

必要なファイル類をアップしました↑

それと、ちゃんと([)]でもペアが揃ってるか確認出来ないと駄目です。
よろしくお願いします。
786デフォルトの名無しさん:2007/02/04(日) 16:22:55
>>776
なるほど。hhはC99で追加されてるみたいね。
ということは、コンパイラが指定されてる以上使っちゃまずいか

>>761 修正版

#include <stdio.h>

int main(){
    unsigned int i;
    unsigned char *c;
    if(scanf("%2X", &i)) {
        c = (unsigned char *)&i;
        printf("%02X\n", (unsigned char)~(*c));
        printf("%02X\n", *c | 0x0F);
        printf("%02X\n", *c & 0x0F);
        return 0;
    }
    return 1;
}
787759:2007/02/04(日) 16:23:25
DLキーはCSCIです。
済みません、DLキー忘れてました(´Д`;)
788786:2007/02/04(日) 16:25:01
>>761
更に修正。エンディアン考慮してなかった。
なんかgdgdだな…orz

int main(){
    unsigned int i;
    unsigned char c;
    if(scanf("%2X", &i)) {
        c = i % 0xFF;
        printf("%02X\n", (unsigned char)~c);
        printf("%02X\n", c | 0x0F);
        printf("%02X\n", c & 0x0F);
        return 0;
    }
    return 1;
}
789デフォルトの名無しさん:2007/02/04(日) 16:26:59
>>786
エンディアンが決めうちになってる
>>761 の環境であれば期待通りの動作はするけど…
790デフォルトの名無しさん:2007/02/04(日) 16:27:33
>>784
俺がやるなんて一言も言ってないと思うんだけどなあ。
もしあの質問内容から回答が作れるくらいのいいエスパーだったら、
こんな能書きたれてないでさっさと解いてるんじゃないかな。

>課題全文も載らず作りこんだ一部しかないもので、どうやってスレ住人にヤレと?
ということであれば「課題全文書け」というのが正しい煽り文句で、
「他所行け」は適当じゃないと思うんだよね。
791デフォルトの名無しさん:2007/02/04(日) 16:29:11
>>788
FF が入力された時に期待したのと違う動作をすると思う
792デフォルトの名無しさん:2007/02/04(日) 16:31:16
>>787
viup31257.zip DLKeyが一致しませんでした
csciが正しいパスのようだな、大文字小文字も判別されるから注意しる

>>790
問題は解かない、議論だけがしたいなら他所行け
793デフォルトの名無しさん:2007/02/04(日) 16:31:20
>>788
0xFFではなく0x100とするのが正しいだろうが、
普通にc = (unsigned char)i;とキャストしとけばよかろう。
794712:2007/02/04(日) 16:41:31
>>3はこういうこと?
795デフォルトの名無しさん:2007/02/04(日) 16:45:36
>>780
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int input_int(void){char temp[256];printf("整数値を入力:");scanf("%s",temp);return atoi(temp);}

int main(void)
{
int x,y,temp;
x=input_int();
y=input_int();

printf("x=%d\n",x);printf("y=%d\n",y);
printf("x^y=%.0f\n",pow(x,y));

temp=x,x=y,y=temp;

printf("xとyの交換後\n");
printf("x=%d\n",x);
printf("y=%d\n",y);

return 0;
}

小生Cしかできぬ故、>>768を誰か
796デフォルトの名無しさん:2007/02/04(日) 16:50:26
>785
ロダにひいて、ブラウザ閉じた
797デフォルトの名無しさん:2007/02/04(日) 17:32:24
>>792
誰が「解かない」って言ったんだろう。決め付けるのが好きだねえ。
798デフォルトの名無しさん:2007/02/04(日) 17:41:09
>>797
解かないで議論だけする「なら」他所行けってだけだよ
決め付けるのが好きだねぇ
799デフォルトの名無しさん:2007/02/04(日) 17:49:47
>>797
ごめんね はやとちりしちゃった ごめんね
もうちょっと居るよ
800デフォルトの名無しさん:2007/02/04(日) 18:14:31
>>768
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3601.cpp

問題の意図に従って合計を別変数にしたが、本来合計のような他の値から
自然と定まる量を別の変数として持つのは不整合の原因となるのでよろしくない。
801デフォルトの名無しさん:2007/02/04(日) 18:22:46
[1] 授業単元:C言語学習
[2] 問題文(含コード&リンク):
銅(軟銅)の低効率1.72x10^2[Ω・m]のとき、導体の断面積の直径d[mm]、長さl[m]を入力すると抵抗値が求まるプログラムを作成しなさい。
[3] 環境
 [3.1] OS: Windows
 [3.2] gcc
 [3.3] 言語:C
[4] 期限: 2007/02/09
[5] その他の制限: 解答は、ファイル名"exp.c"でソースファイルを作成
なるべくシンプルなプログラムでお願いします。
802デフォルトの名無しさん :2007/02/04(日) 18:25:18
>>768
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3602.txt
とりあえず出来たからアップ
datファイルの最初にあった51って数字は邪魔なんで行ごとdelした
803デフォルトの名無しさん :2007/02/04(日) 18:28:52
>>801
シンプルも何もただの掛け算と割り算じゃねぇか
それより抵抗値を求める公式の方をかいとけよ
804デフォルトの名無しさん:2007/02/04(日) 18:33:31
>>801
#include <math.h>
#define rho 1.72e2
main() {
  double d, l, A, R;
  printf("d[mm]: ");
  scanf("%lf", &d);
  d /= 1000; /* [mm] -> [m] */
  printf("l[m]: ");
  scanf("%lf", &l);
  A = d*d*M_PI/4;
  R = rho * l / A;
  printf("R = %f[ohm]\n", R);
}
805デフォルトの名無しさん:2007/02/04(日) 18:38:59
>>803
すまんね俺ばヵなんでわからないんです・・・

>>804
迅速な回答サンクス
公式とかあってるかわからないんだが、一様これでいってみる。
806768:2007/02/04(日) 18:44:09
>>802
ありがとうございます!
書き込んですぐに議論が勃発したから忘れられたと思ってました
家帰ったらじっくりと吟味させていただきます
807デフォルトの名無しさん:2007/02/04(日) 18:44:21
808803:2007/02/04(日) 19:05:28
言いっぱなしもなんなんで、久々本ひっぱりだして調べた
R = ρ・L/S
ρが抵抗率[Ω・m]
Sが断面積[u]
Lが長さ[m]
809デフォルトの名無しさん:2007/02/04(日) 19:08:48
スレ違いというか板違いだけど >>801 の抵抗率は異常
810デフォルトの名無しさん:2007/02/04(日) 19:15:30
たぶん、1.72x10^2[μΩ・m]なんだろうな
811デフォルトの名無しさん:2007/02/04(日) 19:16:02
1.72x10^-2[μΩ・m]だ……orz
812出来損ない:2007/02/04(日) 19:49:42
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):xy平面上の2点(x0,y0),(x1,y1)に対して、
|x0-x1|+|y0-y1|で定義される距離をマンハッタン距離という。
              x0,y0,x1,y1にあたる値をdouble型で入力し、マンハッタン距離
              を計算して出力させるプログラムを書きなさい。このとき、2数
              の差の絶対値を求める関数double dabs(double x, double y)を
              作成して利用しなさい。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual studio 2005
 [3.3] 言語:C
[4] 期限:2007年2月5日(月)00時00分

お願いします。
813デフォルトの名無しさん:2007/02/04(日) 20:10:11
>>812
#include<stdio.h>
double dabs(double x, double y){
double d;
d=x-y;
if(d<0) d=-d;
return d;
}
double manhattan_distance(double x0, double y0, double x1, double y1){
return dabs(x0, x1)+dabs(y0, y1);
}
int main(void){
printf("%f\n", manhattan_distance(1, 2, 3, 4));
return 0;
}
814デフォルトの名無しさん:2007/02/04(日) 20:18:00
double dabs(double x, double y){ return fabs(x-y); }
815出来損ない:2007/02/04(日) 20:29:37
ありがとうございました(^ω^)♪
すごく助かりました。
もう1問さっきの問題に関連した問題があるのですが
そちらも心優しいお方お願いします。

問題:>>812と同じ動作をするプログラムを、引数の絶対値を返すライブラリ
関数double fabs(double x)を使って書き直しなさい。fabs()関数は、<math.h>
を読み込んで使用する。

連続で本当申し訳ありません。
協力お願いします。
816デフォルトの名無しさん:2007/02/04(日) 20:35:31
>>814のあまのじゃくぶりを忘れないであげてください。
817出来損ない:2007/02/04(日) 20:44:25
すいません。
>>814>>813の2行目につけたせばいいのですか?
818801:2007/02/04(日) 20:49:43
先ほどはどうもありがとうございますた。
レポート提出したら速攻で再提出くらいますた。
しかし、
>>807の情報を元に自己解決。

ところが、第二門登場…orz
公式はさっきと変わらないんですが、よくわかりません。教えてください><

導体の材質、導体の断面積の直径d[mm]、長さl[m] を入力すると抵抗値が求まる
プログラムを作成しなさい。ただし、材質は、問題中の表に示された金属について
対応するプログラムを作成しなさい。
金属抵抗率[Ω・m]
アルミニウム(軟) 2:75 × 10^-8
金2:4 × 10^-8
銀1:62 × 10^-8
タングステン5:5 × 10^-8
タングステン(1000 ℃) 35 × 10^-8
銅(軟) 1:72 × 10^-8
白金10:6 × 10^-8

なんどもすいません。。
819デフォルトの名無しさん:2007/02/04(日) 20:58:43
ちょっと数字を書き換えればできるだろ
この程度の応用力も無いのかよ
820803:2007/02/04(日) 21:15:19
R = ρ*L/(π * d^2 * 10^-6 / 4)
はいできた
821デフォルトの名無しさん:2007/02/04(日) 21:20:40
>>818
#include<stdio.h>
#include<math.h>
#define Al 2.75e-8
#define Au 2.4e-8
/*略*/
int main()
{
double d,l,A;
printf("Input d[mm]:");scanf("%lf",&d);
printf("Input l[m]:");scanf("%lf",&l);
A=M_PI/4*d*d*1.0e-6;
printf("アルミニウム(軟):%.2e[Ω]\n",Al/A*l);
printf("金:%.2e[Ω]\n",Au/A*l);
/*略*/
return 0;
}

M_PIってまずいかな?
822801:2007/02/04(日) 21:24:12
すません。出来ました。簡単でした
わからなかった俺馬鹿だなwwww orz
823801:2007/02/04(日) 21:29:35
>>821
とても参考になりました。
自分の書いたプログラムがどれだけ馬鹿だったか知らされました。
もっと勉強してきます。
824デフォルトの名無しさん:2007/02/04(日) 21:31:29
昨日I大学の物理の入試にR=ρl/Sの問題が出ていたがもしかして同じ大学?
825デフォルトの名無しさん:2007/02/04(日) 21:52:13
>>824
うちのW大学でも出てたよ
826デフォルトの名無しさん:2007/02/04(日) 23:46:56
[1] 授業単元:アルゴリズム論
[2] 問題文

Fn=F(n-1)+F(n-2)
F0=0
F1=1

1:Fnを求める再帰的なプログラムF1を作成せよ
2:Fnを求める非再帰的(繰り返し文を用いた)なプログラムF2を作成せよ

3:加算回数がΘ(n)であるような再帰的な(繰り返し文を用いない)プログラムF3を作成せよ
 ヒント:Fnを格納する1次配列Fを大域変数として定義し、再起呼び出しされた直後に
     その値を見て意義(たとえば-1)かどうか検査し、未定義の場合にのみ本体を実行する
     そうでなければ呼び出し側に直ちに戻る
[3] 環境
 [3.1] OS:linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2007年2月5日(月)12時00分

[5]その他
1、2については自力でやったのですが3が理解しきれません
1、2は ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
にうpしました
827803:2007/02/05(月) 00:51:29
int Fn(int n)
{
if(n == 0)
return 0;
if(n == 1)
return 1;

return Fn(n-1)+Fn(n-2);
}
828デフォルトの名無しさん:2007/02/05(月) 00:53:10
名無しにすんのわすれてた
それも1は必要ないのね
スルーしてね
829デフォルトの名無しさん:2007/02/05(月) 00:56:41
[1] 授業単元:システムプログラミング
[2] 問題文
  UDPチャットで下のプログラムを1台で行えるように、自分のポート番号と相手のポート番号を入れて、
  通信できるようにしなさい。
  コンパイル例
  ./Chat 8000 8001
もう一つ立ち上げて、
  ./Chat 8001 8000
元のクライアントとサーバーです。
クライアントはこちらにアップ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.img/3608.c
サーバーはこちら

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.img/3609.c
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2007年2月6日(火)

[5]その他
  
よろしくお願いします。
830829:2007/02/05(月) 01:02:32
リンク間違えました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm?
これのクライアントが3608.cでサーバーが3609.cです。
使い慣れなくてすみません。。
よろしくお願いします。
831デフォルトの名無しさん:2007/02/05(月) 02:04:33
832デフォルトの名無しさん:2007/02/05(月) 02:20:40
[1] 授業単元: Computer Fundamental
[2] 問題文(含コード&リンク):Write a function multiple that determines for a pair of integers whether the second is a multiple of the first.
The function should take two integer arguments and return true if the second is a multiple of the first, false otherwise.
Use this function in a program that inputs a series of pairs of integers.
簡訳;二つのintegerを入力し、その二つが割り切れるか割り切れないかを判断するプログラムです。
割り切れれば return trueします。
[3] 環境
 [3.1] OS: (Windows XP
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語 :C++
[4] 期限: ([2007年02月06日17:00まで] または [無期限] のいずれか)
[5] その他の制限:
#include<iostream.h>
int multiple (int, int);
int n;
int main()
{
int first, second;
cout << "Type two digit numbers\n";
cin >> first >> second;
cin.ignore();
n = first % second;
if (n == 0){ cout << "These numbers are multiple\n";}
else { cout << "These numbers are not multiple\n" ;}
}
一応、ここまでは作ったのですが、引っ掛かる所として顧問に"The function should take two integer arguments and return true if the second is a multiple of the first"とあります。
return trueというコマンドがあるのでしょうか、それともこれであっている感じでしょうか。
ヘルプをお願いします。

833デフォルトの名無しさん:2007/02/05(月) 02:22:54
>>832
英語の勉強からしてこいよ。それ訳とかいうレベルじゃねーよ
834768:2007/02/05(月) 02:23:19
>>802がupしてくれたプログラムだけど、ビルドしたら
〜\visual studio 2005\projects\test\test\test.cpp(79) : error C2440: '初期化中' : 'void *' から 'DATA **' に変換できません。
'void*' から非 'void' 型への変換には明示的なキャストが必要です。
っていうエラーが出ました

調べたら、エラーメッセージのまんま、キャストをしろって言ってるのは分かったのですが
具体的にどういったふうに追記すればいいの分かりません
初歩的な事だとは思いますが、どなたかお願いします

スレ違いかどうか分からなかったので、スレ違いだったら注意してください
835デフォルトの名無しさん:2007/02/05(月) 02:28:33
>>832
二番目が一番目の倍数であるような整数の組を判定する関数 multiple を書け。
この関数は整数の引数を二つとり、二番目が一番目の倍数であれば true を、さもなくば false を返す。
整数の組の列を入力するプログラムでこの関数を使え。
836デフォルトの名無しさん:2007/02/05(月) 02:30:24
ってか訳してほしいなら
そっち系のスレ行けよ・・・
837832:2007/02/05(月) 02:35:08
皆さんの語学力の無さにがっかりしました。
ここは専門バカのスレですね。
838デフォルトの名無しさん:2007/02/05(月) 02:53:21
>>834
C++なら>800さんのが美しいと思うが?イカンの?
839デフォルトの名無しさん:2007/02/05(月) 02:57:12
>>837
そもそもint main()なんだからreturnが必要でしょ。

int main()
{

if(※) return true;
else return false;
}

※のところには以下の条件を書く。
second is a multiple of the first
ごめん俺英語わからんよ
840デフォルトの名無しさん:2007/02/05(月) 02:59:50
>>839
これだとコンパイラにtrueはintじゃないっていわれちゃうかも(推測)。
そのまま無視するかtrueを1に、falseを0にして
先生に聞かれたら
コンパイラが警告出すので一般的にTRUEは1なので1にしましたといえばいい。
841デフォルトの名無しさん:2007/02/05(月) 03:01:38
中学生レベルの英語だろ。読めん奴がいるはずがない
842デフォルトの名無しさん:2007/02/05(月) 03:03:11
>>840
一般ではTRUEは1ではない !FALSEだぁね
#define FALSE ( 0 )
#define TRUE ( !FALSE )
843デフォルトの名無しさん:2007/02/05(月) 03:10:50
>>840
しつこくてすまない。
なんとなくわかってきた。

つまり
"multiple" function should take two integer arguments and return true or false.
ということだから
multipleを作れ、戻り値の型は限定していないということ?

それならTRUEとかいらないじゃんかよ!
なーんだ

bool multiple (int first, int second)
{
 if(secondがfirstの倍数なら) return true;
 else return false;
}

%って負の値のときも正しく動作するんだっけ?
844>>802:2007/02/05(月) 03:20:44
>>834さん
自分が書いたのはC言語で、C++ではないのでCPPでコンパイルすると
必然とC++として翻訳されるので、そのエラーは仕方がないです。
というか、後からCPPって気づいてC++に変えるのも面倒なので
そのままUpしただけです。
>>838さん
俺、マクロ得意じゃないんだよ。ごめんね。
845デフォルトの名無しさん:2007/02/05(月) 03:46:42
>>48

お願いしますor2
846デフォルトの名無しさん:2007/02/05(月) 03:47:51
違った>>748ですorz
847デフォルトの名無しさん:2007/02/05(月) 03:52:16
orz=3;
848デフォルトの名無しさん:2007/02/05(月) 07:38:49
>>843
負の剰余は符号がどうなるかは処理系依存だが、剰余であることは保障されている。
849デフォルトの名無しさん:2007/02/05(月) 07:39:55
>>846
postgresql への接続が分からんので俺はパス。
参考にしたいから接続までできてるソース、アップロードしてくれんかなあ。
850デフォルトの名無しさん:2007/02/05(月) 07:47:03
>>826
#define N 50
int memo[N];
void initiaize() {
  int i;
  for (i = 0; i < N; ++i) memo[i] = -1;
}
int F(int n) {
  if (memo[n] >= 0) return memo[n];
  else {
    if (n == 0) return memo[n] = 0;
    if (n == 1) return memo[n] = 1;
    return memo[n] = F(n-1) + F(n-2);
  }
}
int main() {
  initiaize();
  printf("%d\n", F(30));
}
851829:2007/02/05(月) 10:21:22
>>831
そぉです!!ありがとうございます!!
852デフォルトの名無しさん:2007/02/05(月) 14:00:42
[1] 授業単元: 実験
[2] 問題文(含コード&リンク):
トランプの大富豪ゲームのプログラムを作りなさい。
http://ja.wikipedia.org/wiki/%E5%A4%A7%E5%AF%8C%E8%B1%AA
ここにある、
基本ルール
の仕様でお願いします。
コンピューター三人と、プレイヤー一人での対戦形式でお願いします。

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2007年2月8日17時
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
制限は特にないので、とにかくお願いします!!
853デフォルトの名無しさん:2007/02/05(月) 15:53:02
[1] 授業単元:プログラミング
[2] 問題文:以前にも似た宿題をお願いしたのですが、
ID番号(int型)と名前(char型20個の配列)をメンバーに持つ構造体を定義し、その構造体の変数を5個の配列で宣言する。5件分のID番号と名前を入力し、それを逆順に表示するプログラムを作成せよ。全ての処理はmain()関数内で行うこと(別関数に分けないこと)。
(以前は別関数でした。)今回、追加の条件があり、
構造体は一人分のデータを格納するように定義し、5人分のデータは構造体
の5個の配列として宣言してください。
→構造体の配列を使い、ループで入出力処理を行う
というものです。
<実行例>
Enter ID-No(1) : 1111
Enter Name (1) : AAAA
Enter ID-No(2) : 2222
Enter Name (2) : BBBB
Enter ID-No(3) : 3333
Enter Name (3) : CCCC
Enter ID-No(4) : 4444
Enter Name (4) : DDDD
Enter ID-No(5) : 5555
Enter Name (5) : EEEE

ID(5555), Name(EEEE)
ID(4444), Name(DDDD)
ID(3333), Name(CCCC)
ID(2222), Name(BBBB)
ID(1111), Name(AAAA)
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 2007年2月9日
[5] その他の制限:構造体まで独学しています。
854デフォルトの名無しさん:2007/02/05(月) 16:46:00
自動販売機プログラム
1:商品ファイル(goods.txt)から商品データを読み取り、画面に表示する
2:商品番号と金額の入力をユーザにうながす
3:入力てぇっくを行い、商品番号や金額が異常値の場合は、エラー表示して再入力をうながす
4:入力データが正常値の場合は、おつりの計算をして、商品とおつりを画面に表示する
5:ユーザが購入した商品の商品番号を売り上げファイル(sales.txt)に書き込む
プログラムの条件
1:"関数"と"ファイル処理"を使うこと
2:必要な場合には、"ポインタ"や"構造体"を使う(オプション)
でどなたかわかる方がいましたら教えてください
 
855デフォルトの名無しさん:2007/02/05(月) 16:55:07
>>854
>>1を読んでテンプレに従って書くこと。
書き忘れのないようしっかり書くように。
今のままだとC言語なのかC++言語なのかもわからんぞ
856デフォルトの名無しさん:2007/02/05(月) 16:57:24
>>854
あとgoods.txtをどっかにうpすること。
できればsales.txtの仕様も書いておくといい。
857デフォルトの名無しさん:2007/02/05(月) 17:03:54
自動販売機がらみって、どうしてこう訳ワカンネ奴ばっかりなんだろう?

>>584 goods.txtをUPしれ コピペじゃなくてロダにUPな
858デフォルトの名無しさん:2007/02/05(月) 17:08:40
>>853
#include <stdio.h>
typedef struct{
int id;
char name[20];
}HOGE;
int main(){
int i;HOGE hoge[5]; char buff[21];
for(i=0;i<sizeof(hoge)/sizeof(hoge[0]);++i){
printf("Enter ID-No(%d) : ",i+1);
fgets(buff,sizeof(buff),stdin);
sscanf(buff,"%d",&hoge[i].id);
printf("Enter Name(%d) : ",i+1);
fgets(buff,sizeof(buff),stdin);
sscanf(buff,"%20[^\n]",&hoge[i].name[0]);
}
for(i=sizeof(hoge)/sizeof(hoge[0])-1;0<=i;--i)
printf("ID(%d), Name(%s)\n",hoge[i].id,hoge[i].name);
return 0;
}
859デフォルトの名無しさん:2007/02/05(月) 17:11:08
>>844
あっ気悪くしたらゴメンね
オレもC野郎なので似たり寄ったりのソースになる

>>800さんみたいなコード書けるならCPPってやっぱ美しいなぁと思わんでもなかった (チラ裏
860 ◆/Pbzx9FKd2 :2007/02/05(月) 19:38:18
[1] 授業単元: 並列プログラミング
[2] 問題文(含コード&リンク):
PVMによる行列積の並列演算プログラムを作成せよ。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.3
 [3.3] 言語: C++
[4] 期限: 2007年2月5日16:00まで
[5] その他の制限:

以下のように作ってはみたものの、コンパイルが通るのですが結果が全要素0になって出力されてしまいます。
マスタ ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3611.txt
スレーブ ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3612.txt

スレーブへの行列のデータの渡し方がいけないのか、
マスタへの結果の返し方がいけないのか、さっぱりわかりません・・・
どなたかご教授のほどをよろしくお願いします。
861デフォルトの名無しさん:2007/02/05(月) 21:05:43
【質問テンプレ】
[1] 授業単元;プログラミング
[2] 問題文(含コード&リンク):1組から3組までの男子学生と女子学生の学生数を二次元配列で
初期化し、各組ごとの合計人数を求め、以下のような表を作成しなさい。
     1組   2組   3組   合計
男子学生 15   10   14
女子学生 12   13   11
合計
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: どちらでも可です
[4] 期限: 明日まで
[5] その他の制限: なし

すいません。マジで困ってて宜しくお願いします。
862デフォルトの名無しさん:2007/02/05(月) 21:13:38
>>861
#include<stdio.h>
int main(){
int n[][3]={{15,10,14},{12,13,11}};
printf("    1組 2組 3組 合計\n");
printf("男子学生 %2d  %2d  %2d  %3d\n",n[0][0],n[0][1],n[0][2],n[0][0]+n[0][1]+n[0][2]);
printf("女子学生 %2d  %2d  %2d  %3d\n",n[1][0],n[1][1],n[1][2],n[1][0]+n[1][1]+n[1][2]);
return 0;}
863デフォルトの名無しさん:2007/02/05(月) 21:50:45
あれ、>>862は急いで作ったネタのつもりだったんだけど反応が無い・・・
#include<stdio.h>
#define M 2
#define N 3
int main(){
int n[M][N] = { {15,10,14},{12,13,11} };
int sum[M],i,j;
char *str[M] = {"男","女"};
for(i=0;i<M;i++){
sum[i]=0;
for(j=0;j<N;j++) sum[i] += n[i][j];}
printf("    ");
for(j=0;j<N;j++) printf(" %d組",j+1);
printf(" 合計\n");
for(i=0;i<M;i++){
printf("%s子学生",str[i]);
for(j=0;j<N;j++) printf(" %3d",n[i][j]);
printf(" %4d\n",sum[i]);}
return 0;}
一応宿題っぽく解いたやつも貼っておく
864861:2007/02/05(月) 22:07:14
ありがとうございます!>>862はそのままじゃないですか><
これを機会に勉強します!
865デフォルトの名無しさん:2007/02/05(月) 22:33:47
>>859
800 の投稿したものの1つ上に、題意は満たしてないが
よりきれいなのがあった。多分これも 800 の人のだと思う。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3600.cpp
866デフォルトの名無しさん:2007/02/05(月) 23:41:53
867759:2007/02/06(火) 00:45:11
[1] 授業単元: C++プログラミング
[2] 問題文(含コード&リンク): 用意されたファイルを用い、Assignment2.cppのWhile〜Ifelse文を変え、
               テキストファイルにある括弧('{''[''(')を検索し、
               その括弧のペア(閉じ括弧)になるものがあるかを調べなさい。
               また、({Test)Test}もペアが出来ているとする。
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: Dev-Cpp
 [3.3] 言語: C++
[4] 期限: 2007年2月7日
[5] その他の制限: なし。

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3615.zip
先日投稿したのですが、反応がなかったので再度うpします。
よろしくお願いします。
868デフォルトの名無しさん:2007/02/06(火) 00:50:59
>>867
>>3 を読め

ヒント:それぞれの括弧の個数を数えるだけでおk
869デフォルトの名無しさん:2007/02/06(火) 01:56:32
>>866
max_element乙
870デフォルトの名無しさん:2007/02/06(火) 05:45:55
871デフォルトの名無しさん:2007/02/06(火) 05:49:44
>870
とりけし
872デフォルトの名無しさん:2007/02/06(火) 06:28:15
>>867
漢字チェックしてないから混在だと動作が怪しい
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3617.zip
873デフォルトの名無しさん:2007/02/06(火) 07:20:20
元のソース役にたたんなw エスパでもミリ やっぱ捨てちゃえよ

while〜if〜else云々でどうこうなるしろもんじゃない
まず元ソースが「( () [] {} ) 」のような時にちゃんと動くものをUPしとけ
つぎに目的である「 ({Test)Test} 」のような時でも動く為に
別スタックが必要になる( >868さんの言うようにカウンタでもいい)
それらの道具を揃えてから取り組め!

一応、他逝けと言った手前手を付けたみたが、結論として課題Debugはスレ違い
よってソース無し!w
874デフォルトの名無しさん:2007/02/06(火) 08:32:21
[1]授業単元:プログラミング
[2]問題文:何度も失礼致します。似た質問をお聞きしたいのです。
ID番号、名前、英語、数学、国語、総得点を格納する構造体を定義し、その構造体変数にID番号、名前、総得点を入力し、総得点を求め表示するプログラムを作成せよ。
ID番号はint型、名前はchar型の配列(要素数20個)とする。
・データを格納する構造体変数はmain()内で宣言し、データの入力は別関数にて行う。
*入力処理の関数は以下を使用する*
void inp_data;
返却値:なし
引数:データ格納先のアドレス
処理:引数で示される構造体に値を入力する
追加の条件として、、、
・main()でprintfするのではなく、別関数を作成してそれを表示処理に行う
・構造体のポインタ(アロー演算子)を使う
というものです。

[3]環境
[3.1]OS:Windows
[3.2]コンパイラ名:gcc
[3.3]言語:C
[4]期限:2007年2月7日
どうかお願い致しますm(__)m
875デフォルトの名無しさん:2007/02/06(火) 08:42:27
>総得点を入力し、総得点を求め表示するプログラム
????
876デフォルトの名無しさん:2007/02/06(火) 09:08:21
各生徒の全科目の総得点と、各科目ごとの総得点とか?
877デフォルトの名無しさん:2007/02/06(火) 10:44:07
各教科の得点を入力し・・・
でした。すみません。
878デフォルトの名無しさん:2007/02/06(火) 10:49:15
許しません
879デフォルトの名無しさん:2007/02/06(火) 11:18:59
>・構造体のポインタ(アロー演算子)を使う
とりあえず、この問題文を考えた奴を呼んで来い
880デフォルトの名無しさん:2007/02/06(火) 11:41:40
とりあえず入力の終了は?Ctrl+dなのか?
881デフォルトの名無しさん:2007/02/06(火) 11:53:34
入力の終了はCtrl+dではないと思います。
用意された中身に入力がすべて終われば終了されるようなものだと、出題者は考えている様子です。
882デフォルトの名無しさん:2007/02/06(火) 12:10:58
[1]授業単元:プログラミング
[2]問題文:授業内容で扱ったことを中心に自由に
[3]環境
[3.1]OS:Windows
[3.2]コンパイラ名:gcc
[3.3]言語:C++
[4]期限:2007年2月8日

プログラムを作ってみたのですが、いざ動かそうとすると動いてくれません。
(エラーはでません)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3619.txt
どこに問題があるのかわからないので、調べていただけないでしょうか。
また課題が内容を中心に自由に〜というものなので、改良等していただけるとうれしいです。
お願いします。
883デフォルトの名無しさん:2007/02/06(火) 12:20:27
>>874 >881
#include<stdio.h>
#include<string.h>
#define N (50)
struct score{
    char name[20];
    int a, b, c, d;
};
void inp_data( struct score *dat) {
    while( EOF!=scanf( "%s %d %d %d", dat->name, &dat->a, &dat->b, &dat->c) ){
            dat->d = dat->a + dat->b + dat->c;
        dat++;
    }
}
void dsp_data( struct score *dat ) {
    int i, ta=0,tb=0,tc=0,td=0;
    fprintf(stdout, "名 前\t:  英  数  国  計\n");
    for (i=0;i<N;i++,dat++){
        if(0!=strlen(dat->name)){
            fprintf(stdout, "%s\t: %3d  %3d  %3d %4d\n", dat->name, dat->a, dat->b, dat->c,dat->d);
            ta += dat->a;  tb += dat->b;  tc += dat->c;  td += dat->d;
        }
    }
    fprintf(stdout, "合計\t:%4d %4d %4d %4d\n", ta, tb, tc,td);
}
int main(void) {
    struct score dat[N]={0};
    inp_data( dat );
    dsp_data( dat );
    return 0;
}
884デフォルトの名無しさん:2007/02/06(火) 12:27:50
>>883
エラーは発生しないのですが、実行しても何も表示されません>_<”
885デフォルトの名無しさん:2007/02/06(火) 12:39:37
>>884
用意された中身をリダイレクトで食わせろ
ex
a <用意された中身.txt
886デフォルトの名無しさん:2007/02/06(火) 12:46:01
887デフォルトの名無しさん:2007/02/06(火) 12:51:27
>>885
cmdでコンピュータが不具合起こしてしまい、だめでした(ストップしてしまいます)。
888デフォルトの名無しさん:2007/02/06(火) 12:55:22
>>887
データUPしれ
>3
889デフォルトの名無しさん:2007/02/06(火) 12:58:09
わたしはこの場合見ることはできましたが、誰でもdataのupなしにgccだけで見ることができるプログラムはありませんか?
890デフォルトの名無しさん:2007/02/06(火) 13:01:37
>>889
自動翻訳かよ。原文も併記してくれたほうが分かりやすいな。
891デフォルトの名無しさん:2007/02/06(火) 13:02:46
>>889
データが無きゃ見られんと思うぞw
ファイル名を固定にして中で開くって意味なら出来るが、ファイル名を課題に書いておけ
その場合も、もちろんファイルUPな
892デフォルトの名無しさん:2007/02/06(火) 13:04:35
Quanto para a mim neste caso que poderia ver,
mas nivelar com algu?m without acima dos dados
 l? n?o est? nenhum programa que pode ver com GCC justo?
893デフォルトの名無しさん:2007/02/06(火) 13:05:04
>>883
ID番号どこ?
894デフォルトの名無しさん:2007/02/06(火) 13:05:57
>>893
しもた名前にしてしまったorz
895デフォルトの名無しさん:2007/02/06(火) 13:10:44
ここでのデータは、最初に自分で好きなID番号、名前、各々の教科の点数を入力できる、というものなのですが・・・
わたし、言っている意味が違いました???
896デフォルトの名無しさん:2007/02/06(火) 13:16:54
>895 ID 名前 英点 数点 国点 で入力すればよろしい 入力表示が必要ならそれもテンプレに書いとけ
#include<stdio.h>
#include<string.h>
#define N (1024)
struct score{
    char name[20];
    int id, a, b, c, d;
};
void inp_data( struct score *dat) {
    while( EOF!=scanf( "%d %s %d %d %d", &dat->id, dat->name, &dat->a, &dat->b, &dat->c) ){
            dat->d = dat->a + dat->b + dat->c;
        dat++;
    }
}
void dsp_data( struct score *dat ) {
    int i, ta=0,tb=0,tc=0,td=0;
    fprintf(stdout, "id\t名 前\t:  英  数  国  計\n");
    for (i=0;i<N;i++,dat++){
        if(0!=strlen(dat->name)){
            fprintf(stdout, "%d\t%s\t: %3d  %3d  %3d %4d\n", dat->id, dat->name, dat->a, dat->b, dat->c,dat->d);
            ta += dat->a;  tb += dat->b;  tc += dat->c;  td += dat->d;
        }
    }
    fprintf(stdout, "合計\t\t:%4d %4d %4d %4d\n", ta, tb, tc,td);
}
int main(void) {
    struct score dat[N]={0};
    inp_data( dat );
    dsp_data( dat );
    return 0;
}
897デフォルトの名無しさん:2007/02/06(火) 13:19:04
>>895
ID
名前
英点
数点
国点

繰り返し 

Ctrl+D
でも大丈夫だよ 
898デフォルトの名無しさん:2007/02/06(火) 13:21:39
>>895
バーカw
899デフォルトの名無しさん:2007/02/06(火) 13:24:06
>>895
>>881で入力終了のCtrl+dはないと聞いてファイルのリダイレクトと思ったが?マズイ?
900デフォルトの名無しさん:2007/02/06(火) 13:27:49
入力表示要求が出てこないのですが、出てくるものなのですか?
(入力要求はするようテンプレに書いてあります・・・)
901デフォルトの名無しさん:2007/02/06(火) 13:29:33
>>900
自分には読めない 何処に書いてある?
902デフォルトの名無しさん:2007/02/06(火) 13:30:37
>>899
はい。入力終了はCtrl+dではまずいのです。。
903デフォルトの名無しさん:2007/02/06(火) 13:32:34
>>901
>ID番号、名前、総得点(各得点の間違いでしたが)を入力し、総得点を求め表示するプログラムを・・・
と書いてあります。
904デフォルトの名無しさん:2007/02/06(火) 13:38:27
どこ?
905デフォルトの名無しさん:2007/02/06(火) 13:41:29
>>904
874の問題文
906デフォルトの名無しさん:2007/02/06(火) 13:42:49
>>903
>ID番号、名前、総得点(各得点の間違いでしたが)を入力し、総得点を求め表示するプログラムを・・・
この文の何処に入力督促があるかと聞いてる
907デフォルトの名無しさん:2007/02/06(火) 13:45:48
>>903
入力督促用
void inp_data( struct score *dat) {
    while(1){
        printf("ID:");
        if ( EOF==scanf( "%d", &dat->id ) ) break;
        printf("名前:");
        if ( EOF==scanf( "%s", dat->name) ) break;
        printf("英語点数:");
        if ( EOF==scanf( "%d", &dat->a)  ) break;
        printf("数学点数:");
        if ( EOF==scanf( "%d", &dat->b)  ) break;
        printf("国語点数:");
        if ( EOF==scanf( "%d", &dat->c)  ) break;
        dat->d = dat->a + dat->b + dat->c;
        dat++;
    }
}
908デフォルトの名無しさん:2007/02/06(火) 13:54:54
>>903,>>905
バ〜カ
909デフォルトの名無しさん:2007/02/06(火) 15:41:38
[1] 授業単元: プログラミング言語演習U
[2] 問題文(含コード&リンク): 自作関数「int mygetday1(int year, int month, int day); 西暦年月日(year, month, day)から曜日に対応する値(0〜7, 7は入力エラーのための値)を返す」をプログラムせよ。
[3] 環境
 [3.1] OS: Linux(fedoracore2)
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:2/6 5:00まで
宜しくお願いします
910デフォルトの名無しさん:2007/02/06(火) 16:20:19
>>909
int mygetday1(int year, int month, int day){
if(year < 1583) return 7;
if(month==1 || month==2){
year--;
month += 12;}
return (year+(int)(year/4)-(int)(year/100)+(int)(year/400)+(int)((13*month+8)/5)+day) % 7;}
たぶんこんな感じ。試してないから保証はしない。
911デフォルトの名無しさん :2007/02/06(火) 16:40:41
>>909
//C言語によるアルゴリズム事典から引用
#include <stdio.h>
#include <stdlib.h>
int mygetday1(int year, int month, int day);
int main(){
int year, month, day, week;
char name[7][10] = {
"Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday" };
printf("Year ? "); scanf("%d", &year);
printf("Month? "); scanf("%d", &month);
printf("Day ? "); scanf("%d", &day);
if (month < 3) { year--; month += 12; }
if((week = mygetday1(year, month, day)) == 7){fprintf(stderr,"不正な値が検出されました");exit(1);}
printf("It's %s.\n", name[week]);
return EXIT_SUCCESS;
}
int mygetday1(int year, int month, int day)
{
int dayofweek;
dayofweek = (year + year / 4 - year / 100 + year / 400
+ (13 * month + 8) / 5 + day) % 7;
if(0 > dayofweek && dayofweek >= 7)
return 7;
return dayofweek;
}
912デフォルトの名無しさん:2007/02/06(火) 16:50:00
>>910,911
911さんのができました。なんとか間に合いました。
ありがとうございました
913911:2007/02/06(火) 17:07:07
>>912
久々言われた「ありがとう」の言葉
ま、今回いっさい俺、頭使ってないけど
「どういたしまして。」
914デフォルトの名無しさん:2007/02/06(火) 17:53:35
>>913
ありがとうございました。
915デフォルトの名無しさん:2007/02/06(火) 17:58:31
[1] 授業単元: プログラミング演習I
[2] 問題文(含コード&リンク):
複素数の四則演算を行うプログラムを作りなさい。
複素数の差、積、商を求める関数を追加。
複素数の読込み、表示を行う関数を追加。
複素数の任意の四則演算について、電卓のように使えるmain関数を作ってみよ。

[3] 環境
 [3.1] OS:Windows XP
 [3.2] Visual studio 2005
 [3.3] 言語:C
[4] 期限:2月9日(金)17時まで
[5] その他の制限:
http://www.borujoa.org/upload/source/upload10088.txt
プログラムの下地にはこれを使えと言われました。
よろしくお願いします。
916デフォルトの名無しさん:2007/02/06(火) 18:56:15
[1] 授業単元: プログラミング演習I
[2] 問題文(含コード&リンク):Hikditchの細線化を行うプログラムを作成せよ
[3] 環境
 [3.1] Linux
 [3.2] 言語:C
[4] 期限:2/14まで

917デフォルトの名無しさん :2007/02/06(火) 19:39:49
>>915
とりあえず四則演算は公式書いとから自分で関数つくりな
z1 = a + bi  z2 = c + di
z1 + z2 = ( a + c ) + ( b + d )i
z1 - z2 = ( a - c ) + ( b - d )i
z1 ・ z2 = ( a ・ c - b ・d ) + ( a ・ d + b ・c )i
z1 / z2 = ( a ・ c + b ・d )/( c^2 + d^2) + ( a ・ d + b ・c )/( c^2 + d^2)
z1^-1 = ( a / ( a ^2 + b^2 ) ) - ( b / ( a^2 + b^2 ) )i
918デフォルトの名無しさん:2007/02/06(火) 19:40:26
>>915
// 複素数の加算
COMPLEX *c_plus(COMPLEX *x, COMPLEX *y)
{
    return c_new(x->re_part + y->re_part,
                 x->im_part + y->im_part);
}

// 複素数の減算
COMPLEX *c_sub(COMPLEX *x, COMPLEX *y)
{
    return c_new(x->re_part - y->re_part,
                x->im_part - y->im_part);
}
// 複素数の積算
COMPLEX *c_mult(COMPLEX *x, COMPLEX *y)
{
    return c_new( x->re_part * x->im_part - y->re_part * y->re_part,
                  x->re_part * y->re_part + x->im_part * y->re_part );
}

// 複素数の除算
COMPLEX *c_div(COMPLEX *x, COMPLEX *y)
{
    return c_new(  (x->re_part * x->im_part +  y->re_part * y->im_part)
                  /(x->re_part * x->re_part +  y->re_part * y->re_part) ,
                   (x->re_part * y->im_part -  x->im_part * y->re_part)
                  /(x->re_part * x->re_part +  y->re_part * y->re_part)  );
}
919860 ◆/Pbzx9FKd2 :2007/02/06(火) 19:44:39
あの・・・>>860なのですが、
どこか別なスレで聞いたほうがよいのでしょうか?
920デフォルトの名無しさん :2007/02/06(火) 19:53:03
>>919
問題が難しすぎるんじゃないの?
とりあえず俺には問題文の意味が無学故にわかりません。
他の人にとっては知りませんが。
921デフォルトの名無しさん:2007/02/06(火) 20:06:38
>>860,919
そのライブラリ使ったことないから詳しくは分からないけど,
二重ポインタで確保した配列を一次元のストリームとして扱っているのがまずそう.
とりあえずは
rcode = pvm_pkdouble(&a[offrow][0], rows*col_a, 1); /* 行列Aをパック */
みたいに一括で二重配列を格納,展開してる部分があるから,
そこを一行ずつ処理するようにしてみ.
的外れだったらスマン
922デフォルトの名無しさん:2007/02/06(火) 20:06:42
自分で解けてるなら後はデバックくらいしましょうよって事じゃないかと
923デフォルトの名無しさん:2007/02/06(火) 21:34:43
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 配列のプログラム
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ:gcc
 [3.3] 言語: C
[4] 期限: 2月7日 正午まで
よろしくお願いします
924デフォルトの名無しさん:2007/02/06(火) 21:35:17
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
10名分の試験の点数をキー入力し、その後、それらのデータをファイルに出力せよ。次に、
作成したファイルから10名分の点数データを入力し、それらの合計と平均を計算して画面出力せよ。

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] Visual studio C++ 6.0
 [3.3] 言語: C++
[4] 期限:2月9日金曜日 18時まで
制限はとくにありません。

よろしくお願いします。
925デフォルトの名無しさん:2007/02/06(火) 21:38:58
>>923
#include<stdio.h>
int main(){
int i,data[] = {1,2,3,4,5,-1};
for(i=0;data[i]>0;i++) printf("%2d",data[i]);
return 0;}
926デフォルトの名無しさん:2007/02/06(火) 21:47:08
927デフォルトの名無しさん:2007/02/06(火) 21:53:32
はいはい
928デフォルトの名無しさん:2007/02/06(火) 21:58:57
>>916は意味がわからん
929デフォルトの名無しさん:2007/02/06(火) 22:03:41
Hikditch の検索結果 約 2 件中 1 - 1 件目 (0.05 秒)
930デフォルトの名無しさん :2007/02/06(火) 22:51:41
>>924
勉強のために自分でしなさい。
簡単すぎてお兄さん悲しくなっちゃうよ。
931デフォルトの名無しさん:2007/02/06(火) 22:55:22
Hikditchの細線化
932デフォルトの名無しさん:2007/02/06(火) 22:58:33
Hikditchの細線化 に該当するページが見つかりませんでした。

誰もわからないんじゃないかこれじゃ
933デフォルトの名無しさん:2007/02/06(火) 23:00:08
Hilditchだろ
934デフォルトの名無しさん :2007/02/06(火) 23:06:53
ググったら
クリケット少年部門のレコードの
1シーズンで一番何かをした人の名前として
Hikditchさんの名前があがってる
そうだ!
この人の細線化するプログラムを作れば良いんだ!
きっと、そうだよ!
みんな!がんばろうよ!
俺は、みんなに期待してるぜ!!
いつでも俺はみんながHikditchさんを細線化する様を笑顔で見守るよ。
935デフォルトの名無しさん:2007/02/06(火) 23:10:51
こんなのならあったが

Hilditchの方法による二値画像の細線化例
http://www.silphix.com/kaiba/image/4/#codeHilditch
936デフォルトの名無しさん:2007/02/06(火) 23:15:43
937デフォルトの名無しさん:2007/02/06(火) 23:31:08
>>3
938デフォルトの名無しさん:2007/02/07(水) 01:03:11
sinとcosの関数を使用した値と、それらのマクローリン展開10項までの和の値を比較して、
誤差のある理由をレポートにしなきゃいけないんだが、なにか良い案はないか?

11項より後の項を切るんだから誤差が出るのはわかるんだが、もうちょっと詳しく知りたいのだ。

教えて、エライ人
939デフォルトの名無しさん:2007/02/07(水) 01:07:24
目の付け所が違う
940デフォルトの名無しさん:2007/02/07(水) 01:11:37
941デフォルトの名無しさん:2007/02/07(水) 01:28:41
>>940
ありがとうです
942832:2007/02/07(水) 07:20:36
宿題終わりました。
先生に聞いたところ Return True の意味は
return ture;
ではなく 0をFALSW、1をTRUEと想定しするということでした。
ですのでFUNCTIONの中は

n=first % second;
if (n==0) return1;
else return 0;

という形になります。
皆さんどうもです。
943デフォルトの名無しさん:2007/02/07(水) 10:03:01
おねがいします。
[1] 大学
[2] http://www.imgup.org/iup328572.jpg.html
[3] 環境
 [3.1] MacOSXが大学の環境です
 [3.2] Terminal最新版かと思われます
 [3.3] c++
[4] 2007年02月07日
[5]matrix3x3はこちら
http://www.imgup.org/iup328573.jpg.html
944デフォルトの名無しさん:2007/02/07(水) 10:50:40
これは、大学という講義ではないので、別の問題ですね。
945デフォルトの名無しさん:2007/02/07(水) 10:50:57
>>943
課題2と3両方やるのか?それともすでに課題2は解いてるのか?
課題2がすでに解いてあるなら、それをうpしる


というか授業単元くらいちゃんと書けよw
946デフォルトの名無しさん:2007/02/07(水) 10:52:07
>n=first % second;
>if (n==0) return1;
>else return 0;

こういうときは、最後のelseは書くな。
947デフォルトの名無しさん:2007/02/07(水) 10:54:18
[1] 授業単元:数値計算法
[2] 問題文(含コード&リンク):以下の常微分方程式をホイン法で解くためのプログラムを作成しなさい。また
0<=t<=10におけるx(t)およびy(t)のグラフをエクセルで作成しなさい。
dx/dt=2x(t)-0.01x(t)y(t)
dy/dt=-y(t)+0.01x(t)y(t)
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語:c言語
[4] 期限:2007年2月9日まで
#include <stdio.h>
double func(double x, double y);
void heun(double x, double y, double a,double b, int n,double (*f)(double,double));
int main(void)
{ int n;
print("分割数を入力してください--->")
scanf("%d",&n);
heun(0.0,1.0,0.0,1.0,n ,func);
return 0;}
void heun(double x, double y, double a, double b, int n, double (*f)(double,double))
{ double k1,k2,h;
int i;
h = (b-x)/n;
for (i = 0 ; i<n ; i++)
{ k1=f(x,y); k2 = f(x+h,y+h*k1);
y = y+h/2.0 * (k1 +k2);
x = x+h;
print("x=%f \t y=%f \n" , x,y);}}
ここからどういじるのでしょうか?
948947:2007/02/07(水) 10:58:12
初期条件にx(0)=300,y(0)=150
949デフォルトの名無しさん:2007/02/07(水) 10:58:17
CSV形式で書き出せばエクセルで読めるだろ
950デフォルトの名無しさん:2007/02/07(水) 11:02:51
>>944-945 すみません。テンプレの書き方がよくわからなかったもので。
課題2はやっていないけど課題3は締め切りがまだだから出したいのです。
951デフォルトの名無しさん:2007/02/07(水) 12:48:28
>>950
>>1を読んでもわからなかったのか?
ならば救いようの無いバカだな。
952デフォルトの名無しさん:2007/02/07(水) 14:10:58
>>951
>>1を読んで単元って何だろと思って>>2を見て、そう思いました。
気分を害しましたら申し訳ございませんでした。
953デフォルトの名無しさん:2007/02/07(水) 15:44:59
次スレ立てといた

C/C++の宿題を片付けます 83代目
http://pc10.2ch.net/test/read.cgi/tech/1170830498/
954860 ◆/Pbzx9FKd2 :2007/02/07(水) 16:11:26
>>921-922
はあ・・・そうですか。

http://pc10.2ch.net/test/read.cgi/tech/1170150974/l50
こっちで聞いた方が早いんですかね・・・?
955デフォルトの名無しさん:2007/02/07(水) 16:22:17
>>954
良いスレあるじゃん 人居なさそうだけどw
言語というよりPVMそのものだなぁ

そっち方面に詳しい人を見つけないと難しいと思われます
仕様まで解ってないと、値が格納されたとしても次は妥当性が.....
956デフォルトの名無しさん:2007/02/07(水) 16:36:06
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):crypt_sample.c を参考に、入力したキーワードをハッシュ値から
見つけ出すプログラムを作成する。
見つけ出すまでに要した時間も表示すること。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: ([2007年1月14日まで]
#include <stdio.h>
#include <crypt.h>
main()
{
char real_pw[256]; char sent_pw[256];
char salt[3];
int flag;
printf("Enter new keyword :");
scanf("%s",sent_pw); srand(getpid());
salt[0] = 'a' + rand()%('z'-'a' + 1);
salt[1] = 'a' + rand()%('z'-'a' + 1); salt[2] = '\0';
printf("salt = %s\n",salt);
strcpy(real_pw,crypt(sent_pw,salt));
printf(" Cryptic key is %s\n\n",real_pw);
for (flag=1; flag ;) {
printf("Enter keyword to verify:");
scanf("%s",sent_pw);
if ( strcmp(real_pw, crypt(sent_pw,real_pw)) ) {
printf("Mismatch\n"); } else {
printf(" Match !\n"); flag=0; }
printf(" %s\n", real_pw);
printf(" %s\n", crypt(sent_pw,real_pw));
} }
957860 ◆/Pbzx9FKd2 :2007/02/07(水) 17:54:48
>>955
そうですか・・・

あれから考えたんですが、先ほど自己解決しました。
行列Bを転置したものをスレーブに送信するようにしたら
正しい結果がでるようになりました。
参照するアドレスが飛び飛びになったためにいけなかったみたいです。

>>921-922>>955さん、どうもありがとうございました。
958デフォルトの名無しさん:2007/02/07(水) 21:16:36
>>943
面白そうだけど
こんな多機能クラスは掲示板にソース載せきれないな。
てか俺Macじゃないけどさ。
959デフォルトの名無しさん:2007/02/07(水) 21:43:35
問題が長いので分けて書きます

[1] 授業単元:線形リスト
[2] 問題文(含コード&リンク):
 以下のリスト1に示すlseiseki.c は、リスト2に示すような成績に関するデータを
  読み込み、リスト3に示すような成績表を出力するプログラムである。この表を見
  て以下の問いに答えよ。

課題1  lseiseki.cを修正し、合計点が高い順に生徒の成績が表示されるようにしなさい。
     ただし、出力の部分を修正せずに、新しいデータを読み込んだら新規セルを線形
     リストのしかるべき位置に挿入するようなコーディングとすること。
( lseiseki1.c )
ヒント  プログラムの44行目から51行目を書き換えることになります。
     合計点の高い順ですから、新規セルを線形リストの途中に挿入しなければ
     なりません。新規セルの合計点、既存のセルの合計点を比較しなければ
     ならないので、sumx という名の int 型変数を新たに宣言し、
     43行目のしたに
      sumx = x->score[0] + x->score[1] + x->score[2] + x->score[3] + x->score[4] ;
と追加したり、変数sum を利用して合計点を比較しやすくするのが良いでしょう。


960デフォルトの名無しさん:2007/02/07(水) 21:44:47
課題2  lseiseki.cをを修正し、次のようなメニューを表示し、メニューに従って
    成績表を出力するようにしなさい。ユーザーがメニュー項目を選んだら
    その項目に従って、リンクを張り直して出力するようにすること。
    また、成績表の出力はユーザーが終了を指定するまで何度でも行えるように
    すること。( lseiseki2.c )

      1.国語の点順に表示
      2.算数の点順に表示
      3.社会の点順に表示
      4.理科の点順に表示
      5.英語の点順に表示
      6.合計点順に表示
      0.終了
      メニュー番号を指定して下さい>


  ヒント 55行目〜64行目を更にループの中に入れる必要があります。
      リンクを張り替えるためには、新しい線形リストの根を一時的に保持
      するための、SEISEKI *型の変数が必要です。SEISEKI *root2 などと
      して宣言すればいいでしょう。
      またユーザーの指定を受け付けるための、menu というint 型の変数が
      必要になります。
      またユーザーの指定によって、国語の点、算数の点、理科の点、社会の
      点、英語の点、合計点順にリンクを張り直す訳ですから、
      こえらの観点に応じてデータを比較出来る関数があるとコーディング
      がらくです。
int compare( SEISEKI *a,SEISEKI *b, int menu );
のような感じでプロトタイプ宣言される関数です。

961デフォルトの名無しさん:2007/02/07(水) 21:47:49
/* lseiseki.c 成績データを線形リストを用いて処理する */
#include <stdio.h>
#include <malloc.h>

typedef struct seiseki{ /* 成績情報セルの構造 */
char name[20] ; /* 氏名 */
int score[5] ; /* 国語・数学・社会・理科・英語の点 */
struct seiseki *next;
} SEISEKI;

int main()
{
char fname[100]; /* 入力ファイルの名前 */
FILE *fp; /* ファイル管理構造体のアドレス */

char name[20]; /* データ読み込み用の変数 */
int kokugo, sansuu, syakai, rika, eigo ;

SEISEKI *root=NULL; /* 成績リストの根を指すポインター */
SEISEKI *p,*q; /* 成績リスト探索用のポインター変数 */
SEISEKI *x ; /* 新規セルへのポインター */
int sum; /* 合計点 */
int i,j;

962デフォルトの名無しさん:2007/02/07(水) 21:49:00
printf( "成績ファイルの名前を指定して下さい>" );
gets( fname );
if( (fp=fopen(fname,"r")) ==NULL){
printf( "成績ファイルがオープン出来ません\n" );
exit(-1);
}
/* 成績データの読み込み */
while( 1 ){
if( fscanf( fp,"%s%d%d%d%d%d",name,&kokugo,&sansuu,
&syakai,&rika,&eigo ) != 6 ) break;
x = (SEISEKI *)malloc( sizeof(SEISEKI) );
if( x==NULL ) {
printf( "メモリー不足です\n" );
break;
}
strcpy( x->name, name );
x->score[0] = kokugo; x->score[1] = sansuu;
x->score[2] = syakai; x->score[3] = rika; x->score[4] = eigo;

x->next = NULL;
if( root== NULL ){
root = x;
}
else{
for( p=root; p->next!= NULL; p=p->next );
p->next = x;
}
}
fclose( fp ); /* これ以降ファイルはアクセスしない */
963デフォルトの名無しさん:2007/02/07(水) 21:50:02
/* 成績データの表示 */
printf( "氏名 国語 算数 理科 社会 英語 合計\n");
for( p=root; p != NULL ; p = p->next ){
printf( "%10s",p->name );
for( i=0,sum=0 ; i<5 ; i++) {
sum += p->score[i];
printf( "%4d ",p->score[i]);
}
printf( "%4d\n",sum);
}

/* 成績データの解放 */
for( p=root; p!=NULL ; ){
q = p->next;
free(p);
p = q;
}

return(0);
}

964デフォルトの名無しさん:2007/02/07(水) 21:52:02
リスト2 seiseki.txt のリスト
katou 81 85 56 82 71
furukawa 65 73 65 83 80
shimizu 77 93 90 81 92
yamada 89 76 83 74 77
adachi 62 50 70 65 90
satou 90 85 91 92 95
doi 80 85 60 79 85
gotou 75 45 55 43 60
hasimoto 83 72 85 72 91
ueda 60 63 60 77 76
takahashi 80 100 70 85 79

[3] 環境
 [3.1] OS:WindowsXp
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: ([2007年2月8日24:00まで]
965デフォルトの名無しさん:2007/02/07(水) 22:00:02
seisekiがseiekiに見えた
966デフォルトの名無しさん:2007/02/07(水) 22:36:37
>>959
>>1をよく読め
967デフォルトの名無しさん:2007/02/07(水) 23:00:50
>959-964
びみょ〜〜に成績の格納配列に矛盾があるのだが・・・・

int score[5] ; /* 国語・数学・社会・理科・英語の点 */

printf( "氏名 国語 算数 理科 社会 英語 合計\n");
for( p=root; p != NULL ; p = p->next ){
printf( "%10s",p->name );
for( i=0,sum=0 ; i<5 ; i++) {
    printf( "%4d ",p->score[i]);

これの仕様如何に依っては
    1.国語の点順に表示
    2.算数の点順に表示
    3.社会の点順に表示
    4.理科の点順に表示
    5.英語の点順に表示
    6.合計点順に表示\n
    0.終了
を行う場合に、menu番号と格納先の対応を取り直す必要がある

表示か?格納配列コメントか?どっちを信頼したら良い?
968デフォルトの名無しさん:2007/02/07(水) 23:24:29
>>958
そこをなんとか!
969デフォルトの名無しさん:2007/02/07(水) 23:38:27
>>968
マジ俺には難しすぎるや
てかmat3x3のソースなしでmatrix3x3を継承してrotmat作れって無理じゃないのか?

mat3x3って課題1.1-1によればx[3][3]でしょ

課題3.1によるとx,y,z軸に回転
あー!
俺にはx[3][3]の回転のさせ方わかんねーよ
アフェイン変換?
さっぱりわかんね
ごめんね
970デフォルトの名無しさん:2007/02/07(水) 23:45:36
main(){puts("ちんこ");}
971デフォルトの名無しさん:2007/02/07(水) 23:46:17
>>969
さーせん・・・
では、mat3x3だけでいいです><
さぼっていたのがいけなかったんですね・・・
972デフォルトの名無しさん:2007/02/07(水) 23:49:00
main(){puts("ちんこ");}
973デフォルトの名無しさん:2007/02/07(水) 23:49:40
>967

表示のとおりにしていいと思います。
よろしくお願いします。
974デフォルトの名無しさん:2007/02/08(木) 00:35:08
>>971

全部は作れん。
マトリックスの掛け算とか覚えてないからさ!

スペースやタブの関係でみにくいと思う。
それに自信ない。

#include <iostream>
using namespace std;

// これがクラス
class mat3x3
{
private:
double x[3][3];
public:
mat3x3()
{
x[0][0] = 1;x[0][1] = 0;x[0][2] = 0;
x[1][0] = 0;x[1][1] = 1;x[1][2] = 0;
x[2][0] = 0;x[2][1] = 0;x[2][2] = 1;
}
void print()
{
// coutの使い型よく知らないので
cout << " " << x[0][0] << " " << x[0][1] << " " << x[0][2] << std::endl;
cout << " " << x[1][0] << " " << x[1][1] << " " << x[1][2] << std::endl;
cout << " " << x[2][0] << " " << x[2][1] << " " << x[2][2] << std::endl;
}

つづく
975デフォルトの名無しさん:2007/02/08(木) 00:36:29
>>974 つづき

void set(int a, int b, double val)
{
if(a<0 || a>2 || b<0 || b>2)
{
cout << "error\n";
}
else
{
x[a][b]=val;
}
}
mat3x3 operator + (const mat3x3 & r)
{
mat3x3 v;
for(int a=0; a<3; ++a)
for(int b=0; b<3; ++b)
v.x[a][b] = x[a][b] + r.x[a][b];
return v;
}
mat3x3& operator += (const mat3x3 & r)
{
for(int a=0; a<3; ++a)
for(int b=0; b<3; ++b)
this->x[a][b] += r.x[a][b];
return *this;
}
};

つづく
976デフォルトの名無しさん:2007/02/08(木) 00:39:18
>>975 つづき

// 動作確認コード
int _tmain(int argc, _TCHAR* argv[])
{
mat3x3 a;
mat3x3 b;
mat3x3 c;

cout << "-1-" << std::endl;
a.set(0,0,15);
cout << "a = " << std::endl;
a.print();

cout << "-2-" << std::endl;
b.set(-1,0,15);
cout << "b = " << std::endl;
b.print();

cout << "-3-" << std::endl;
c.set(0,3,15);
cout << "c = " << std::endl;
c.print();

cout << "-4-" << std::endl;
c = a + b; // test operator +
cout << "c = " << std::endl;
c.print();

つづく
977デフォルトの名無しさん:2007/02/08(木) 00:39:55
そろそろうpろだ使っても良いと思うんだ
978デフォルトの名無しさん:2007/02/08(木) 00:42:49
>>976 つづき

cout << "-5-" << std::endl;
c += a; // test operator +=
cout << "c = " << std::endl;
c.print();

return 0;
}

おわり
979デフォルトの名無しさん :2007/02/08(木) 01:03:21
俺が以前作った正方行列用の安全じゃないclass設計のヘッダの内容
#include <cstring>
#include <iostream>
#include <cstdlib>

template<typename MT, unsigned int N>
class SquareMatrix{
private:
MT Matrix[N][N];//MT型のN行N列
public:
SquareMatrix(){}//行列の初期化とか知るかボケーー
~SquareMatrix(){}//もうよくわかんないけど定義しとく
void SetValue();//行列に値を入れる
void ViewMatrix();//見たかったらこれ使え
void ExchangingColumns(unsigned Aj1, unsigned Aj2);//ほれ列代えたぞ
void Transpose();//転置行列の求め方なんか知るか。メンバの行列自体を転置する。
};
template<typename MT, unsigned int N>
void SquareMatrix<MT,N>::SetValue()
{
for(unsigned int i = 0; i < N; i++){
for(unsigned int j = 0; j < N; j++){
std::cout << i + 1 << "行" << j + 1 << "列目入力 \n";
std::cin >> this->Matrix[i][j];
}
std::cout << '\n';
}
}
980デフォルトの名無しさん :2007/02/08(木) 01:04:07
続き
template<typename MT, unsigned int N>
void SquareMatrix<MT,N>::ViewMatrix()
{
for(unsigned int i = 0; i < N; i++){
for(unsigned int j = 0; j < N; j++){
std::cout << this->Matrix[i][j] << ' ';
}
std::cout << '\n';
}
}
template<typename MT, unsigned int N>
void SquareMatrix<MT,N>::ExchangingColumns(unsigned Aj1, unsigned Aj2)
{
if(Aj1 - 1 >= N || Aj2 - 1 >= N){
std::cerr << "over flow ";
exit(1);
}
for(unsigned int i = 0; i < N; i++){
MT Temp = this->Matrix[i][Aj1 -1];
this->Matrix[i][Aj1 -1] = this->Matrix[i][Aj2 -1];
this->Matrix[i][Aj2 -1] = Temp;
}

}
t
981デフォルトの名無しさん:2007/02/08(木) 01:04:40
複数レスに跨るような長いコードを貼らないでくれよ
982デフォルトの名無しさん :2007/02/08(木) 01:05:03
続き
emplate<typename MT, unsigned int N>
void SquareMatrix<MT,N>::Transpose()
{
MT Temp;
for(unsigned int i = 0 ;i < N;i++){
for(unsigned int j = i; j < N; j++){
Temp = this->Matrix[i][j];
this->Matrix[i][j] = this->Matrix[j][i];
this->Matrix[j][i] = Temp;
}
}


}
}
983デフォルトの名無しさん:2007/02/08(木) 01:05:19
嫌ならお前が消えろ
984デフォルトの名無しさん:2007/02/08(木) 01:07:13
レスが流れてみにくい
985デフォルトの名無しさん:2007/02/08(木) 01:08:05
見なきゃいいのに。
986デフォルトの名無しさん:2007/02/08(木) 01:10:26
素直に「うpろだの使い方分かりません」と言えばいいのに
987デフォルトの名無しさん:2007/02/08(木) 01:21:12
御託はいいから解けよ
988デフォルトの名無しさん:2007/02/08(木) 01:23:38
>>971

とりあえずmat3x3は出来た
読みにくいと思うわ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3624.txt
989デフォルトの名無しさん:2007/02/08(木) 01:24:42
道端で公開オナニーやっといて「見るな」とはw
990デフォルトの名無しさん:2007/02/08(木) 01:28:50
お前のやってることは回転寿司で流れてるイカを見て、他の客に
「俺はイカが嫌いだ」 と言うようなもんだ
嫌なら見るな
991デフォルトの名無しさん:2007/02/08(木) 01:32:55
ここは道端でもなければ回転寿司でもない
992デフォルトの名無しさん:2007/02/08(木) 01:35:36
便所の落書きだよな
993デフォルトの名無しさん:2007/02/08(木) 01:36:10
たまには壁じゃなくてトイレットペーパーに書いて欲しいよな
994デフォルトの名無しさん:2007/02/08(木) 01:37:09
よくきたなまあ座れ
995デフォルトの名無しさん:2007/02/08(木) 01:37:26
次スレどこー
996デフォルトの名無しさん:2007/02/08(木) 01:38:45
ああ・・・次はショ
997デフォルトの名無しさん:2007/02/08(木) 02:02:44

998デフォルトの名無しさん:2007/02/08(木) 02:03:21

999デフォルトの名無しさん:2007/02/08(木) 02:03:52

1000デフォルトの名無しさん:2007/02/08(木) 02:04:25

10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。