C/C++の宿題を片付けます 82代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/01/24(水) 03:04:24【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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/
0002デフォルトの名無しさん
2007/01/24(水) 03:16:27[1] 授業単元:高校
[2] 問題文(含コード&リンク): 自然数を入力してその自然数の約数を全て画面に表示させるプログラムを作成せよ
[3] 環境 ポケコン
[3.3] 言語: C++
[4] 期限: ([2007年01月24日04:00まで]
0003デフォルトの名無しさん
2007/01/24(水) 03:17:32・課題に動作で必要なファイルがある場合にはロダにUPする事、回答者に作らせてはならない
なければ質問者が作る
・回答の督促は禁止
但し、スレ中の全未回答問題レス番号を張る場合のみ許可とする
0004デフォルトの名無しさん
2007/01/24(水) 03:18:180005デフォルトの名無しさん
2007/01/24(水) 03:23:58低速版
#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;
}
0006デフォルトの名無しさん
2007/01/24(水) 06:30:13こんなことあるのか
999 :デフォルトの名無しさん :2007/01/24(水) 06:28:14
1000 :デフォルトの名無しさん :2007/01/24(水) 06:28:13
0007デフォルトの名無しさん
2007/01/24(水) 06:34:470008デフォルトの名無しさん
2007/01/24(水) 06:58:57おめ
0009デフォルトの名無しさん
2007/01/24(水) 11:23:44次のように並べて表示するプログラムを作成せよ。16進,8進についてはビ
ット処理を行うこと。繰返し文を用いることにより,幾つかのデータで実行を
確認してみよ。
12 0000000C 000000000014
-1 FFFFFFFF 37777777777
これ教えてください!!
お願いしますm(__)m
0010デフォルトの名無しさん
2007/01/24(水) 11:27:301をよく読んでから書けと言っただろうが。
0011デフォルトの名無しさん
2007/01/24(水) 12:18:50[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
0012デフォルトの名無しさん
2007/01/24(水) 12:22:00[2] 問題文(含コード&リンク):入力テキスト中の指定された文字列を含む
行だけを出力する。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual studio 2005
[3.3] 言語:C++
[4] 期限:2007年1月26日
[5] その他の制限:�@:変数は全て局所変数とする。
�A:文字列の指定はキーボードから入力
できるようにする。
�B:行単位での入力を基本構造にすること。
「当該行が指定された文字列を含む」ことを判定するためには、
find関数を用いる。
C++の入門ページをいろいろ探して考えてみましたが、
どうしたらいいのか、わかりませんでした。
よろしくお願いします。
0013デフォルトの名無しさん
2007/01/24(水) 12:41:30#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;
}
0014デフォルトの名無しさん
2007/01/24(水) 13:04:22答えてもらってありがとうございます。
せっかく答えてもらって申し訳ないんですが、
いくつかわからない所があって。
string型は習ったのですが、std::string の std と flushu
っていうのをまだ習ってなくて、使うとマズいです。
(他は大丈夫なんですが)
この関係で習ったモノを挙げると、
string, find, find_first_find, substr, size, replaceと
<fstream> のファイル操作くらいなんですが、
そのへんのモノを使ってお願いできないでしょうか?
甘ったれたことを言ってすみません。
0015デフォルトの名無しさん
2007/01/24(水) 13:11:34何で習ってないもの使ったらまずいの?
そもそもstd::stringはstringのことだ
0016デフォルトの名無しさん
2007/01/24(水) 13:14:34[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] その他の制限:特になし
よろしくお願いします
0017デフォルトの名無しさん
2007/01/24(水) 13:15:08stdを習ってないってヤバくね?先生に抗議した方がいいよ
0018デフォルトの名無しさん
2007/01/24(水) 13:22:51習ったことに気付いてないだけじゃないの?
今までにも using namespace std; ←この辺で std 出てこなかった?
0019デフォルトの名無しさん
2007/01/24(水) 13:26:24アドバイスありがとうございます。
はい、使うとマズいんです。
理由は以前にクラスメイトが今回の自分のように他の人から教えて
もらったプログラムをそのまま提出して、全員に厳重注意があった
からです。
std::string のところはそのままstring にしていいってことですか?
それと、そういえば、自分の授業では
using namespace stdをプログラムの最初の方に使ってるんですけど、
このstdと何か関係ありますか?
どんな機能があるかは詳しくは習っていません。
0020デフォルトの名無しさん
2007/01/24(水) 13:27:230021デフォルトの名無しさん
2007/01/24(水) 13:30:524月5月ならともかく、この時期になって習ってないハズはないw
もうじき進級・・・・テラオソロシス
0022デフォルトの名無しさん
2007/01/24(水) 13:31:14using namespace std の std と、std::string の std は全く同じものなので
:: を習ってないとか言い出すのでなければ使ってもかまわない。
0023デフォルトの名無しさん
2007/01/24(水) 13:31:51#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::を省略しますからそこんとこよろしく」ってしておくわけ。
0024デフォルトの名無しさん
2007/01/24(水) 13:32:04using namespace std の検索結果 約 1,270,000 件中 1 - 10 件目 (0.18 秒)
0025デフォルトの名無しさん
2007/01/24(水) 13:39:17>>13の flush っていうのはどういう機能なんですか?
stdにそういう意味があったとは…
鬼教官にそういう重要な事をなぜ教えてくれなかったのか
抗議しておきます。
0026デフォルトの名無しさん
2007/01/24(水) 13:39:26個々にstd付けて書いとけば評価上がるそ
usingの意味が判ってる証拠だからな
0027デフォルトの名無しさん
2007/01/24(水) 13:40:29> はい、使うとマズいんです。
> 理由は以前にクラスメイトが今回の自分のように他の人から教えて
> もらったプログラムをそのまま提出して、
アホか
それは習ってないことを使ったからではなくて、他人のぱくったからだろ
0028デフォルトの名無しさん
2007/01/24(水) 13:41:42わからないことあるなら自分で調べろよ
いつまで小学生気分でいるんだ
0029デフォルトの名無しさん
2007/01/24(水) 13:43:290030デフォルトの名無しさん
2007/01/24(水) 13:44:47教えない教官が悪いとかっていう考えはやばいぞ
何か言われたら説明して見せりゃいいんだよ
自分で調べて色々使えなきゃこの業界ではやってけないよ
まぁこの業界に来ないかもしれんけど。
てか来るな。
0031デフォルトの名無しさん
2007/01/24(水) 13:44:59わろた
0032デフォルトの名無しさん
2007/01/24(水) 13:45:20わからないものが増えたって感じで
0033デフォルトの名無しさん
2007/01/24(水) 13:51:45出てくるのは主にusing namespace問題だわな。
0034デフォルトの名無しさん
2007/01/24(水) 13:56:552chに限らずこの類の掲示板には
色んないじめっ子がいて自分はよくタコタコといじめられますが、
なぜここの人たちはこんなにまともに答えてくれるんですか?
0035デフォルトの名無しさん
2007/01/24(水) 13:58:570036デフォルトの名無しさん
2007/01/24(水) 14:00:34flushはバッファをフラッシュする。簡単に言えば、出力を催促するようなもんだ。
0037デフォルトの名無しさん
2007/01/24(水) 14:07:43質問者のことを本当にどうでもいいと思ってるから。それこそ不正がばれて退学になってもね。
よそで丸投げして叩かれるというのなら、(中には面白半分でやってる人もいるだろうけど)
それは質問者の事を心配して丸投げをあきらめさせようとしてる人がいるからだよ。
0038デフォルトの名無しさん
2007/01/24(水) 14:10:16のプログラムで質問なんですけど、
用意されたテキストファイルをfile.openで呼び出す場合も
基本的に13のプログラムのままで大丈夫ですか?
ちょっと付け足したり変えたりして。
0039デフォルトの名無しさん
2007/01/24(水) 14:14:34いろいろイジってみ
それが課題以上に力になる
0040デフォルトの名無しさん
2007/01/24(水) 14:16:13#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;
}
0041デフォルトの名無しさん
2007/01/24(水) 14:17:23[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です。お願いできないでしょうか?
004211
2007/01/24(水) 14:19:07コンパイラにBorland C++ BUilderと書いていましたが、それともうひとつVC6.0追加です…
お願いします。
0043デフォルトの名無しさん
2007/01/24(水) 14:20:04>>3
0044デフォルトの名無しさん
2007/01/24(水) 14:21:59画素数を数えるってどういうこと?
普通はヘッダに横幅と縦幅あるけど、それを読み取って掛け合わせるの?
0045デフォルトの名無しさん
2007/01/24(水) 14:45:55free_nodeのところを埋めればいいの?
void free_node(node_t *p)
{
if(p==NULL) return;
free_node(p->left);
free_node(p->right);
free(p);
}
0046デフォルトの名無しさん
2007/01/24(水) 15:11:48[2] 問題文(含コード&リンク)
自由製作課題で
・ぽきぽきアニメ
・多角形の描画
・キーフレームアニメーション
以上のいずれかのプログラムを作成。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:1月31日
[5] その他の制限
ヒープまで一通り習いました。自由製作課題なので、多少習ってないのを使ってもおkです。
0047デフォルトの名無しさん
2007/01/24(水) 15:12:55よろしくお願いします。
0048デフォルトの名無しさん
2007/01/24(水) 15:20:52描画は何使うの?
0049デフォルトの名無しさん
2007/01/24(水) 15:21:240050デフォルトの名無しさん
2007/01/24(水) 15:26:36ありがとうございます
0051デフォルトの名無しさん
2007/01/24(水) 15:38:55ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3509.c
0052デフォルトの名無しさん
2007/01/24(水) 15:44:28そんなあなたの部下に>>25をつけて
あなたのプロジェクトの足を引っ張らせるためにこのスレがあるのですよ。
005311
2007/01/24(水) 16:24:46すみません説明不足でした。
やりたいことは簡単な画像(例えば円とか四角とか)を読み込んで、画像の面積を求めたいのです。
面積=画素数と思ったので、それで画素数を数えたいと言ったのです…
最終的には読み込んだ画像の周辺長を求めたいな、と思っています…これは期限と関係ないんですが。
0054デフォルトの名無しさん
2007/01/24(水) 16:24:51普通の掲示板では課題丸投げは禁止事項
叩かれるのが一般的です
0055デフォルトの名無しさん
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)を入力してください
0056デフォルトの名無しさん
2007/01/24(水) 16:29:48[2] 問題文(含コード&リンク):
ls -R もどきを作る。
現在のディレクトリ(または指定したディレクトリ)内のファイルを表示するようにする。
サブディレクトリの内容も再帰的に表示するようにする。
できれば、ファイル名・ディレクトリ名をアルファベット順にソートして表示。
また、getopt をつかって -R を指定したときだけサブディレクトリを表示するようにしてもよい。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:1月31日
[5] その他の制限:得になし
0057デフォルトの名無しさん
2007/01/24(水) 16:36:58まだ説明不足
>やりたいことは簡単な画像(例えば円とか四角とか)を読み込んで、画像の面積を求めたいのです。
画像の面積じゃなくて図形の面積ね
で、その図形部分の色がわからないと、どうしようもないと思うのだけど?
0058デフォルトの名無しさん
2007/01/24(水) 16:40:20どうしても解けないと言うくらいだから様々な努力したのだろう
途中まででも良いから書いたプログラムを見せてくれ
0059デフォルトの名無しさん
2007/01/24(水) 16:52:42様々な努力を頭の中でしましたが、さっぱりわかりませんでした。
0060デフォルトの名無しさん
2007/01/24(水) 16:53:57「問題によると何度も入力を求めるようですがループ内でscanfを使った場合は
予期しない入力を想定して、入力毎にバッファをフラッシュする必要があると思うのですが、
その処理は必要でしょうか?授業では習わなかったのですが」
って質問すると評価高くなると思うよ^^
0061デフォルトの名無しさん
2007/01/24(水) 16:57:030062デフォルトの名無しさん
2007/01/24(水) 17:01:50#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;
}
0063デフォルトの名無しさん
2007/01/24(水) 17:02:41アッー!
006411
2007/01/24(水) 17:03:08何度もすいません;
今までの段階でできているプログラムを、上の方に提示してあるアップロード板の方に載せます。
「C/C++の宿題を片付けます 82代目スレ」の中のUnit1.cppです。
これに画素を表示するプログラムを作りたいのです。
0065デフォルトの名無しさん
2007/01/24(水) 17:07:19出力例では何回も書いてますが、
1回で出力は終わります。
この説明では意味不明ですね・・・。
とりあえず、簡単な感じでお願いします。
0066デフォルトの名無しさん
2007/01/24(水) 17:15:15うpすると元ファイル名が消えてしまうのだが。
0068デフォルトの名無しさん
2007/01/24(水) 17:25:07ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3510.cpp
0069デフォルトの名無しさん
2007/01/24(水) 17:27:01リロードしてなかった。ごめ
今後はリンクを張ってくれ
0070デフォルトの名無しさん
2007/01/24(水) 17:28:14んなもん知らんよ。
0071デフォルトの名無しさん
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 と表示したいのですが。。
0072デフォルトの名無しさん
2007/01/24(水) 17:29:35ローカルでその引数をいろいろ変えていった場合
それは関数をまたいで保存されるのでしょうか?
0074デフォルトの名無しさん
2007/01/24(水) 17:35:59kakunou[count] に0が格納されてるからw
kakunou[count]じゃなくて kakunou[i] としたかったのでは?w
0075デフォルトの名無しさん
2007/01/24(水) 17:36:18そういう質問スレはこっち
C言語なら俺に聞け(入門篇) Part 6
http://pc10.2ch.net/test/read.cgi/tech/1167325490/
0076デフォルトの名無しさん
2007/01/24(水) 17:43:20>コンパイラにBorland C++ BUilderと書いていましたが、それともうひとつVC6.0追加です…
VCL使ってるのにVCは無理だろ
0077デフォルトの名無しさん
2007/01/24(水) 17:52:02最終的にはBCBで作りたいのですが、自分もよく分かってないのでまずVCで作ってみたいということです。
0078デフォルトの名無しさん
2007/01/24(水) 17:55:560079デフォルトの名無しさん
2007/01/24(水) 18:00:17わけわからんので、VCLやその辺を省いて元々の>>11に戻るぞ
画像を配列に読み込めてるとする
int sum=0;
for(i=0;i<width;i++){
for(j=0;j<height;j++){
if(pic[i][j] == 16777215){
sum++;
}
}
}
0080デフォルトの名無しさん
2007/01/24(水) 18:10:29ありがとうございます。早速やってみます。
0081前スレ835
2007/01/24(水) 18:28:11[1] 授業単元: アルゴリズム
[2] 問題文(含コード&リンク):
アカウント名とパスワードのデータ管理をするために、チェイン法を用いたハッシュ表をつくり、辞書操作(データ削除、検索、挿入)とリスト長のヒストグラム表示
[3] 環境
[3.1] OS:MacOSX
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限:今週中
[5] その他の制限:
アカウント名、1〜6文字で構成される英子文字
ハッシュ内でアカウント名の重複はダメ
パスワード、1〜10文字で構成される英数字
0082前スレ835
2007/01/24(水) 18:29:00それに対してのコマンド指定ファイルを作り、指定した操作を行い、結果を表示。
実行形式
$ ./a.out データファイル 結果を書き込む出力ファイル コマンド指定ファイル
データファイルの形式
アカウント名1
アカウント名1のパスワード
アカウント名2
アカウント名2のパスワード
以下くり返し
結果を書き込むファイルも上記と同様の形式に。
挿入操作のプログラム動作
コマンド指定ファイルでの形式
i
挿入するアカウント名
挿入するパスワード
実験結果の表示形式:データを挿入できたとき
(挿入したアカウント名 ) was inserted in slot (挿入したスロットのハッシュ値)
0083前スレ835
2007/01/24(水) 18:29:51削除操作
コマンド指定ファイルでの形式
d
削除するアカウント名
指定されたアカウント名をキーとしてもつデータをハッシュ表から削除
検索操作
s
検索するアカウント名
リスト長のヒストグラム表示
コマンド指定ファイルでの形式
h
現時点で構成されているハッシュ表の全スロットのリスト長を調べ、長さに基づくヒストグラムを作成
表示形式
0: 8
1:36
…
0084前スレ835
2007/01/24(水) 18:31:07A
zcve
d
pndf
gztXIDv
ny
42865gd
oed
6oY5e0ELw
zz
1tbXb0jkF
qziwo
8kzTT8mV
gmvn
UaV
lqky
6z
hvuung
ux8B6gEwRO
rnlykf
ojlz6
hqsm
DlF49xR
0086デフォルトの名無しさん
2007/01/24(水) 18:56:22・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
もう付け足しは無いな?これで作業してまだ制限があったとか言われたらキレちゃうぞ?
0087デフォルトの名無しさん
2007/01/24(水) 19:00:57完璧な用件定義/仕様を最初から提示できるユーザはいない。
請負仕事をやってみりゃ分かる。こんなケースばっかりだ。
0088デフォルトの名無しさん
2007/01/24(水) 19:08:36いや宿題だろ
教官があとから追加したわけでもなく
問題のTEXTあるんだから、そのまんま提示すればいいんじゃないか?
質問者が勝手に問題文削ってるだけだろう
請負仕事の仕事とはちと違う気がする
0089デフォルトの名無しさん
2007/01/24(水) 19:14:33先ほど課題提出時に、ここの過去スレで回答されていた良プログラムを
流用して提出させていただきました。
直接的に質問した者ではないですが
このスレの回答者さんにはとても感謝しているので
感謝の意を表します。
プログラムの宿題に手伝ってくださってる方々お疲れ様です。
そしてありがとうございました。
0090デフォルトの名無しさん
2007/01/24(水) 19:51:48おまえ、いいやつだな
0091デフォルトの名無しさん
2007/01/24(水) 19:57:190093デフォルトの名無しさん
2007/01/24(水) 20:00:330094デフォルトの名無しさん
2007/01/24(水) 20:17:39これ以上分かりやすくは作れない。
#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;
}
}
009571
2007/01/24(水) 20:37:09できました!どうもありがとうございます。お礼が遅れてすみません。自分は最近ようやく
自分でプログラムがくめる段階まできたので、できて本当にうれしいです。ありがとうございます。
>>75
すみません。これからは、そっちのスレで聞きます。
0096デフォルトの名無しさん
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] その他の制限:特になし。
009796
2007/01/24(水) 20:50:04問題は
行数と列数を指定して以下の用に表示せよ。
行数、列数は最大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
と、こんな感じです。
お願いします。
0098デフォルトの名無しさん
2007/01/24(水) 20:54:14>表示するデータは二次元配列に格納し、その内容を表示すること
数値が外側から渦巻状になるようにするのね?
0100デフォルトの名無しさん
2007/01/24(水) 21:14:30[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] その他の制限: 特になし
よろしくお願いします
0101デフォルトの名無しさん
2007/01/24(水) 21:18:30[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
0102デフォルトの名無しさん
2007/01/24(水) 21:23:05[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] その他の制限: 特になし
連投ですが、よろしくお願いします。
010355
2007/01/24(水) 21:49:15プログラムありがとうございました。
助かりました。
0104デフォルトの名無しさん
2007/01/24(水) 22:10:57こんな感じになりました
http://sa-wiki.com/upload/src/up0092.txt
0106デフォルトの名無しさん
2007/01/24(水) 22:14:12#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;
}
0108デフォルトの名無しさん
2007/01/24(水) 22:16:48勝手にするな。
0109デフォルトの名無しさん
2007/01/24(水) 22:24:24[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] その他の制限: 特になし。
0110デフォルトの名無しさん
2007/01/24(水) 22:29:08[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]に画素値が入っていると仮定し、均等化の処理をするプログラムを
書けばよい。
0111デフォルトの名無しさん
2007/01/24(水) 22:30:22[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] その他:特になし
よろしくお願いします
0112デフォルトの名無しさん
2007/01/24(水) 22:34:080113デフォルトの名無しさん
2007/01/24(水) 22:34:54前スレで回答あったじゃん
0114デフォルトの名無しさん
2007/01/24(水) 22:36:04http://pc10.2ch.net/test/read.cgi/tech/1168663908/891,903
0115デフォルトの名無しさん
2007/01/24(水) 22:40:10制限があるなら書けっつっただろうが糞
紙ねよ
0116デフォルトの名無しさん
2007/01/24(水) 22:41:250117デフォルトの名無しさん
2007/01/24(水) 22:41:320118104
2007/01/24(水) 22:45:32>>97
訂正版
http://sa-wiki.com/upload/src/up0093.txt
>>107
あれ削除したはずなんだけどな
↑でおねがい
0119デフォルトの名無しさん
2007/01/25(木) 00:09:550120デフォルトの名無しさん
2007/01/25(木) 02:25:560121デフォルトの名無しさん
2007/01/25(木) 02:29:31[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型などの変換をしないこと。
ファイルから行単位で文字列を入力するループ構造を
基本構造とし、ループの中で必要な処理を行うこと。
よろしくお願いします
0122デフォルトの名無しさん
2007/01/25(木) 02:31:45前スレの終わりのほうに同じ課題出てたぞ
0123デフォルトの名無しさん
2007/01/25(木) 02:54:36答えてもらったんですけど、コンパイル通らなくてどうしようかと。
もう一度お願いでないでしょうか?
0124デフォルトの名無しさん
2007/01/25(木) 02:57:190125デフォルトの名無しさん
2007/01/25(木) 02:57:490126デフォルトの名無しさん
2007/01/25(木) 03:04:00c:\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' に変換しました。データが失われているかもしれません。
0127デフォルトの名無しさん
2007/01/25(木) 03:05:32コンパイルも動作もOK
0128デフォルトの名無しさん
2007/01/25(木) 03:06:04last?
0129デフォルトの名無しさん
2007/01/25(木) 03:06:18まさか拡張子 cか?w
cppにしてみw
0130デフォルトの名無しさん
2007/01/25(木) 03:09:52確かに動作しましたけど、課題の要求が満たされてません
0131デフォルトの名無しさん
2007/01/25(木) 03:10:550132デフォルトの名無しさん
2007/01/25(木) 03:14:00>>121の通りに作ってください
0133デフォルトの名無しさん
2007/01/25(木) 03:16:040134デフォルトの名無しさん
2007/01/25(木) 03:26:26操作しなさいと言われてますが、
前スレのはキーボードから入力した文字を操作するように
なっています。
それと、スペースを含めた文字列の長さが70に達する前に
改行されてしまいます。
文字を入力する度に改行されてしまいます。
0135デフォルトの名無しさん
2007/01/25(木) 03:28:03それじゃおやすみノシ
0136デフォルトの名無しさん
2007/01/25(木) 03:29:11って言ってほしい?
0137デフォルトの名無しさん
2007/01/25(木) 03:30:030138デフォルトの名無しさん
2007/01/25(木) 03:31:200139デフォルトの名無しさん
2007/01/25(木) 03:32:44// int ncol = 0;
size_t ncol = 0;
これでええやろw
jikken_rast_2 < hogehoge.txt
と操作してファイルから食わせろ
0140デフォルトの名無しさん
2007/01/25(木) 03:33:440141デフォルトの名無しさん
2007/01/25(木) 03:35:330142デフォルトの名無しさん
2007/01/25(木) 03:35:540143デフォルトの名無しさん
2007/01/25(木) 03:36:540144デフォルトの名無しさん
2007/01/25(木) 03:38:390145デフォルトの名無しさん
2007/01/25(木) 03:40:270146デフォルトの名無しさん
2007/01/25(木) 03:40:400147デフォルトの名無しさん
2007/01/25(木) 03:41:24VIPでやれ (AA略
0148デフォルトの名無しさん
2007/01/25(木) 04:39:07[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] その他の制限:特になし
お願いします
0149デフォルトの名無しさん
2007/01/25(木) 05:02:16#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;
}
0150デフォルトの名無しさん
2007/01/25(木) 12:04:54int 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);
}
0152デフォルトの名無しさん
2007/01/25(木) 13:11:50>>3
0153デフォルトの名無しさん
2007/01/25(木) 13:30:06>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で回答
0154デフォルトの名無しさん
2007/01/25(木) 13:35:35前スレの>>893と>>86を書いた香具師だけど、
急に忙しくなったので漏れはできない。他の人がやるのを気長に待つか自分でガンガレ
0155デフォルトの名無しさん
2007/01/25(木) 13:36:38http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3515.zip
Makefileを同梱してあるので必要なら修正してmakeしてくれ。
senderが送信プログラム、receiverが受信プログラムだ。
0156デフォルトの名無しさん
2007/01/25(木) 13:37:24肝心なとこが違うw
×>85 前スレ893で済み 「やってもらったのがちょっと違う」と謎の仕様でスルー
○>85 前スレ893で済み 督促うざ〜でスルー
0157デフォルトの名無しさん
2007/01/25(木) 13:40:2585じゃないやん >81だろ
0158155
2007/01/25(木) 14:00:25UDPだけどただパケット丸投げするだけで、チェックや再送の仕組み作りこんで
ないから、ファイル送ってもデータ飛ぶかも知れんよ。
流石にそこまで宿題でやっとれん。
0160デフォルトの名無しさん
2007/01/25(木) 15:04:20s << "abc";
この後で s を初期化して、バッファの内容をクリアすることは可能でしょうか?
0161デフォルトの名無しさん
2007/01/25(木) 16:15:08ありがとうございます
0162デフォルトの名無しさん
2007/01/25(木) 17:02:34>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
と作ってたが、既に改造もメンドイ
それとハッシュ値の算出は?素数の剰余でええのか?
「結果ファイル」の出力フォーマットもわかんね
0163デフォルトの名無しさん
2007/01/25(木) 17:14:30悪いことは言わないからstringstreamを使え。
0164デフォルトの名無しさん
2007/01/25(木) 19:33:03画像処理に関しては門外漢なので、全然間違ってるかも知れんがとりあえず。
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等のビューアで見れると思う。
0165デフォルトの名無しさん
2007/01/25(木) 21:15:27[2] 問題文(含コード&リンク):
1から1000までの範囲で7の倍数を求め、その合計を表示するプログラムを組みなさい
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:BCC Developer Ver1.2.21
[3.3] 言語:C言語
[4] 期限:1月30日
よろしくお願いします。
0166前スレ835
2007/01/25(木) 21:23:25ありがとうございます。
ハッシュのデータとコマンドファイルです。
http://www.uploda.net/cgi/uploader2/index.php?file_id=0000027942.rar
ハッシュ値の算出は素数の剰余でいいです。
結果ファイルはresult.datでhash.datと同じ形式でおねがいします。
注文が多くてすいませんが、よろしくお願いします。
0167デフォルトの名無しさん
2007/01/25(木) 21:49:18そうですね。いろいろ調べているうちにそれがいいと思いました。
ありがとうございました。
0168デフォルトの名無しさん
2007/01/25(木) 21:51:24#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;
}
こうかな?
0169デフォルトの名無しさん
2007/01/25(木) 22:04:42int main(void) {
int n, sum = 0;
for( n = 7 ; n <= 1000 ; n += 7 ) sum += n;
printf("%d\n", sum);
return 0;
}
>>168
ネタ解答は構わんが、妙なスタイルが癖になるようなのは止めてくれ。
0170デフォルトの名無しさん
2007/01/25(木) 23:25:25ネタ解答は構わんが、妙なスタイルが癖になるようなのは止めてくれ。
0171デフォルトの名無しさん
2007/01/25(木) 23:57:29void main() {
int i,sum=0;
for(i=1; i*7<=1000; sum+=(i++)*7);
printf("%d\n",sum);}
変な臭ぇ〜ソースでも良いから俺のを採用してくれw
0172デフォルトの名無しさん
2007/01/26(金) 00:06:517の倍数は表示しなくていいの?
0173デフォルトの名無しさん
2007/01/26(金) 01:03:27[2] 問題文(含コード&リンク):
構造体の配列を使って、5人分の氏名番号点数を記録し、入力された点数以上の氏名番号点数を出力するプログラミングを書け。
必ずprint_student(struct sutudents)という学生1人分の情報を1行に表示する関数を作成、それを利用せよ。
[3] 環境
[3.1] OS:Linux
[3.2] gcc
[3.3] 言語:c
[4] 期限: 26日午後4時
[5] その他の制限:ポインタやってない
よろしくお願いします
0174デフォルトの名無しさん
2007/01/26(金) 01:05:59#include <stdio.h>
int main() {
int n = 1000 / 7;
printf("%d", (n+1)*n*7/2 );
return 0;
}
0175デフォルトの名無しさん
2007/01/26(金) 01:17:490176デフォルトの名無しさん
2007/01/26(金) 02:13:49特定した。
0177デフォルトの名無しさん
2007/01/26(金) 03:18:37http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3521.txt
0178173
2007/01/26(金) 04:13:375人分の名前と番号と点数を全て入力しなくちゃいけません
0179デフォルトの名無しさん
2007/01/26(金) 04:26:520180デフォルトの名無しさん
2007/01/26(金) 04:29:57改行するときは \n とか \f とか使うと思うんですけど、
これらは cout << '\n'; とかみたいに cout といっしょに使うんですよね?
単独で '\n' みたいにではなくて
それと cout << "\n"; でもできますよね?
0181デフォルトの名無しさん
2007/01/26(金) 04:58:140182デフォルトの名無しさん
2007/01/26(金) 05:09:19改行できたことは出来ましたけど
どうやるのが正しいのか知りたくて聞いてみました
0183デフォルトの名無しさん
2007/01/26(金) 06:23:09http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3522.zip
あー疲れたー…
エラー処理とかかなり適当なので頑張って。
0184デフォルトの名無しさん
2007/01/26(金) 08:28:56[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] その他の制限: 特にありません
0185デフォルトの名無しさん
2007/01/26(金) 09:00:11#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) );
}
0186デフォルトの名無しさん
2007/01/26(金) 09:01:44おそらく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;
}
0187デフォルトの名無しさん
2007/01/26(金) 09:07:490188デフォルトの名無しさん
2007/01/26(金) 09:18:12(´゚�u゚):;*.':;.
Visual Studioのまちがいです(汗
*sp>='a'&&*sp<='z'?*sp+='A'-'a':(*sp>='A'&&*sp<='Z'?*sp+='a'-'A':0);
の:とか?の使い方がよくわからないんですが…よろしければ説明して頂けないでしょうか?
>>185
islower ->小文字
isupper ->大文字 で
アドレスpの文字をfor文で入れ替えてるという解釈であってますか?
使ったことないやり方なので^^;
0189デフォルトの名無しさん
2007/01/26(金) 09:24:23a = b?c:d;
これは
if(b)
a=c;
else
a=d;
と同じ
0190デフォルトの名無しさん
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;
}
0191デフォルトの名無しさん
2007/01/26(金) 12:25:43else if(year % 4 == 2)
ほうがいいですか、これは同じ働きですか
いくつか入力してみたらそうっぽいんですがあ
0193デフォルトの名無しさん
2007/01/26(金) 12:55:19プログラムは素直に作らないとくどくなるからな。
if (year % 4 == 0) {
} else if (year % 2 == 0) {
}
でおけ。else ifに入った時点で前の条件は弾かれているから判定する必要なし。
0194デフォルトの名無しさん
2007/01/26(金) 13:02:31過去にさかのぼるならアルベールビルとリレハメルの間で場合分け。
あと厳密に開催したかどうかを判定するなら第二次世界大戦で場合分け。
0196デフォルトの名無しさん
2007/01/26(金) 13:18:040197デフォルトの名無しさん
2007/01/26(金) 13:28:52夏季オリンピックの年であるかどうか
冬季オリンピックの年であるかどうか
を判断する関数をそれぞれ作る。
0198デフォルトの名無しさん
2007/01/26(金) 13:37:11同じではないなぁ。a = b?c:dは左辺値だけど、ifの方は文だし。
0199198
2007/01/26(金) 13:38:110200デフォルトの名無しさん
2007/01/26(金) 14:01:420201デフォルトの名無しさん
2007/01/26(金) 14:25:41の「a倍」と「a分の1」の2つの値を計算して、表示するプログラムを作成
せよ。なお、「a分の1」の値は小数点以下2桁で表示すること。
0202デフォルトの名無しさん
2007/01/26(金) 14:32:43表示するプログラムを作成せよ。ただしアルファベット以外の文字は
そのまま表示すること。
お願いいたします。
0203デフォルトの名無しさん
2007/01/26(金) 14:35:190204デフォルトの名無しさん
2007/01/26(金) 14:58:54>>202
>>1をしっかり読むこと。
お願いいたします。
0205デフォルトの名無しさん
2007/01/26(金) 15:07:00[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)
から始まる関数です。
0206デフォルトの名無しさん
2007/01/26(金) 15:30:37void 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);
}
0207デフォルトの名無しさん
2007/01/26(金) 15:30:44for i = 1 to N do
f(x) := x+ 1;
0208デフォルトの名無しさん
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の教科書を利用}までしました。}
0209デフォルトの名無しさん
2007/01/26(金) 16:11:02「3行3列のマトリックスA、B 」だと3×3固定の様だが?
「フォーマット例(A.dat)3行4列 」だと3×4と読込むファイルによって変るようだが?
どうなん?
0210デフォルトの名無しさん
2007/01/26(金) 16:12:23APLのベクター演算使えばA×Bで終り
0211デフォルトの名無しさん
2007/01/26(金) 16:38:02サラス?なのか?
0213208
2007/01/26(金) 18:22:53209さん>もともとはn行m列という問題だったんですが講師が「n,mは自分で決めていいですが最低3x3でしてください。3x3が一番簡単ですよ。」
っとゆう発言がありましたので、3x3で固定して書き込みをしました。。
最初に問題文をそのままっとあったのですがその発言があったので3x3で自分で改変してしまったのですが。。これだめでしたかね?
もしこれが疑問の元であったのなら謝罪いたします。><
なので疑問のところの3x4でも問題を解くには支障はないです^^;ほんとうにすいません;;
(同じ学科の99人が危機にひんしていますので是非またご協力いただけることを心待ちにしています;;。
99人で連絡取り合ってしてるんですがどうにも授業のスピードが最後らへん早くて99人手が出せない状況です)
210さん>ご協力いただきありがとうございます。
「APLのベクター演算子」って言葉の意味が自分わかってないので今から調べてみます!すいませんありがとうございました。
211さん>書き込みどうもありがとうございます。ファイルが指定かどうか不明なので講師に質問を送ってみます。
あと講師は「一番君たちが知ってる簡単な計算方法はサラスですよね?それでやってもかまいませんよ」と確かいってた覚えがあります。。。
すいません ご協力ほんとうにありがとうございます;;
0214デフォルトの名無しさん
2007/01/26(金) 18:31:3299人皆が皆手を出せないってどんな低脳集団だよw
実はわかってるのに教えてくれないんじゃね?
0215デフォルトの名無しさん
2007/01/26(金) 18:34:100216デフォルトの名無しさん
2007/01/26(金) 18:38:48で、quicksort関数の中身はどこにあるんだ?
変更してくださいって言ってるんだから、元のプログラムがあるんだろ?
0217デフォルトの名無しさん
2007/01/26(金) 18:43:00高校生?
0218デフォルトの名無しさん
2007/01/26(金) 18:47:210219デフォルトの名無しさん
2007/01/26(金) 18:54:54[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] その他の制限: 基本情報の試験に出る範囲くらいまで(あいまいですみません)
宜しくお願い致します。
0220208
2007/01/26(金) 19:01:16もしできているなら誰かにまわされてそのあと皆に
拡散しているはずなので^^;
多相当笑える話なんですが^^;w(自分もバガですはい><)
215さん>ありがとうございます。wikiなどでしらべて今からやってみますね^^b
ご協力ありがとうございました^^
0221デフォルトの名無しさん
2007/01/26(金) 19:05:25#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;
}
[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] その他の制限:標準ライブラリは使ってはいけない。与えられているヒントに沿って。
実習とレポート課題の両方をお願いします。というか実習のプログラムをを使って課題をやる感じです。
実習で指定されているコードは置いておきます。多少の改変はアリです。
いくらやってもなぜかできません。もうお手上げです∩(・∀・)∩
よろしくお願いします。
#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;
}
0224208
2007/01/26(金) 19:34:11C言語でとかないといけないんですぅ;;
もう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の教科書を利用}までしました。}
0225219
2007/01/26(金) 19:36:51早速の返答ありがとうございました。
まだ、2,3問残っているのでその時は宜しくお願い致します。
0226デフォルトの名無しさん
2007/01/26(金) 19:38:41http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3523.c
0227デフォルトの名無しさん
2007/01/26(金) 19:46:01A.dat が 3 x 4 であるとき、計算できる B.dat の行列は 4 x ? だよ (?は任意の自然数)
0228デフォルトの名無しさん
2007/01/26(金) 19:51:25問題文のダウンロードが
いくらやってもなぜかできません。もうお手上げです∩(・∀・)∩
0229デフォルトの名無しさん
2007/01/26(金) 20:02:03単なる再帰だお。関数名が元のとちょっと違うだけだお。
ちょーっとした手違いだお 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);
}
0230デフォルトの名無しさん
2007/01/26(金) 20:05:04( ^ω^ )o
(^ω^ )r
(ω^ )t
(^ )す
( )る
( ^)お
( ^ω)〜
( ^ω^)!
0231デフォルトの名無しさん
2007/01/26(金) 22:09:380232デフォルトの名無しさん
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まで
0233デフォルトの名無しさん
2007/01/26(金) 22:53:57ガウスフィルタの重み付けの比率は 1/(r+1) にしてる。(但し r は中心部分からの距離)
ガウスフィルタの求め方は自分で変更して
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3525.c
0234デフォルトの名無しさん
2007/01/27(土) 01:44:56http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3526.c
0235デフォルトの名無しさん
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日
0236デフォルトの名無しさん
2007/01/27(土) 02:27:08BTREE *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;
}
02371/3
2007/01/27(土) 10:18:54#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;
}
02381/3
2007/01/27(土) 10:21:20#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;
}
02392/3
2007/01/27(土) 10:22:36fgets(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);
02403/3
2007/01/27(土) 10:23:22for (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;
}
0241デフォルトの名無しさん
2007/01/27(土) 10:47:35ここまでファイル名以外は同じ
/* 幅と高さ入れ替え */
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;
}
02422.5/3
2007/01/27(土) 10:50:44fprintf(fp, "%d %d\n%d\n", width, height, color);
0243デフォルトの名無しさん
2007/01/27(土) 11:10:28[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] その他:特になし
0244デフォルトの名無しさん
2007/01/27(土) 11:30:50#define num=10;
↓
#define num 10
または
int num=10;
あとループの初期値が1になってる
0245235
2007/01/27(土) 11:32:07ご協力ありがとうございます。
ただ、結果が最終的に
69
61
46
40
35
21
13
となればよいのですが、この方法だと
9447620
69
61
46
40
21
13
となり、結果がおかしくなってしまいます。どのように改善すればいいのでしょうか??
0246デフォルトの名無しさん
2007/01/27(土) 11:36:42試してないけどパッと診こんな感じ?
ってゆうか蟲大杉
#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;
}
0247デフォルトの名無しさん
2007/01/27(土) 11:42:54訂正 「'」はコメント「//」にしる。VBと間違えた
0248デフォルトの名無しさん
2007/01/27(土) 11:43:01ごめ、間違えた
>>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;
}
0250デフォルトの名無しさん
2007/01/27(土) 11:50:15#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;
}
0251250
2007/01/27(土) 11:51:57だった
0254デフォルトの名無しさん
2007/01/27(土) 12:03:170255デフォルトの名無しさん
2007/01/27(土) 12:44:59>237-242
1レスに納まらないならロダ使え
使い方判らないなら無理に回答せんでよろしい
0256デフォルトの名無しさん
2007/01/27(土) 12:55:09そんな高品質な質問者はこのスレにあまりこないとオモワレ
回答者は善意で答えてるんだから批判すんなよ
☆字下げしたい使徒は全角スペース等を使用すべし
0257デフォルトの名無しさん
2007/01/27(土) 12:58:37>☆字下げしたい使徒は全角スペース等を使用すべし
nobackspase使えよ・・
0258デフォルトの名無しさん
2007/01/27(土) 13:00:14全角スペース逆に迷惑なんだが
0259デフォルトの名無しさん
2007/01/27(土) 13:01:180260デフォルトの名無しさん
2007/01/27(土) 13:01:23ここに質問するやつはそのままコピーしてエラー出すからな
でどう
0261デフォルトの名無しさん
2007/01/27(土) 13:04:30まぁ検索してもでないけど
spase -> space
0262デフォルトの名無しさん
2007/01/27(土) 13:05:45質問者のレベルにあった質の低い回答の方がばれにくいからいいんじゃないの
0263デフォルトの名無しさん
2007/01/27(土) 13:08:12ひでーよ ;;
もう少しソフトな表現を…
0264デフォルトの名無しさん
2007/01/27(土) 13:12:18ひで〜え〜お
0265デフォルトの名無しさん
2007/01/27(土) 13:15:54とりあえず オマエは回答するなって事だw
0266デフォルトの名無しさん
2007/01/27(土) 13:20:510267デフォルトの名無しさん
2007/01/27(土) 13:48:42ミ ヽ
二 i
三 ⌒ へ /` |
二 _ _ |
三 ┰ ┰ |
l^ (
} ! ヽ / {\ ノ
l i ( 、 , ) {
∪、 j | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ‐――――┴、 < 次いってみよ〜
|  ̄`ー―ァ'′ \_______
\______)
0268デフォルトの名無しさん
2007/01/27(土) 13:56:58おいおい、宿題丸投げスレだから質はどうでもよく回答さえした「こと」になればいいのかよ。
回答になってない回答は回答と呼べないし。
質問者を混乱させる回答も回答じゃない。
テンプレ読めない質問者はダメで、回答者はテンプレ読めなくても良いなんてことも無いはずで。
なんか、「おれは回答してんだ、文句言うな」的なすごい思い上がりを感じるけどね?
全角スペースなんて使えば「コンパイルできないー」だって言われかねないしな。
0269デフォルトの名無しさん
2007/01/27(土) 14:07:03そんなマジメなスレじゃないだろ、ここ。
0270デフォルトの名無しさん
2007/01/27(土) 14:07:570271デフォルトの名無しさん
2007/01/27(土) 14:10:31それは、ぼるjy・・・うぁなにをふじこ
0272デフォルトの名無しさん
2007/01/27(土) 14:12:00別にここは宿題に回答するスレじゃないよ。
宿題に回答するという名目で「暇つぶし」するだけのスレだから。
回答者の思いあがりとか言ってるけど、、
そもそもこのスレに書けば宿題をやってもらえる、なんてのが
依頼者の思い上がりであり心得違い。
0273デフォルトの名無しさん
2007/01/27(土) 14:16:27http://www.youtube.com/watch?v=VUCes1ZYFTE
0274デフォルトの名無しさん
2007/01/27(土) 14:17:15暇潰しは一向に構わないが、暇潰しだからといって、回答を成してないような回答でスレを汚しちゃイカン。
0275デフォルトの名無しさん
2007/01/27(土) 14:18:23http://azumahideo.nobody.jp/tetekamu.gif
0276デフォルトの名無しさん
2007/01/27(土) 14:28:43ご自由に。
0278デフォルトの名無しさん
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] その他の制限: 無し
0279デフォルトの名無しさん
2007/01/27(土) 16:06:32#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;
}
0280デフォルトの名無しさん
2007/01/27(土) 16:22:34[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
0281デフォルトの名無しさん
2007/01/27(土) 16:25:26>>1
> ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
0282280
2007/01/27(土) 16:34:45if (*a[k][m] != 0) {
の行で、
問題が発生したため、*****を終了します。ご不便をおかけして申し訳ありません。
のヤツがでました。
0283デフォルトの名無しさん
2007/01/27(土) 16:48:55どちらでも可というならC言語でやる
未定義のシンボル n
未定義のシンボル true
未定義のシンボル false
0284デフォルトの名無しさん
2007/01/27(土) 16:53:41おまえのDebug作業なんだろ
宿題の問題全部か
エラーが出た箇所だけでなく作りかけでいいから全部をロダにUPしろよ
0285デフォルトの名無しさん
2007/01/27(土) 16:55:040286デフォルトの名無しさん
2007/01/27(土) 17:08:18if (m + 1 != n)
のnってどっから沸いてきたんだ?マズはそこからだ!
0287280
2007/01/27(土) 17:25:170288デフォルトの名無しさん
2007/01/27(土) 17:30:56boolを==で比較すんな
0289280
2007/01/27(土) 17:32:05実際はint型ですが・・・だめでしょうか?
0290デフォルトの名無しさん
2007/01/27(土) 17:50:410291デフォルトの名無しさん
2007/01/27(土) 17:57:30float 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);
0292280
2007/01/27(土) 18:04:33あれ、そうなんですか???
>>291
一度それにしたら、Windows上では問題なく動いたんですが・・・
ただそれだと、main関数内の a がpivotingされないはず。
けど、ちゃんとなるんですよね(´・ω・`)
0293デフォルトの名無しさん
2007/01/27(土) 18:10:14おまえ・・・
aはアドレスなのか実体なのか解ってるか?
釣りなら他でやってくれ
0294デフォルトの名無しさん
2007/01/27(土) 22:28:11[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] その他の制限: 特になし。
0295デフォルトの名無しさん
2007/01/27(土) 22:46:29構造体の定義は?
0296デフォルトの名無しさん
2007/01/27(土) 23:01:48これ・・・動いてるか?特に1
なぁ 元の宿題全部をUPしろよ
おまえらの間違ったソースを見て 元の問題を想像する方が難しい
0297デフォルトの名無しさん
2007/01/27(土) 23:11:10部分的に投げるならその関数の仕様をちゃんとかけよ
渡されてる引数は何なのか
何をさせたいのか
それができたらここにはこないか・・・(*゚艸゚)
0298デフォルトの名無しさん
2007/01/28(日) 00:19:19[2] 問題文:
N個の節点を持つ完全4文木の高さは何か?
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C 言語
[4] 期限: 2007年2月7日17:40まで
[5] その他の制限: 無し
夜遅くすみませんが宜しくお願いします
0299デフォルトの名無しさん
2007/01/28(日) 00:34:00単純にlog(4) N じゃないの?
0300デフォルトの名無しさん
2007/01/28(日) 01:02:01既に、言語関係ないし・・・・
0301デフォルトの名無しさん
2007/01/28(日) 01:14:330302デフォルトの名無しさん
2007/01/28(日) 01:19:55おそらく、完全4分木を作って高さを確認するプログラムを作れって事なんだろうが…
もうちょっと質問の仕方考えろよw
0303デフォルトの名無しさん
2007/01/28(日) 01:38:37俺の計算だと
log4(3N+1)、端数切り上げ
になったが…
0304デフォルトの名無しさん
2007/01/28(日) 01:43:36なんか友達が書いたソースを自分用に書き換えるのか?って感じだが。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3530.c
こんなもんでいいだろ。あんまいじくりまわすのもなんだし
0305デフォルトの名無しさん
2007/01/28(日) 02:08:18http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3531.txt
qsort使っていじり倒すとこんな感じだな。
0306デフォルトの名無しさん
2007/01/28(日) 02:18:01オレもいじってみた
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3532.txt
0308デフォルトの名無しさん
2007/01/28(日) 02:59:00create_matrixに引数で渡してるから
create_matrixに渡る前でKB入力するか または create_matrixに入ってからKBで入力させれば良くね?
0309デフォルトの名無しさん
2007/01/28(日) 03:34:56void 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 表示だけじゃん中身変ってない・・・ウソツキ(爆笑
031073
2007/01/28(日) 04:12:07そうするとキーボード入力した後はそれに合わせて書き換えなければダメですよね?
どなたかその様に作り変えていただけないでしょうか?どうかよろしくお願いしますm(_)m
0311デフォルトの名無しさん
2007/01/28(日) 05:34:59http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3533.c
0312デフォルトの名無しさん
2007/01/28(日) 05:50:22まだまだ未熟だと痛感した。1ヶ月、いやもしかすると2ヶ月になるかもしれないが
しばらくC言語の勉強を1からやり直してくる。そんな俺だが
C言語で15ゲームを作ったこともあるわけで、自分が初級、中級なのかさっぱり分からん・・・
0313デフォルトの名無しさん
2007/01/28(日) 06:09:31継続は力なり、いっぱいバグ出して解決して・・・・・場数こなした奴の勝ち
カンガレ
0315298
2007/01/28(日) 09:08:390316デフォルトの名無しさん
2007/01/28(日) 13:02:54[2] 問題文:
キーボードから入力される全ての文字をカウントし、
入力が終了したら以下の内容を表示するプログラムを組なさい。
・すべての文字の文字数
・小文字アルファベットの文字数
・大文字アルファベットの文字数
・行数
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名:Borland C++
[3.3] 言語:C
[4] 期限:1月30日
よろしくお願いします。
0317デフォルトの名無しさん
2007/01/28(日) 13:16:50#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);
}
0320デフォルトの名無しさん
2007/01/28(日) 14:35:03[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] その他の制限:特になし
よろしくお願いします
0322デフォルトの名無しさん
2007/01/28(日) 15:18:36[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文で簡単に作成をお願いします。
二つもお願いしてしまいすみませんが、宜しくお願いします。
0323デフォルトの名無しさん
2007/01/28(日) 15:29:35for (i = 0; i < length; i++){
t = q[i];
q[i] = p[i];
p[i] = t;
}
0324デフォルトの名無しさん
2007/01/28(日) 15:36:53for(;0<length;p++,q++,length--){
t = *p;
*p =*q;
*q =t;
}
0325デフォルトの名無しさん
2007/01/28(日) 15:48:32if(p!=q) for(;0<length;p++,q++,length--) *p^=*q,*q^=*p,*p^=*q;
0326デフォルトの名無しさん
2007/01/28(日) 15:59:19ワラタ
いつまでも引きずるなよ〜〜
0327デフォルトの名無しさん
2007/01/28(日) 16:05:18C/C++の宿題を片付けます 80代目
http://pc10.2ch.net/test/read.cgi/tech/1166969820/
0328デフォルトの名無しさん
2007/01/28(日) 16:25:33[2] 問題文:ユーザが入力した日本語の文章を茶筅を使って形態素解析して、
動詞と目的語を取り出して表示するプログラムを作成せよ
[3] 環境
[3.1] OS:WindowsXp
[3.2] コンパイラ名とバージョン:Visual Studio 2003もしくはLSI C-86
[3.3] 言語:C言語
[4] 期限:1月29日12時まで
[5] その他の制限:特になし
よろしくお願いします
0329320
2007/01/28(日) 16:34:500330デフォルトの名無しさん
2007/01/28(日) 16:51:42#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);
}
0331デフォルトの名無しさん
2007/01/28(日) 16:57:32茶筅は何処の使うの?リンクを張ってくれ
0332デフォルトの名無しさん
2007/01/28(日) 17:03:01申し訳ない
ttp://chasen.naist.jp/hiki/ChaSen/
こちらからインストールしないと駄目なんでちょっと手間がかかります
よろしくお願いします
0333デフォルトの名無しさん
2007/01/28(日) 17:34:46[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割前後が望ましいということですが、出力のばらつかせ方が全くわかりません。
どうか宜しくお願いします
0334デフォルトの名無しさん
2007/01/28(日) 18:22:020335デフォルトの名無しさん
2007/01/28(日) 18:22:59int 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;
}
0336デフォルトの名無しさん
2007/01/28(日) 18:24:59門外漢なんだが、
日本語のシンタックスで「目的語」なんてあったっけ?
英文法のS+V+OとかのOだよな?
「内向的で辛辣なホームズにとって、大衆の賞賛はいつだって嫌悪すべきものだった」
→目的語は?
0337デフォルトの名無しさん
2007/01/28(日) 18:30:38日本語の目的語は「○○を」の○○の部分の語
その文の中には無い
0339デフォルトの名無しさん
2007/01/28(日) 18:34:07そりゃS+Vの文だ
0340333
2007/01/28(日) 18:39:02ttp://www.uploda.org/uporg671256.zip.html
でお願いします。
受信パスは0000です
0341デフォルトの名無しさん
2007/01/28(日) 18:47:26どううまくいかないか書かれていないが
returnの1行前のfopenはfcloseでは?
0342デフォルトの名無しさん
2007/01/28(日) 18:51:20すみません。
fcloseでした!!!!
上手く行かない現象としましては、
上記の内容だとファイルオープンが失敗します。
パス指定をせずにif((fp = fopen("test.txt","w")) == NULL)とすれば上手く行くんですが・・・・。
指南、ご指摘よろしくお願いします。
0343デフォルトの名無しさん
2007/01/28(日) 18:56:48まず、strcatについて調べるといいよ
http://www9.plala.or.jp/sgwr-t/lib/strcat.html
0344デフォルトの名無しさん
2007/01/28(日) 19:04:23ディレクトリの作成に関しては、以下にサンプルを書いてみたので
参考にしてくれ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3536.txt
0345デフォルトの名無しさん
2007/01/28(日) 19:06:07嘘
多分スペースが入ってると出力されないんだよね
ここ診ればわかると思うよ
http://wisdom.sakura.ne.jp/programming/c/c58.html
0346322
2007/01/28(日) 19:54:36ありがとうございました。
大変助かりました。
0347デフォルトの名無しさん
2007/01/28(日) 20:32:39#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
0348デフォルトの名無しさん
2007/01/28(日) 20:32:50[2] 問題文:
実行したファイル名を除いたコマンド ライン引数に
複数個指定したすべてのファイルの内容を
標準出力に表示するプログラムを記述せよ。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名:gcc
[3.3] 言語:C
[4] 期限:1月30日
宜しくお願いします。
0349デフォルトの名無しさん
2007/01/28(日) 20:48:38http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3538.txt
分かりやすいように判定文に !=NULL 付けたが分かるなら不要
0350デフォルトの名無しさん
2007/01/28(日) 20:49:29#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;
}
0351デフォルトの名無しさん
2007/01/28(日) 20:51:331行256文字以上あると、どうなる?
0352デフォルトの名無しさん
2007/01/28(日) 20:51:55STDERRに吐いてどうするよ
0353デフォルトの名無しさん
2007/01/28(日) 20:52:51putsはないわ
0355デフォルトの名無しさん
2007/01/28(日) 21:04:22別に?
気になるならstdoutに
0356デフォルトの名無しさん
2007/01/28(日) 21:05:370357デフォルトの名無しさん
2007/01/28(日) 21:09:20getsはあるお(;^ω^)
0358デフォルトの名無しさん
2007/01/28(日) 21:15:40俺もかいたお。
#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;
}
0359デフォルトの名無しさん
2007/01/28(日) 21:34:42[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] その他の制限:なし
常流の場合より逐次計算法の第三項の符号を−に変えただけで思ったように行きません。
ご教授お願いします。
0360デフォルトの名無しさん
2007/01/28(日) 21:35:55そりゃヤヴァくね?argc超えた先がNULLかどうか・・・・保証されてるんだっけ?
0361デフォルトの名無しさん
2007/01/28(日) 21:38:36ISO Cの規格上
argv[argc] shall be a null pointer.
と記述され、保障されている。
0362デフォルトの名無しさん
2007/01/28(日) 21:52:41>>347
ありがとうございました。
パスの切り替えなんて簡単だと思っていたんですが
想像以上に難しいですね・・・・。
参考にさせていただきます。
0363デフォルトの名無しさん
2007/01/28(日) 21:53:36ありがと
0365359
2007/01/28(日) 21:55:27/*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より大きい値になったり、いつまでもループし続ける状況です
0366デフォルトの名無しさん
2007/01/28(日) 23:32:47http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3541.txt
0367デフォルトの名無しさん
2007/01/28(日) 23:36:54[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(火)
よろしくお願いします。
0368デフォルトの名無しさん
2007/01/28(日) 23:52:30>//実際はもっと多いです。
こんな書き方じゃなくて、「〜行データがあります」とか書けよ
0369デフォルトの名無しさん
2007/01/28(日) 23:55:17#include <stdio.h>
//実際はもっとある
int main(void){
int fd;
fd=stdin;
//実際はもっとある
}
0370デフォルトの名無しさん
2007/01/29(月) 00:06:1810億行超えるとまずいなぁw
0371デフォルトの名無しさん
2007/01/29(月) 00:10:12[2] 問題文:
シェルソートによってEASYQUESTIONを7整列し、次に3整列すると何回比較するか?
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C 言語
[4] 期限:無し
[5] その他の制限: 無しです
宜しくお願いします
0372デフォルトの名無しさん
2007/01/29(月) 00:13:150373デフォルトの名無しさん
2007/01/29(月) 00:15:530374デフォルトの名無しさん
2007/01/29(月) 00:19:33[2] 問題文:
シェルソートによってファイルの名前EASYQUESTIONを7整列し、次に3整列すると何回比較するか?
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C 言語
[4] 期限:無し
[5] その他の制限: 無しです
宜しくお願いします
0375デフォルトの名無しさん
2007/01/29(月) 00:30:4432bit幅超える行のソートになるのか?
小分けしてマージするぐらいしか思いつかん
ファイルサイズが心配、FAT32だと制限に掛かりそうだがNTFSなら大丈夫かw
0376デフォルトの名無しさん
2007/01/29(月) 00:36:445(7整列)+9(3整列)で14回かな?(適当)
0377デフォルトの名無しさん
2007/01/29(月) 00:47:267整列
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
0378デフォルトの名無しさん
2007/01/29(月) 01:09:45[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] その他の制限: 無しです
力不足でプログラムで書くことができません。
よろしくお願いいたします。
0379367
2007/01/29(月) 01:13:00コピーしてきた参照データはあれだけだったので曖昧に書いてしまいました。
データは1000行でお願いします。
0380デフォルトの名無しさん
2007/01/29(月) 01:47:540381デフォルトの名無しさん
2007/01/29(月) 01:54:230382デフォルトの名無しさん
2007/01/29(月) 01:56:10これ宿題か?おまえが整理したいだけだろ?
EXCEL使えよ
0383367
2007/01/29(月) 02:09:16よろしくお願いします。
0384367
2007/01/29(月) 02:16:55よろしくお願いします。
0385367
2007/01/29(月) 02:18:470386367
2007/01/29(月) 02:19:510387367
2007/01/29(月) 02:21:490388デフォルトの名無しさん
2007/01/29(月) 02:23:20宿題だとしたら 突込み処満載w
課題の全文(省略ナシ)書いてみ
それからソートするファイルはデータの多少に関わらずロダにUPしてくれ
>3の事な
0391デフォルトの名無しさん
2007/01/29(月) 02:41:00>>367
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3543.txt
0393>>390 ≠ >>391 = >>392
2007/01/29(月) 02:55:190394393
2007/01/29(月) 02:57:530395デフォルトの名無しさん
2007/01/29(月) 03:02:070396デフォルトの名無しさん
2007/01/29(月) 03:03:59367#適当な文字列 ←ここは自分で決めろ
って名前欄に入れろ
0397デフォルトの名無しさん
2007/01/29(月) 03:05:050398391
2007/01/29(月) 03:08:350400デフォルトの名無しさん
2007/01/29(月) 03:15:280401デフォルトの名無しさん
2007/01/29(月) 03:16:35解答してくれた人がいるんだから一応解決だよな・・・
0402デフォルトの名無しさん
2007/01/29(月) 05:27:48[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まで
よろしくお願いします。
0403デフォルトの名無しさん
2007/01/29(月) 06:00:27初期値から値を最適化するようなC言語ソースありませんか?
勾配法を使ったものなど。。
0404デフォルトの名無しさん
2007/01/29(月) 06:14:03[2]問題文:3つの非負整数 h,m,sを入力して、h時間m分s秒に相当する時間の長さを秒単位に変換して出力するCプログラムを作成しなさい。
[3]環境
[3.1]LINUX
[3.3]C
[4]期限:2007年1月29日 16:00まで
宜しくお願いします。
0405デフォルトの名無しさん
2007/01/29(月) 06:21:430406デフォルトの名無しさん
2007/01/29(月) 06:30:09#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;
}
0407デフォルトの名無しさん
2007/01/29(月) 07:09:25どうもありがとうございました。
0408デフォルトの名無しさん
2007/01/29(月) 07:23:43回答お願いします
0409デフォルトの名無しさん
2007/01/29(月) 07:31:50>>1
>>408
>>1
0410デフォルトの名無しさん
2007/01/29(月) 08:35:28#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;
}
0411デフォルトの名無しさん
2007/01/29(月) 10:18:08下のプログラムの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);
}
0412デフォルトの名無しさん
2007/01/29(月) 10:40:49{
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);
}
0413デフォルトの名無しさん
2007/01/29(月) 10:45:48宿題なら>>1をよく読んで書き直し、
質問なら適切なスレへ移動してください
まずはループの条件を見直すところから始めるといいよ
0414デフォルトの名無しさん
2007/01/29(月) 10:46:37s の初期化は?
0415デフォルトの名無しさん
2007/01/29(月) 10:52:16s = 0が見えないのか?
0416デフォルトの名無しさん
2007/01/29(月) 11:00:520417デフォルトの名無しさん
2007/01/29(月) 11:03:08[2] 問題文(含コード&リンク): 関数のポインターを使ったプログラム
[3] 環境
[3.1] OS: Linux
[3.3] 言語: C
[4] 期限: 2007年1月29日2:00まで
お願いします
0418デフォルトの名無しさん
2007/01/29(月) 11:04:280420デフォルトの名無しさん
2007/01/29(月) 11:15:19#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;
}
0421デフォルトの名無しさん
2007/01/29(月) 11:53:50[2]問題文:3つの整数 a,b,cを読み込み、a,b,cを3辺の長さとする三角形が存在するかどうかを判定するCプログラムを作成せよ。
[3]環境
[3.1]OS:Linux
[3.3]言語:C
0422デフォルトの名無しさん
2007/01/29(月) 11:56:01[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文字まで。
宜しくお願いします。
0423デフォルトの名無しさん
2007/01/29(月) 12:30:00#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;
}
0424デフォルトの名無しさん
2007/01/29(月) 12:43:46#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;
}
0425デフォルトの名無しさん
2007/01/29(月) 12:56:28http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3547.c
0426デフォルトの名無しさん
2007/01/29(月) 12:59:26[2] 問題文(含コード&リンク):
既存のデータ型では扱えない大きな数の掛け算
負の数は考慮しなくてよい
getsで2つの数字文字列を入力する
2数の積を算出する
※方法は不問、結果が正しければ良い
※最低 30桁 × 30桁 が計算可能であること
※答の前ゼロは表示しないこと
方法
2つの数字文字列をそれぞれを1文字ずつint型に変換して
int型配列に格納しておき、1桁ずつ筆算の要領で計算する
・オプション
計算の経過を筆算形式で出力する
(桁上がりなしの場合、1つだけ前ゼロが出力されても良い)
不要なゼロは表示しないこと
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:
[3.3] 言語:C
[4] 期限:明日まで
[5] その他の制限:
よろしくお願いします
0427425
2007/01/29(月) 13:01:220428デフォルトの名無しさん
2007/01/29(月) 13:34:310429デフォルトの名無しさん
2007/01/29(月) 13:36:17#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;
}
0430デフォルトの名無しさん
2007/01/29(月) 13:37:550431デフォルトの名無しさん
2007/01/29(月) 13:43:02忘れてたorz
0433デフォルトの名無しさん
2007/01/29(月) 14:10:32[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
0434デフォルトの名無しさん
2007/01/29(月) 14:33:35#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;
}
0435デフォルトの名無しさん
2007/01/29(月) 14:39:14#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;
}
0436デフォルトの名無しさん
2007/01/29(月) 14:41:010437デフォルトの名無しさん
2007/01/29(月) 15:54:15count一種類にしてi使えば?
0438デフォルトの名無しさん
2007/01/29(月) 16:06:10for(long i=1,count_total=0,count_internal=0;i<=20000;i++){
だったのを書き換えた名残
0439デフォルトの名無しさん
2007/01/29(月) 16:29:13iで回数わかるのにcount_totalいらねーだろってことなんだが、名残とか意味分からん。
0440デフォルトの名無しさん
2007/01/29(月) 16:47:48[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]その他の制限:なし
よろしくお願いします
0441デフォルトの名無しさん
2007/01/29(月) 17:06:00[2] 問題文:
・データファイルから、全体の人数、英語、数学、理科の3教科の得点を打ち込む。
・各自の合計点を求める。
・3教科および、合計点それぞれについて、最大値、最小値を求めよ。
・合計点の大きい順にデータを並び替えて出力せよ。
・並べ替える前のデータも表示出力せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:Microsoft Visual C++ .NET
[3.3] 言語: C++
[4] 期限: 2月1日
[5] その他の制限:なし
よろしくお願いします。
0442デフォルトの名無しさん
2007/01/29(月) 17:53:23[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] その他の制限: 基本情報の試験に出る範囲くらいまで(あいまいですみません)
宜しくお願い致します。
0443デフォルトの名無しさん
2007/01/29(月) 18:16:19#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;
}
0444デフォルトの名無しさん
2007/01/29(月) 18:24:20グローバルな名前空間を汚すな。
static const char * const dw[] = {"日", "月", "火", "水", "木", "金", "土"};
static const int dm[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
0445デフォルトの名無しさん
2007/01/29(月) 18:30:02その前に、なぜmain()の中で定義しないのかを問うべきではないか。
0446デフォルトの名無しさん
2007/01/29(月) 18:33:360447359
2007/01/29(月) 18:34:15初期値として入力した値を少しずつ減算して利用していく方法で無事解決しました。
手前勝手で済みませんが質問を取り下げさせて頂きます。
お騒がせして済みませんでした。
0448デフォルトの名無しさん
2007/01/29(月) 18:54:51[2]問題文:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3549.txt
[3]環境
[3.1]OS:Linux
[3.2]gcc
[3.3]言語:C
よろしくお願いします。
0449442
2007/01/29(月) 20:24:27ありがとうございました。
>>444
私には「static」の意味が解からないんですが、>>443のプログラムで動きました。
>>445
mainの中に入れました。
皆さんありがとうどざいました。
0450デフォルトの名無しさん
2007/01/29(月) 20:57:10ttp://dictionary.goo.ne.jp/search.php?MT=static&kind=ej&mode=0&base=1&row=0
const
ttp://www.geocities.jp/ky_webid/cpp/language/020.html
0451デフォルトの名無しさん
2007/01/29(月) 22:50:38[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#なのですが、もし宜しければお願いしたい所存であります!
0452デフォルトの名無しさん
2007/01/29(月) 22:56:15スレタイを1万回読め。
0453デフォルトの名無しさん
2007/01/29(月) 23:21:150454デフォルトの名無しさん
2007/01/29(月) 23:24:490456デフォルトの名無しさん
2007/01/29(月) 23:25:47C#のスレ探せ。無ければ立てろ。
あと最低限日本語訳が無いと作れない。
0457デフォルトの名無しさん
2007/01/29(月) 23:26:39getsを使わせるような教官は張り倒して構わん
0458デフォルトの名無しさん
2007/01/29(月) 23:27:02>>3
あーあ、ちゃんと未回答集めれば作ったのがあるのに・・・
0459デフォルトの名無しさん
2007/01/29(月) 23:28:37方法不問なのか、示された方法を用いるのか、どっちなんだい?
0460デフォルトの名無しさん
2007/01/29(月) 23:28:47getsのバッファオーバーランに関する危険性をレポートにまとめて提出しとけ。
そんな課題まじめにやる必要ないよ。
0461デフォルトの名無しさん
2007/01/29(月) 23:31:00つい最近見かけたような気がする デジャビュかとおもったw
>>455
>>3
0462デフォルトの名無しさん
2007/01/29(月) 23:34:36漏れが答えた奴だから全く同じ問題だということがすぐ分かったw
http://pc10.2ch.net/test/read.cgi/tech/1168663908/559と562だな
0463デフォルトの名無しさん
2007/01/29(月) 23:37:01やってみようと思ったが解凍してアイコンとサイズみて0.5秒で捨てた
0464デフォルトの名無しさん
2007/01/29(月) 23:42:270466デフォルトの名無しさん
2007/01/29(月) 23:48:420467デフォルトの名無しさん
2007/01/29(月) 23:48:560468455
2007/01/29(月) 23:51:25お願いします!
0469デフォルトの名無しさん
2007/01/29(月) 23:52:11>>3
0470デフォルトの名無しさん
2007/01/29(月) 23:53:15>>3さえ満たせばすでに前スレで解答ができてるからそれを教えてやるっての
0471デフォルトの名無しさん
2007/01/29(月) 23:53:59釣りにしては…
>>1 から順番にこのスレをじっくり読め
0472デフォルトの名無しさん
2007/01/30(火) 00:03:30皆いっぺんに3428.txtに行ってる予感w
0473デフォルトの名無しさん
2007/01/30(火) 00:05:470474デフォルトの名無しさん
2007/01/30(火) 00:16:20そうですよね・・・ごめんなさい。
一度訳して、出来る限り簡潔にまとめて出直してきてもいいですか?
こんなC#ですけど、相手にしてもらえたら嬉しいです!
0475デフォルトの名無しさん
2007/01/30(火) 00:22:280477デフォルトの名無しさん
2007/01/30(火) 00:30:56途中まででいいということなので
int main()
{
途中までですが どうぞ
>>3
0478デフォルトの名無しさん
2007/01/30(火) 00:35:01おっぱいうpでもですか?
0479デフォルトの名無しさん
2007/01/30(火) 00:35:07あんまりだぉ
せめてコンパイルはとおる程度には
#include<stdio.h>
int main(){
char str[31];
gets(str);
return 0;
}
0480デフォルトの名無しさん
2007/01/30(火) 00:37:09まずうpしろ
0481デフォルトの名無しさん
2007/01/30(火) 00:50:46明日朝の講義があるので、寝ます・・。
相手にしてくださった方、どうもありがとうございました!
0482デフォルトの名無しさん
2007/01/30(火) 02:53:31作ってみた。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3552.txt
0483デフォルトの名無しさん
2007/01/30(火) 04:12:15http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3553.txt
0484デフォルトの名無しさん
2007/01/30(火) 05:03:56いろいろ問題が発覚したので修正。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3554.txt
0485デフォルトの名無しさん
2007/01/30(火) 08:04:02ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3555.txt
>484さんのパクってみたw
生年月日入力に入ると、正常入力されるまで永久に抜け出せないのは悪仕様っぽい
0486デフォルトの名無しさん
2007/01/30(火) 08:05:040487デフォルトの名無しさん
2007/01/30(火) 09:54:11[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] その他の制限: 特になし
よろしくお願いします。
0488デフォルトの名無しさん
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
0489デフォルトの名無しさん
2007/01/30(火) 12:26:22http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3556.c
0490ガロ
2007/01/30(火) 14:59:37[2] 問題文(含コード&リンク):
•自動販売機のオブジェクトを作成し実現しなさい(ジュース,たばこ,カップラーメンなど何でも良い(何の自販機は出力すること))。ただし,下記の条件を満たすこと。
<条件>
•自動販売機で購入できる「商品商品」,「お金お金」,「自動販売機自動販売機」は最低限クラス化すること。
•「カプセル化」,「継承」,「多様性」を全て利用すること。
•例外処理をすること(プログラムが頓挫した時点でNGとします)。
•入出力は,下記のとおり行うこと。
【入力】
・お金(10円〜1000円)の個数(枚数)
・購入商品選択(複数可)
【出力】
・つり銭(10円〜100円)の個数(枚数)と総購入代金
・購入商品名(複数)
•実現は,main()関数で「自動販売機」クラスのインスタンスを1つ作成し,そのクラスのbuy()メンバ関数を呼び出したら全てが動作するようにする。
[3] 環境
[3.1] OS: (XP)
[3.2] visual studio2003
[3.3] C++
[4] 期限:明日中に
[5] その他の制限:なし
お願いします。
0491初産
2007/01/30(火) 15:05:14[2] 問題文(含コード&リンク):
short型, int型, long型, float型, double型の5つの型の変数を2つづつ宣言しなさい。
そして,それぞれの変数にキーボードから値を入力し,2つの変数を入れ替えなさい(同じ名前で,仮引数の型が違う関数を5つ作成すること。また,仮引数は参照変数にすること)
最後に,入れ替えた値を出力しなさい。
[3] 環境
[3.1] XP
[3.2] visual studio2003
[3.3] C++
[4] 期限:今日中に
[5] その他の制限:なし
よろしくお願いします。
0492デフォルトの名無しさん
2007/01/30(火) 15:10:16日本語では複数形を表すのに慣用的に同じ語句を繰り返す場合(人々、品々等)があるが、
基本的に複数形はないと考えてよい。
0493デフォルトの名無しさん
2007/01/30(火) 16:27:25日本語がわりと上手だね。
どこの国の人?
0494ガロ
2007/01/30(火) 16:38:310495デフォルトの名無しさん
2007/01/30(火) 16:49:16バグってるやんw 直しといたよ〜
>448
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3558.txt
0496デフォルトの名無しさん
2007/01/30(火) 17:15:480497デフォルトの名無しさん
2007/01/30(火) 17:23:040498デフォルトの名無しさん
2007/01/30(火) 17:36:320499デフォルトの名無しさん
2007/01/30(火) 17:37:57[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は不可
よろしくお願いします。
0500デフォルトの名無しさん
2007/01/30(火) 17:47:59どもアリガトです はじゅかしいorz
記事削除しましたm(_ _)m
0501デフォルトの名無しさん
2007/01/30(火) 19:51:29やってみた
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3560.txt
0502デフォルトの名無しさん
2007/01/30(火) 20:41:030503501
2007/01/30(火) 20:58:360504デフォルトの名無しさん
2007/01/30(火) 21:10:18シフトビット演算子を使うのかどうかはともかく、とりあえず
入力された数値を一度2進数にしてから加工した方がええんかね?
そういった条件については書かれていないから、やれる手段の中から勝手に答えりゃ良いけど
0505デフォルトの名無しさん
2007/01/30(火) 21:32:22http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3561.c
0506momoyo
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
0507ジロー
2007/01/31(水) 01:48:50[2] 問題文(含コード&リンク):
自動販売機のオブジェクトを作成し実現しなさい(ジュース,たばこ,カップラーメンなど何でも良い(何の自販機は出力すること))。ただし,下記の条件を満たすこと。
<条件>
•自動販売機で購入できる「商品商品」,「お金お金」,「自動販売機自動販売機」は最低限クラス化すること。
•「カプセル化」,「継承」,「多様性」を全て利用すること。
•例外処理をすること(プログラムが頓挫した時点でNGとします)。
•入出力は,下記のとおり行うこと。
【入力】
・お金(10円〜1000円)の個数(枚数)
・購入商品選択(複数可)
【出力】
・つり銭(10円〜100円)の個数(枚数)と総購入代金
・購入商品名(複数)
•実現は,main()関数で「自動販売機」クラスのインスタンスを1つ作成し,そのクラスのbuy()メンバ関数を呼び出したら全てが動作するようにする。
[3] 環境
[3.1] XP
[3.2] visual studio2003
[3.3] C++
[4] 期限:出来れば早く。
[5] その他の制限:なし
よろしくお願いします。
0508ジロー
2007/01/31(水) 02:04:08[2] 問題文(含コード&リンク):
‒int型の変数を複数個格納するクラスを作成したい。ここでメンバ変数を配列にしてしまうと限られた個数の変数しか格納することができないので,動的メモリ(new)を用いてメモリの許す限り変数を作成しようと思う。
‒メンバ変数「int*data;」をクラス内に用意し,そして,この変数にデータを追加するメンバ関数を用意して,上記のクラスを実現しなさい。
‒ただし,プログラムが終わるときにはメモリを全て解放すること(デストラクタで実現すること)。また,C言語のメモリ確保関数は用いてはいけない。
【上記以外にクラスに必要なもの】
・コンストラクタ,変数入出力用メンバ関数
【確認】
実際にインスタンスを生成し,反復文を用いてデータを入力し確認する。
[3] 環境
[3.1] XP
[3.2] visual studio2003
[3.3] C++
[4] 期限:出来れば早く。
[5] その他の制限:なし
よろしくお願いします。
0509ジロー
2007/01/31(水) 02:05:03[2] 問題文(含コード&リンク):
上の課題(508)で作成したクラスにコピー機能を持たせたい。コピーコンストラクタを用いてこのクラスにコピー機能を持たせなさい。
【確認】
上の課題(508)で作成したインスタンスともうひとつインスタンスを用意し,提出課題1で作成したインスタンスをそれにコピーし,それのデータをコンソールに出力して確認する。
[3] 環境
[3.1] XP
[3.2] visual studio2003
[3.3] C++
[4] 期限:出来れば早く。
[5] その他の制限:なし
よろしくお願いします。
0510デフォルトの名無しさん
2007/01/31(水) 02:15:49[2] 問題文: 2分木の先行順走査が、レベル順走査のキューより記憶領域を多く使うような木の例をあげよ
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン:なし
[3.3] 言語: C
[4] 期限: 2月7日
[5] その他の制限:なし
よろしくお願いします。
0511デフォルトの名無しさん
2007/01/31(水) 03:27:45はて・・・
0512デフォルトの名無しさん
2007/01/31(水) 03:30:390513デフォルトの名無しさん
2007/01/31(水) 04:22:19OSにも言語にも依存しない一般的なアルゴリズムの問題だな。
0514デフォルトの名無しさん
2007/01/31(水) 05:25:330515""""
2007/01/31(水) 05:30:15http://eco.no.land.to/idol/forumdisplay.php?fid=1&filter=0&orderby=views&page=1
0516デフォルトの名無しさん
2007/01/31(水) 07:03:390517デフォルトの名無しさん
2007/01/31(水) 08:24:470を代入する代わりに自分自身とXORはよくやったな(アセンブラだけど)
0518デフォルトの名無しさん
2007/01/31(水) 08:47:02http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3563.txt
例外は適当に作ったので気に入らなかったら手直ししてくれ。
0519デフォルトの名無しさん
2007/01/31(水) 10:11:51[2] 問題文: ファイルがEASYQUESTIONであるとしてクイックソートで整列するのに実行される比較回数を求めよ
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン:なし
[3.3] 言語: C
[4] 期限: なし
[5] その他の制限:なし
よろしくお願いします。
0520デフォルトの名無しさん
2007/01/31(水) 10:13:22意味不明
もっと詳しく書け
0521519
2007/01/31(水) 10:15:11[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] その他の制限:なし
よろしくお願いします。
0522デフォルトの名無しさん
2007/01/31(水) 10:17:03>>3
> ・回答の督促は禁止
> 但し、スレ中の全未回答問題レス番号を張る場合のみ許可とする
未回答問題まとめて出直して来い
0523デフォルトの名無しさん
2007/01/31(水) 10:33:26ちょっと上に既出
>371 >374
>377
0524デフォルトの名無しさん
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] 期限:明日まで
0525デフォルトの名無しさん
2007/01/31(水) 11:18:06規則が
a -> b
a -> c
c -> a
の場合、
[1] a -> b
を出力した後に「ループ」を出力することは認められる?
それとも最初から「ループ」と出力しなければいけない?
0526525
2007/01/31(水) 11:18:540527デフォルトの名無しさん
2007/01/31(水) 11:22:11おまえも>3を読んでこい
rule1.txtをうpしれ
0528デフォルトの名無しさん
2007/01/31(水) 11:34:19[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の方が簡単らしいですが・・・よくわかりません
0529524
2007/01/31(水) 12:04:40rule1.txtの内容は問題に書いてる
a -> b
b -> c
b -> x
c -> d
というのがrule1.txtの内容になっています。
>525
これも説明不足でした。すみません。
これは最初から"ループ"と表示することになっています。
0530デフォルトの名無しさん
2007/01/31(水) 12:18:54変換できなくなるまでの文字を'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;
}
0531デフォルトの名無しさん
2007/01/31(水) 12:32:36ループの意味を取り違えた
修正するm(_ _)m
0532デフォルトの名無しさん
2007/01/31(水) 12:33:24問題を壮絶に誤解してない?
>>524
たとえばルールが
a -> z
b -> c
c -> b
で、開始文字が a の場合はループ?それとも a -> z ?
0533デフォルトの名無しさん
2007/01/31(水) 12:53:16うん 気が付いたm(_ _)m
0534デフォルトの名無しさん
2007/01/31(水) 12:54:48#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;
}
0535デフォルトの名無しさん
2007/01/31(水) 13:00:44それも違くね?
複数行のルール適用後の値を再度ルールを適用して繰り返し行う
で入力値になったときにループを表示するのではないかな?
0536デフォルトの名無しさん
2007/01/31(水) 13:06:400537デフォルトの名無しさん
2007/01/31(水) 13:07:37http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3565.c
一番上の配列のサイズが 27 なのは気の迷いなので 26 に変更を。
0539デフォルトの名無しさん
2007/01/31(水) 14:05:17このとき,入力されるデータが,バイナリでも正しく動作するよう留意せよ.
この課題、初心者なのでわかりません。
教えてください。
0540デフォルトの名無しさん
2007/01/31(水) 14:20:520541デフォルトの名無しさん
2007/01/31(水) 14:32:120542デフォルトの名無しさん
2007/01/31(水) 14:34:55void main(void){while(putchar(getchar()));}
0543デフォルトの名無しさん
2007/01/31(水) 14:56:040544528
2007/01/31(水) 15:23:23[2] 問題文:音楽データ(WAVE,MP3等) にパスワードを用いてランダムでビットプレーンに電子透かしを埋め込む
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:特になし
[3.3] 言語:C
[4] 期限: 2007年2月7日17:00まで
[5] その他:応用での課題もあるので、よろしければ皆様のお力を貸してください。
よろしくお願いします。
0545デフォルトの名無しさん
2007/01/31(水) 15:27:45>3
0546544
2007/01/31(水) 16:01:37誠に申し訳ありません。
http://www.seospy.net/src/up0542.zip
過去の課題のプログラム一覧や、入れる透かしファイル等まとめさせて頂きました。
これらをビットプレーンという場所にWAVEファイルに電子透かしを入れ込むのが今年の課題です。
あまりプログラムに強くないので・・・よろしくお願い致します
0547デフォルトの名無しさん
2007/01/31(水) 16:33:30それじゃNULを入力しない限り無限ループするがな。
0548デフォルトの名無しさん
2007/01/31(水) 16:39:360549デフォルトの名無しさん
2007/01/31(水) 16:53:32>3
> ・回答の督促は禁止
> 但し、スレ中の全未回答問題レス番号を張る場合のみ許可とする
[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] その他の制限:なし
よろしくお願いします。
0551デフォルトの名無しさん
2007/01/31(水) 17:40:120552デフォルトの名無しさん
2007/01/31(水) 17:41:020553デフォルトの名無しさん
2007/01/31(水) 17:42:470554デフォルトの名無しさん
2007/01/31(水) 17:47:180555デフォルトの名無しさん
2007/01/31(水) 18:07:59[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] その他の制限:なし
よろしくお願いします。
0556デフォルトの名無しさん
2007/01/31(水) 18:10:370557デフォルトの名無しさん
2007/01/31(水) 18:12:54またお前か
順調にカス人間に成長してるな
0558555
2007/01/31(水) 18:35:400559デフォルトの名無しさん
2007/01/31(水) 18:47:06[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] その他の制限:なし
よろしくお願いします
0560デフォルトの名無しさん
2007/01/31(水) 19:07:52token.hがない
>3
0561デフォルトの名無しさん
2007/01/31(水) 19:09:580562デフォルトの名無しさん
2007/01/31(水) 19:13:33ごめんなさい各ファイルを作成してもう一度上げ直します
0563musi
2007/01/31(水) 19:55:47[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] その他の制限:なし
よろしくお願いします。
0564デフォルトの名無しさん
2007/01/31(水) 20:27:30[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のアップロードしなおしです
よろしくお願いします
0565デフォルトの名無しさん
2007/01/31(水) 20:58:53[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] その他の制限:特になし
よろしくお願いします
0566524
2007/01/31(水) 22:48:48勉強になります。
0567524
2007/01/31(水) 22:57:21その場合は開始文字がaならループには
ならないいのでa -> z となります。
0568デフォルトの名無しさん
2007/01/31(水) 23:00:53CHECK_DEF(d) ok(d==MSVCRT_##d,"Defines (MSVCRT_)" #d " are different: %d vs. %d\n",d,MSVCRT_##d)
okって何?
内容はバッティングする宣言をMSVCRT_ってつけたのに入れ替えるような
ことらしいけど
宣言がない場合はエラーが出るのはしょうがないのかな?
0569デフォルトの名無しさん
2007/01/31(水) 23:03:46http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3569.c
ネットで検索すりゃ出てくるネタだとは思うが・・・
0570569
2007/01/31(水) 23:07:090571569
2007/01/31(水) 23:09:500572デフォルトの名無しさん
2007/01/31(水) 23:13:26http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3570.c
0573デフォルトの名無しさん
2007/01/31(水) 23:40:43http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3571.c
クソースばっかり貼ってすまそ。某所のソースをコピって使ったけど
俺なりに改造してみた。
0574デフォルトの名無しさん
2007/01/31(水) 23:47:12ありがとうございます。
ネットで検索したり参考書に載ってるのをやってはみたのですが
上手くいかなかったので助けをあおがせてもらいました。
0575デフォルトの名無しさん
2007/01/31(水) 23:50:52すまん、改造したけど>>573には最初の2が入ってなかった orz
0576デフォルトの名無しさん
2007/01/31(水) 23:52:59>>573の最初のfor文の中身を for(i=1; i<=MAX; i++) にしてくれい。
なんかあれこれ仕様を変更してたら、結局無駄を省いたつもりが
他のことで無駄が増えたり・・・。スレ汚しすまそ。
0577デフォルトの名無しさん
2007/02/01(木) 00:09:41memsetを使ったらいいじゃないかな
と書いてみた
0578デフォルトの名無しさん
2007/02/01(木) 00:22:35[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] その他の制限: なし
問題文は出題されたまま書いたのですが、見にくい書き方かもしれません。ごめんなさい。
よろしくお願いします。
0579578 ◆5fjFi994/o
2007/02/01(木) 00:23:230580デフォルトの名無しさん
2007/02/01(木) 00:47:13切り上げって表示だけ?それともA〜Dの判定にも影響してくるの?
0581デフォルトの名無しさん
2007/02/01(木) 00:47:37#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");
}
0582デフォルトの名無しさん
2007/02/01(木) 00:51:57ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3573.zip
0583578 ◆5fjFi994/o
2007/02/01(木) 01:05:27説明が不足していて申し訳ありません。
判定にも影響します。
例えば71と入力して終了した場合は80となり、判定はAとなるプログラムをお願いします。
>>581
ありがとうございます。
実行してみたのですが、切り上げが行われていないようです・・・
0584デフォルトの名無しさん
2007/02/01(木) 01:15:32↓
if (sum >= 5)
0585デフォルトの名無しさん
2007/02/01(木) 01:20:20#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;}
0586デフォルトの名無しさん
2007/02/01(木) 02:38:48[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] その他の制限: ポインタ配列を必ず使う ぐらいです
どなたかよろしくお願いします
0587デフォルトの名無しさん
2007/02/01(木) 02:41:29[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] その他の制限:
よろしくお願いします
0588デフォルトの名無しさん
2007/02/01(木) 03:38:46[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つのブロックにくっつき、それぞれの確率を求めます。
途中まで書いてみたのですが、上記の部分を書くことができませんでした。
よろしくお願いします。
0589デフォルトの名無しさん
2007/02/01(木) 04:50:570590デフォルトの名無しさん
2007/02/01(木) 05:12:100591伊藤
2007/02/01(木) 05:12:45[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
自分の学生番号と名前を表示するプログラムを作成し、プログラムと実行結果
を示せ。但し、学生番号と名前はそれぞれをメンバとして持つ構造体として定
義し、この構造体を引数として表示動作する関数を定義し、これを利用したプ
ログラムとすること。構造体タグ名やメンバ名は自由に決めてよい。構造体が
利用されていないプログラムを示した場合には減点する。
[3] 環境 LINUX
[3.3] 言語: C
[4] 期限:なるべく早めに
よろしくお願いします
0594デフォルトの名無しさん
2007/02/01(木) 11:26:48なるべく早めにやって欲しいなら学籍番号と名前よろ
0595デフォルトの名無しさん
2007/02/01(木) 12:19:34「自称」程度のエスパーでは無理でした(´・ω・`)
0596デフォルトの名無しさん
2007/02/01(木) 12:25:14#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;
}
0597デフォルトの名無しさん
2007/02/01(木) 13:21:42[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] その他の制限: ポインタ配列を必ず使う ぐらいです
どなたかよろしくお願いします
0598デフォルトの名無しさん
2007/02/01(木) 13:23:06>3
0599デフォルトの名無しさん
2007/02/01(木) 13:47:27[2] 問題文(含コード&リンク):キーボードから5文字以内の文字列を入力し
文字配列へ格納する。格納した文字配列を表示する。
実行例
INPUT > Hello (入力)
Hello (システム表示)
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:gcc3.4
[3.3] 言語:C言語
[4] 期限: 特になし
[5] その他の制限:配列、Null文字
0600デフォルトの名無しさん
2007/02/01(木) 14:03:14#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;
}
0601デフォルトの名無しさん
2007/02/01(木) 14:22:57#include <stdio.h>
void main(void){char str[6];printf("INPUT>");scanf("%s",str);printf("%.5s",str);}
0602デフォルトの名無しさん
2007/02/01(木) 15:03:01#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;
}
0603588
2007/02/01(木) 15:23:12なんとか端折りながら書いてみたんですけど、今読み直してみるとワケワカンネ。
徹夜30時間で超てんぱってたからなぁ。
とりあえず、今日の朝提出だったんですけど来週に延ばしてもらいました。
0604デフォルトの名無しさん
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
0605デフォルトの名無しさん
2007/02/01(木) 16:20:42>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
0606378
2007/02/01(木) 16:57:44まだやっています。締め切り明日なのですがまだ全然できません.
最善はつくしますが
0607559
2007/02/01(木) 17:47:47解答ありがとうございます
提出してみたのですが誤りでした
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
[出力結果ここまで]
0608デフォルトの名無しさん
2007/02/01(木) 18:00:28食わせるファイルをUPしてみ
0609デフォルトの名無しさん
2007/02/01(木) 18:03:34[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] その他:特になし
よろしくお願いします
0610デフォルトの名無しさん
2007/02/01(木) 18:16:52[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
よろしくお願いします!!
0611デフォルトの名無しさん
2007/02/01(木) 18:46:44マルチはパス
レポートはパス
督促・重複質問があったやつもパス
動作に必要なファイル(読込みデータの類)がUP無いモノはパス
例え質問テンプレに内容が張ってあってもパス
(ファイルファーマットで動作に影響する可能性がある為)
0612デフォルトの名無しさん
2007/02/01(木) 18:49:20( ⌒) ∩_ _グッジョブ !!
/,. ノ i .,,E)
./ /" / /"
_n グッジョブ!! ./ /_、_ / ノ'
( l _、 _ / / ,_ノ` )/ /_、 _ グッジョブ!!
\ \ ( <_,` )( /( ,_ノ` ) n
ヽ___ ̄ ̄ ノ ヽ |  ̄ \ ( E)
/ / \ ヽフ / ヽ ヽ_//
0613デフォルトの名無しさん
2007/02/01(木) 19:57:28#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;
}
0615あっこ
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] その他の制限:なし
よろしくお願いします。
0616デフォルトの名無しさん
2007/02/02(金) 01:58:11[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まで
お手数ですが、よろしくお願いします。
0617デフォルトの名無しさん
2007/02/02(金) 02:19:52(3)のみ。(1)と(2)は前に出てたような気がする。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3580.txt
0618デフォルトの名無しさん
2007/02/02(金) 02:33:31#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;}
自動解析って何だ・・・?
0619デフォルトの名無しさん
2007/02/02(金) 02:37:11事か?そんな事は無理。膨大な辞書を持てば可能かもしれんが・・・・
宿題でそんなアホな問題が出るとも思えん。
0620デフォルトの名無しさん
2007/02/02(金) 03:50:49>>619
とりあえず解析っぽいことをしてみた。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3586.txt
0621デフォルトの名無しさん
2007/02/02(金) 03:58:470622あっこ
2007/02/02(金) 04:29:31ありがとうございました。
0623あっこ
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] その他の制限:なし
よろしくお願いします。
0624デフォルトの名無しさん
2007/02/02(金) 06:20:570625デフォルトの名無しさん
2007/02/02(金) 09:45:530626デフォルトの名無しさん
2007/02/02(金) 09:49:40問題数が多いからって並列処理かよ!
0627デフォルトの名無しさん
2007/02/02(金) 10:21:24#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;
}
0628デフォルトの名無しさん
2007/02/02(金) 10:36:11#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);
}
0629デフォルトの名無しさん
2007/02/02(金) 11:04:57http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3587.txt
0630デフォルトの名無しさん
2007/02/02(金) 14:38:380631デフォルトの名無しさん
2007/02/02(金) 15:21:48これは誰かの作りかけみたいだな
題意とUPされてるモノが違うのか?
作りかけじゃない、問題の全文をUPしてくれ
0632デフォルトの名無しさん
2007/02/02(金) 15:27:07それが誰も手を ( 付けない || つけられない ) 理由
0633デフォルトの名無しさん
2007/02/02(金) 17:08:52率直な感想だが、
作りかけだとしたら、この宿題までの課題を復習しろ
もし本当にこのままで宿題が出てたとしたら、出題者をヌっころせ!
全角「”」って何んだぁ〜w
途中までやったのをUPするのは構わないが、
穴埋めじゃないモノを穴埋めだ!と宿題スレに投げるのはヤメレ
宿題も元文も無しに、間違ったモノをUPして直せだの、続けて書いてくれもヤメレ
それで督促・重複されてもどうしようもない
0634n
2007/02/02(金) 18:11:390635デフォルトの名無しさん
2007/02/02(金) 18:18:31素直に自分の思うところを記述すればいいと思うよ。
一般にどういうふうに考えられていますか、なら相談に乗れるが。
ただし、ここで議論してもフレームになるだけだろうが。
0636デフォルトの名無しさん
2007/02/02(金) 18:26:44どこがわからないか聞いてそこを教えたほうがよくない?
0637デフォルトの名無しさん
2007/02/02(金) 18:27:57どこがわからないかわかるような賢い連中は丸投げしないし、そもそもこんなスレに来ない
0638デフォルトの名無しさん
2007/02/02(金) 18:28:37自分達の力量を試す場じゃないの?
0639デフォルトの名無しさん
2007/02/02(金) 18:29:50ここは暇な人間が相手のことなんか考えずに腕試しに課題をこなすスレ
そういう回答が必要なら、質問系のポータルサイト行くべきだ。
0641デフォルトの名無しさん
2007/02/02(金) 18:33:26ただ単位をとるためにプログラムやってるだけどだ思う
0642デフォルトの名無しさん
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/
0643デフォルトの名無しさん
2007/02/02(金) 19:00:59その回答と自分のこなしてみたモノと比べてイロイロ考える
ロジカルな部分であったりコーディングスタイルであったり
あるいは出題者の意図と設問作成であったり
イロイロ考えた結果をレスしなくてイイのが、このスレの良いとこで張り付いてるw
もちろん質問者も回答を得てイロイロ考えるだろうが、まっそれは各人の自覚次第
0644デフォルトの名無しさん
2007/02/02(金) 19:36:17Asm好きは卑屈すぎます♪高級言語は怖くないです♪
Bsic好きは中途半端♪世の中のAPはBasicで作れ〜ますがデバドラ類にはちょ〜と不足♪
C好きは賢い選択♪A・Bよりはちょ〜と、おりこう♪
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・以下 自分の考察を述べよ
0645デフォルトの名無しさん
2007/02/02(金) 19:40:23[2] 問題文(含コード&リンク):
一次元の熱伝導のシミュレーションを行うプログラムの作成。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 2月7日
[5] その他の制限:特になし
0646デフォルトの名無しさん
2007/02/02(金) 19:44:18条件を超伝導にすれば楽勝だね!
0647デフォルトの名無しさん
2007/02/02(金) 19:48:590648あっこ
2007/02/02(金) 20:00:190649あっこ
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] その他の制限:なし
よろしくお願いします。
0650デフォルトの名無しさん
2007/02/02(金) 20:15:01>>3
0651n
2007/02/02(金) 20:21:470652デフォルトの名無しさん
2007/02/02(金) 20:24:52まずはスレ違いだと考えるべきだな
0653デフォルトの名無しさん
2007/02/02(金) 20:29:30ジロー・ガロ・あっこは同族か同一か?w スルー確定w
0654デフォルトの名無しさん
2007/02/02(金) 20:29:51#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;
}
0655デフォルトの名無しさん
2007/02/02(金) 20:32:22それ宿題じゃないだろ。
自分の考えを書くのが宿題なのに他人の考えを聞いてどうする。
0656デフォルトの名無しさん
2007/02/02(金) 20:33:37>>634のような莫迦には到底理解しきれないような高尚な言語
0657n
2007/02/02(金) 20:38:130658デフォルトの名無しさん
2007/02/02(金) 20:41:57>644書いて出しとけ
シャレの判る先生ならニヤリッとして点くれるかもよw
0659デフォルトの名無しさん
2007/02/02(金) 20:42:00知識が無いってことを1000文字書けばいいじゃないか
0660デフォルトの名無しさん
2007/02/02(金) 20:45:30× 皆さんの考えを参考に
○ 皆さんの答えを丸写し
0661n
2007/02/02(金) 20:47:360662デフォルトの名無しさん
2007/02/02(金) 20:49:50と言って煽れば誰かが書いてくれると思ってるのだろうか?
0663デフォルトの名無しさん
2007/02/02(金) 20:50:13どうして誰も書いてくれないのか少しは自分で考えてみれば?
0664デフォルトの名無しさん
2007/02/02(金) 20:51:30昔、大学の試験で全然分からなくて
解答用紙一杯に細かい字で「すいません。分かりませんでした。」
って書いたら可でぎりぎり通してもらったことがある。
0665n
2007/02/02(金) 20:54:28皆さんが無能だということはよく分かりました
0666デフォルトの名無しさん
2007/02/02(金) 20:57:43お前がC言語にたいしてどういうイメージ持ってるのかを素直に書け
0667デフォルトの名無しさん
2007/02/02(金) 20:59:34ダメだ!
ただしくは
まったくここはひどいインターネッツですね
皆さんが無能だということはよく分かりました
と言うのだ!
0668デフォルトの名無しさん
2007/02/02(金) 21:02:530669n
2007/02/02(金) 21:06:35皆さんは性格がお悪いのでしょうか??それとも2ちゃんねるの方々は、皆さんこのような受け答えなのでしょうか?
0670デフォルトの名無しさん
2007/02/02(金) 21:12:04面白半分、まじめ半分
で、お前がC言語にたいしてどういうイメージ持ってるのかを素直に書け
0671デフォルトの名無しさん
2007/02/02(金) 21:14:170672n
2007/02/02(金) 21:19:070673デフォルトの名無しさん
2007/02/02(金) 21:23:58莫迦らしい。進む道まちがえてるよ、君
0674デフォルトの名無しさん
2007/02/02(金) 21:26:400675n
2007/02/02(金) 21:28:54スレ違いの質問に多数のレスを頂きありがとうございました。
0676デフォルトの名無しさん
2007/02/02(金) 21:33:47興味がないことを延々と書け
なぜ興味がないのかを延々とな
タイトル「C言語できたからって俺の人生かわるのか?」
第1話「俺、C言語より虹が好き」
第2話「C言語でなにが出来る?」
第16話「宿題だりぃ〜」
0677デフォルトの名無しさん
2007/02/02(金) 21:42:43なんか演繹的に破綻してそうなレポートになりそうだなw
心理学と情報を同時にやってるなら所詮般教レベル、先生もメンドイ、読まずに捨てるw
「C言語の特徴・・・以下 検索して挿入」で千文字は楽に越えてしまう適当にまとめろ
0678デフォルトの名無しさん
2007/02/02(金) 21:46:16http://mixi.jp/view_bbs.pl?id=14895114&comm_id=602606
0679デフォルトの名無しさん
2007/02/02(金) 21:48:060680デフォルトの名無しさん
2007/02/02(金) 21:56:42問題文の分かりやすい説明キボン
それとも期限延びたから自力で片付けるのか?
0681デフォルトの名無しさん
2007/02/02(金) 22:29:00大学なら1月いっぱいで講義終了して2月に入れば試験だから
そろそろ勢い落ちるよ。
0682デフォルトの名無しさん
2007/02/03(土) 00:33:15[2] 問題文(含コード&リンク):
逆数に並んでいるファイルに対して選択整列法、挿入整列法、バブル整列法の中で、もっとも早いのはどれか
[3] 環境
[3.1] linux
[3.2] アルゴリズムなので無し
[3.3]C言語
[4] 期限:無し
[5] その他の制限:なし
よろしくお願いします。
0683デフォルトの名無しさん
2007/02/03(土) 00:43:540684デフォルトの名無しさん
2007/02/03(土) 00:45:55「選択ソート、挿入ソート、バブルソート 逆順」でぐぐれ。
0685デフォルトの名無しさん
2007/02/03(土) 01:12:20[3.2] アルゴリズムなので無し
↑
この矛盾を先に答えてもらおうか!
↓
[3.3]C言語
環境はアルゴリズムだと端折れるらしいが、言語指定は端折れないでC指定なのはナゼだ?
0686デフォルトの名無しさん
2007/02/03(土) 01:18:480687デフォルトの名無しさん
2007/02/03(土) 01:22:24http://ja.wikipedia.org/wiki/%E6%8C%BF%E5%85%A5%E3%82%BD%E3%83%BC%E3%83%88
http://ja.wikipedia.org/wiki/%E9%81%B8%E6%8A%9E%E3%82%BD%E3%83%BC%E3%83%88
http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%96%E3%83%AB%E3%82%BD%E3%83%BC%E3%83%88
すでに出ているだろうけど、選択かね。並び順によるけどバブルは絶対ありえん。
0688デフォルトの名無しさん
2007/02/03(土) 04:03:24そして宿題スレは試験スレになる。
さあ試験時間内に問題を解いてレスするんだw
0689デフォルトの名無しさん
2007/02/03(土) 04:06:410690デフォルトの名無しさん
2007/02/03(土) 04:33:16http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3594.txt
0691682
2007/02/03(土) 12:32:460692630
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
以上、再検討のほど、よろしくお願いいたします。
0693デフォルトの名無しさん
2007/02/03(土) 16:08:23全角「”」が書かれてるからダメと言ってる訳ではない、誤解するなよ
構造体そのものの意味が解らん
>穴埋めの件に関しては、構造体のプロトタイプ宣言と、関数DspList()は、参考として掲載されていたものです。
/* 構造体のプロトタイプ宣言 */
struct Node{
int data[N];
struct Node *next;
};
--------------中略--------------------
else {
if(L->data < x){
ZIPの参考資料は見てないが
まず dataは入力した値を10個格納するアドレスなのか!入力した値そのものなのか!
アドレスと値を比較してどうしようって?
題意をこなす為には構造体の宣言からNGだって事だ
0695デフォルトの名無しさん
2007/02/03(土) 18:30:32一度催促してる限り、>>3の条件を満たさないと解答できないじゃないか
0696デフォルトの名無しさん
2007/02/03(土) 18:38:06[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まで
すみませんが、お願い致します。
0697696の続きです
2007/02/03(土) 18:52:30指定したつきの時間帯に対する売り上げ数をまとめ、グラフ(最大のポイントを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
0698デフォルトの名無しさん
2007/02/03(土) 18:59:22ここにUPしれ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
0699デフォルトの名無しさん
2007/02/03(土) 21:26:35[2] 問題文(含コード&リンク):classを利用して住所録を作れ
[3] 環境
[3.1] OS: XP
[3.2] コンパイラ名とバージョン: Visual Studio2003
[3.3] 言語: C++
[4] 期限: 2007年2月5日
[5] その他の制限: 特になし
よろしくお願いします
0700デフォルトの名無しさん
2007/02/03(土) 21:47:42住所よろ
0701デフォルトの名無しさん
2007/02/03(土) 22:32:54ちゃんと資料に書いてあるじゃねかw
ええかげんな構造体宣言と自作mainの為にスルーされまくってると自覚しろ
エエカゲンなモノが無い方がレス付くの早かったな
あんまり虐めてもカワイソだから ヤルもってけ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3596.txt
ついでにDos窓のCtrl+DはCtrl+Zだからな、知ってたらスマソ
0702デフォルトの名無しさん
2007/02/03(土) 22:35:23Ctrl+DはDos窓の場合Ctrl+Zだからな だった
0703デフォルトの名無しさん
2007/02/03(土) 22:49:26まあこんな感じじゃない?
#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;
}
}
}
0704デフォルトの名無しさん
2007/02/03(土) 23:15:482つの値を入力してunsigned char型の変数x,yに代入してください。
また、a = x + y,b = x * yの計算をし表示してください。
※a及びbは、オーバーフローを考慮しえプログラムを作成すること
printf関数で出力。
0705デフォルトの名無しさん
2007/02/03(土) 23:16:35#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;
}
0706デフォルトの名無しさん
2007/02/03(土) 23:27:11その住所録にキミの名前と住所あったらどーする?
0707551=630
2007/02/03(土) 23:42:36ありがとうございました。アップロードした後、自分で若干やってみようとしたときに、main関数がおかしいことに気づいたところでした。
改めて構造体およびポインタの勉強をやり直します。お世話になりました。
0708デフォルトの名無しさん
2007/02/03(土) 23:49:38【2】Linux
【3】問題
テキストファイル(例えばそのプログラム自身)に対して、各英数字ごとにその出現度数を、ファイル全体に関してカウントし、出力するプログラムを作成せよ。
出力形式は
Char A:4
Char B:2
初心者ですお願いしますm(__)m
0709デフォルトの名無しさん
2007/02/03(土) 23:51:00#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;
}
0710デフォルトの名無しさん
2007/02/03(土) 23:53:40ワロタ
0711デフォルトの名無しさん
2007/02/03(土) 23:57:380712デフォルトの名無しさん
2007/02/03(土) 23:59:31[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] その他の制限: 特にありません。よろしくお願いします><><
0713デフォルトの名無しさん
2007/02/04(日) 00:09:14#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;
}
0714デフォルトの名無しさん
2007/02/04(日) 00:13:040715デフォルトの名無しさん
2007/02/04(日) 00:14:02質問ばかりして申し訳ありませんが、もう一つ聞かせてください。
unsigned charをshortにした場合にはどのように処理すればいいんでしょうか?
0716デフォルトの名無しさん
2007/02/04(日) 00:16:55スレ違いだが、文字列数字→数値はatoiでOK
0717デフォルトの名無しさん
2007/02/04(日) 00:19:15お願いします><
誰か得意な方、お願いしますーーーーーー><
0718デフォルトの名無しさん
2007/02/04(日) 00:20:24期限余裕あるからちょっとは自力でカンガレw
0719デフォルトの名無しさん
2007/02/04(日) 00:22:19すみません(涙)
でもプログラム理解して、考察も書かないといけないんです。。
わかったら、お願いします。。
0720デフォルトの名無しさん
2007/02/04(日) 00:28:42>>709さん感謝します。
>>716さんありがとうございます。
unsigned charをshortに変換しただけではERRORで『int型はconst char *型に変換できない』というものがでてきます。
short型で処理する方法を教えていただけないでしょうか?
0721デフォルトの名無しさん
2007/02/04(日) 00:29:310722デフォルトの名無しさん
2007/02/04(日) 00:30:040723デフォルトの名無しさん
2007/02/04(日) 00:34:14たぶんまだ
unsigned char x[10];
unsigned char y[10];
こうなってないか?
>>709 は
unsigned char x;
unsigned char y;
だぞ
0724デフォルトの名無しさん
2007/02/04(日) 00:35:58あたりまえやw まぁスレ違いなんで移動すべき
int x=123456789;
char str[10];
x=123456789;
sprintf(str,"%d",x);
printf("%s\n",str);
>723
>713
0725デフォルトの名無しさん
2007/02/04(日) 00:39:18あれま
最新版があったの?
>>720アンカーしてなかったから気づかんかった
0726デフォルトの名無しさん
2007/02/04(日) 00:44:24unsigned charのところをshortに変えて処理するプログラムを教えて頂けないでしょうか。
m(_ _)m
0727デフォルトの名無しさん
2007/02/04(日) 00:48:22小出しにスルナw >1
0728デフォルトの名無しさん
2007/02/04(日) 00:49:000729デフォルトの名無しさん
2007/02/04(日) 00:51:120730デフォルトの名無しさん
2007/02/04(日) 00:52:33マジ明日までにやらないとやばいんす…
HELP!!shortに変えてぇえ〜!!
0731デフォルトの名無しさん
2007/02/04(日) 00:53:590732デフォルトの名無しさん
2007/02/04(日) 00:54:500733デフォルトの名無しさん
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;
}
0734デフォルトの名無しさん
2007/02/04(日) 01:40:02お前はこのあと、「言語は C++ でお願いします」と言う!
0735デフォルトの名無しさん
2007/02/04(日) 01:51:18ありがとうございました。失礼します。
0736デフォルトの名無しさん
2007/02/04(日) 01:54:39言語はEiffelでお願いします。
0737デフォルトの名無しさん
2007/02/04(日) 02:04:530738デフォルトの名無しさん
2007/02/04(日) 03:14:440739デフォルトの名無しさん
2007/02/04(日) 03:17:43int 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になるんだろ。後輩に聞かれたが説明できない
0740デフォルトの名無しさん
2007/02/04(日) 03:26:11rec()は6回呼び出される。
最初のrec()が1なので、後はrec() ^ 5 = 4^5が返される。
0741デフォルトの名無しさん
2007/02/04(日) 03:29:39最後の1024はメインで表示されてるから
0742デフォルトの名無しさん
2007/02/04(日) 03:42:23thx!自分C使ったこと無いのに聞かれて、少し勉強して今回の以外は答えていたんだけど
1024だけはわかんなかったので。
ありがとやんす
0743デフォルトの名無しさん
2007/02/04(日) 06:49:090744154
2007/02/04(日) 06:59:060745デフォルトの名無しさん
2007/02/04(日) 07:04:340746デフォルトの名無しさん
2007/02/04(日) 07:05:550747デフォルトの名無しさん
2007/02/04(日) 07:36:26ちょ >>154は漏れの書き込みだぞ 。・゜・(ノД`)・゜・。確かに包茎だけど
0748デフォルトの名無しさん
2007/02/04(日) 09:14:32[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] その他の制限:データベースへの接続等は出来るんだけど構造体への格納方法が分らなくて困ってます。
よろしくお願いします。
0749デフォルトの名無しさん
2007/02/04(日) 12:51:51半角文字のみ対応 全角混在には使えない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;
}
0750デフォルトの名無しさん
2007/02/04(日) 13:42:110751デフォルトの名無しさん
2007/02/04(日) 13:46:370752デフォルトの名無しさん
2007/02/04(日) 13:47:480753デフォルトの名無しさん
2007/02/04(日) 13:52:170754デフォルトの名無しさん
2007/02/04(日) 13:57:160755デフォルトの名無しさん
2007/02/04(日) 14:01:090756デフォルトの名無しさん
2007/02/04(日) 14:02:500757デフォルトの名無しさん
2007/02/04(日) 14:03:17[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] その他の制限 多次元配列、制御構造
0758デフォルトの名無しさん
2007/02/04(日) 14:11:26#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;
}
0759デフォルトの名無しさん
2007/02/04(日) 14:19:54例えば、( )、(())、([)]だったら「括弧のペアが見つかりました」と表示して。
その他、(]、([、}などだったら「○○のペアが見つかりません」などと結果を表示させたいんですが、
肝心の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;}
0760デフォルトの名無しさん
2007/02/04(日) 14:22:36ここは質問スレじゃない。もし宿題だと言うのなら、>>1を読んでテンプレを埋めれ
0761デフォルトの名無しさん
2007/02/04(日) 14:31:33[2] 問題文(含コード&リンク):
キーボードから16進数の数値を入力し、その数値を反転させた値
下位4ビットを全て1にした値、上位4ビットを全て0にした
値を16進数で表示する。(入力値は8桁固定)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: [無期限]
[5] その他の制限: ビット演算子・論理処理を用いて
0762デフォルトの名無しさん
2007/02/04(日) 14:57:29int 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;
}
0763759
2007/02/04(日) 15:19:17[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;}
先程は済みませんでした。
0764デフォルトの名無しさん
2007/02/04(日) 15:25:40759 を見るに、( [ ) ] のような互い違いになっている括弧でも
ペアが見つかったとしないといけないんだね?
0765デフォルトの名無しさん
2007/02/04(日) 15:25:49チャットのソースなんですが、みなさんよろしくお願いします(*- -)(*_ _)
0766デフォルトの名無しさん
2007/02/04(日) 15:26:16scanf で値を受け取る領域が足りてないよ (int と同じ大きさが必要)
0767デフォルトの名無しさん
2007/02/04(日) 15:31:37スレタイ読めない奴か?Debug相談はスレ違い
その文捨てるならヤルw 捨てないなら出直せ、つか他所逝け
0768デフォルトの名無しさん
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] その他の制限
0769デフォルトの名無しさん
2007/02/04(日) 15:33:59>>3 を100万回読め。
712 で答えが出ない理由のひとつとして、ネットワーク周りの
環境が全く書かれていないことが挙げられる。
どうせあんたじゃ自分の環境を正しく説明できないだろうから、
これまでに提示された/作ったプログラムを1つくらいアップロードすると
現状では手を出さない人が手を出すかもしれない。
0770デフォルトの名無しさん
2007/02/04(日) 15:35:42おいおい。あんた以外の誰かがやるかもしれないんだから
出直せとか他所行けは無いだろう。
0771デフォルトの名無しさん
2007/02/04(日) 15:37:03ありゃ、そりゃ初耳だ。
hhでもint分必要なのか?
0772デフォルトの名無しさん
2007/02/04(日) 15:40:54ここでDebug相談受けてらキリないし、そう云うスレは他にあるがなにか?
0773デフォルトの名無しさん
2007/02/04(日) 15:41:19>Stack言う私が作ったclass
これもよろ。他にも何か書いてないことがあれば全て書くように。
まぁ>>770がやるみたいだし余計な話かもしれないけどね
0774デフォルトの名無しさん
2007/02/04(日) 15:46:49これが講義資料に載っていた簡略版Clientです。
こんな感じでいいでしょうか?
0775デフォルトの名無しさん
2007/02/04(日) 15:48:09#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); }
0776デフォルトの名無しさん
2007/02/04(日) 15:48:46ごめん。
調べたら 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
---------------*/
0777デフォルトの名無しさん
2007/02/04(日) 15:49:25>>3
>・回答の督促は禁止
>但し、スレ中の全未回答問題レス番号を張る場合のみ許可とする
はい、もう100万回声に出して読むべし
0778デフォルトの名無しさん
2007/02/04(日) 15:53:41はい。。。
0779デフォルトの名無しさん
2007/02/04(日) 16:00:24読みました!
0780デフォルトの名無しさん
2007/02/04(日) 16:05:35[2] 問題文(含コード&リンク):
キーボードから2つの整数値を入力し、値の表示、値の乗算結果の表示
整数値の交換し結果の表示の3つを行う。
メイン関数内で入力用の変数宣言と変数の表示、乗算結果の表示、交換結果の表示を行い
キーボードからの入力受付および変数への格納は副関数で行うこと。
[3] 環境
[3.1] OS:windows xp
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:来週月曜まで
[5] その他の制限: 関連項目に関数、プロトタイプ宣言、ポインタ、因数。戻り値の型が
入っていました
よろしくお願いします
0781デフォルトの名無しさん
2007/02/04(日) 16:06:13「何か?」ってどんな返答が欲しいのかな?
とりあえず、キリがなければあんたは無視すればいいんじゃないかな。
俺自身は「こんな宿題が出て、ここまでやったが力尽きた。ヘルプ。」
みたいな質問ならこっちでも適切だと思ってるんだけどね。
0782デフォルトの名無しさん
2007/02/04(日) 16:13:190783デフォルトの名無しさん
2007/02/04(日) 16:15:18だったら答えてやれよw
0784デフォルトの名無しさん
2007/02/04(日) 16:16:30レス番間違いなのか?w>772か?w
ま>781の様な状態はアリだと思うが、
課題全文も載らず作りこんだ一部しかないもので、どうやってスレ住人にヤレと?
しかも・・・あえて言うまい
>770>781カンガレ w
0785759
2007/02/04(日) 16:22:34必要なファイル類をアップしました↑
それと、ちゃんと([)]でもペアが揃ってるか確認出来ないと駄目です。
よろしくお願いします。
0786デフォルトの名無しさん
2007/02/04(日) 16:22:55なるほど。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;
}
0787759
2007/02/04(日) 16:23:25済みません、DLキー忘れてました(´Д`;)
0788786
2007/02/04(日) 16:25:01更に修正。エンディアン考慮してなかった。
なんか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;
}
0789デフォルトの名無しさん
2007/02/04(日) 16:26:59エンディアンが決めうちになってる
>>761 の環境であれば期待通りの動作はするけど…
0790デフォルトの名無しさん
2007/02/04(日) 16:27:33俺がやるなんて一言も言ってないと思うんだけどなあ。
もしあの質問内容から回答が作れるくらいのいいエスパーだったら、
こんな能書きたれてないでさっさと解いてるんじゃないかな。
>課題全文も載らず作りこんだ一部しかないもので、どうやってスレ住人にヤレと?
ということであれば「課題全文書け」というのが正しい煽り文句で、
「他所行け」は適当じゃないと思うんだよね。
0791デフォルトの名無しさん
2007/02/04(日) 16:29:11FF が入力された時に期待したのと違う動作をすると思う
0792デフォルトの名無しさん
2007/02/04(日) 16:31:16viup31257.zip DLKeyが一致しませんでした
csciが正しいパスのようだな、大文字小文字も判別されるから注意しる
>>790
問題は解かない、議論だけがしたいなら他所行け
0793デフォルトの名無しさん
2007/02/04(日) 16:31:200xFFではなく0x100とするのが正しいだろうが、
普通にc = (unsigned char)i;とキャストしとけばよかろう。
0794712
2007/02/04(日) 16:41:310795デフォルトの名無しさん
2007/02/04(日) 16:45:36#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を誰か
0796デフォルトの名無しさん
2007/02/04(日) 16:50:26ロダにひいて、ブラウザ閉じた
0797デフォルトの名無しさん
2007/02/04(日) 17:32:24誰が「解かない」って言ったんだろう。決め付けるのが好きだねえ。
0798デフォルトの名無しさん
2007/02/04(日) 17:41:09解かないで議論だけする「なら」他所行けってだけだよ
決め付けるのが好きだねぇ
0799デフォルトの名無しさん
2007/02/04(日) 17:49:47ごめんね はやとちりしちゃった ごめんね
もうちょっと居るよ
0800デフォルトの名無しさん
2007/02/04(日) 18:14:31http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3601.cpp
問題の意図に従って合計を別変数にしたが、本来合計のような他の値から
自然と定まる量を別の変数として持つのは不整合の原因となるのでよろしくない。
0801デフォルトの名無しさん
2007/02/04(日) 18:22:46[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"でソースファイルを作成
なるべくシンプルなプログラムでお願いします。
0802デフォルトの名無しさん
2007/02/04(日) 18:25:18http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3602.txt
とりあえず出来たからアップ
datファイルの最初にあった51って数字は邪魔なんで行ごとdelした
0803デフォルトの名無しさん
2007/02/04(日) 18:28:52シンプルも何もただの掛け算と割り算じゃねぇか
それより抵抗値を求める公式の方をかいとけよ
0804デフォルトの名無しさん
2007/02/04(日) 18:33:31#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);
}
0805デフォルトの名無しさん
2007/02/04(日) 18:38:59すまんね俺ばヵなんでわからないんです・・・
>>804
迅速な回答サンクス
公式とかあってるかわからないんだが、一様これでいってみる。
0807デフォルトの名無しさん
2007/02/04(日) 18:44:21電気抵抗率の項目。
0808803
2007/02/04(日) 19:05:28R = ρ・L/S
ρが抵抗率[Ω・m]
Sが断面積[�u]
Lが長さ[m]
0809デフォルトの名無しさん
2007/02/04(日) 19:08:480810デフォルトの名無しさん
2007/02/04(日) 19:15:300811デフォルトの名無しさん
2007/02/04(日) 19:16:020812出来損ない
2007/02/04(日) 19:49:42[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分
お願いします。
0813デフォルトの名無しさん
2007/02/04(日) 20:10:11#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;
}
0814デフォルトの名無しさん
2007/02/04(日) 20:18:000815出来損ない
2007/02/04(日) 20:29:37すごく助かりました。
もう1問さっきの問題に関連した問題があるのですが
そちらも心優しいお方お願いします。
問題:>>812と同じ動作をするプログラムを、引数の絶対値を返すライブラリ
関数double fabs(double x)を使って書き直しなさい。fabs()関数は、<math.h>
を読み込んで使用する。
連続で本当申し訳ありません。
協力お願いします。
0816デフォルトの名無しさん
2007/02/04(日) 20:35:310818801
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
なんどもすいません。。
0819デフォルトの名無しさん
2007/02/04(日) 20:58:43この程度の応用力も無いのかよ
0820803
2007/02/04(日) 21:15:19はいできた
0821デフォルトの名無しさん
2007/02/04(日) 21:20:40#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ってまずいかな?
0822801
2007/02/04(日) 21:24:12わからなかった俺馬鹿だなwwww orz
0824デフォルトの名無しさん
2007/02/04(日) 21:31:290825デフォルトの名無しさん
2007/02/04(日) 21:52:13うちのW大学でも出てたよ
0826デフォルトの名無しさん
2007/02/04(日) 23:46:56[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しました
0827803
2007/02/05(月) 00:51:29{
if(n == 0)
return 0;
if(n == 1)
return 1;
return Fn(n-1)+Fn(n-2);
}
0828デフォルトの名無しさん
2007/02/05(月) 00:53:10それも1は必要ないのね
スルーしてね
0829デフォルトの名無しさん
2007/02/05(月) 00:56:41[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]その他
よろしくお願いします。
0830829
2007/02/05(月) 01:02:32http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm?
これのクライアントが3608.cでサーバーが3609.cです。
使い慣れなくてすみません。。
よろしくお願いします。
0831デフォルトの名無しさん
2007/02/05(月) 02:04:33http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3608.c
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3609.c
0832デフォルトの名無しさん
2007/02/05(月) 02:20:40[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というコマンドがあるのでしょうか、それともこれであっている感じでしょうか。
ヘルプをお願いします。
0833デフォルトの名無しさん
2007/02/05(月) 02:22:54英語の勉強からしてこいよ。それ訳とかいうレベルじゃねーよ
0834768
2007/02/05(月) 02:23:19〜\visual studio 2005\projects\test\test\test.cpp(79) : error C2440: '初期化中' : 'void *' から 'DATA **' に変換できません。
'void*' から非 'void' 型への変換には明示的なキャストが必要です。
っていうエラーが出ました
調べたら、エラーメッセージのまんま、キャストをしろって言ってるのは分かったのですが
具体的にどういったふうに追記すればいいの分かりません
初歩的な事だとは思いますが、どなたかお願いします
スレ違いかどうか分からなかったので、スレ違いだったら注意してください
0835デフォルトの名無しさん
2007/02/05(月) 02:28:33二番目が一番目の倍数であるような整数の組を判定する関数 multiple を書け。
この関数は整数の引数を二つとり、二番目が一番目の倍数であれば true を、さもなくば false を返す。
整数の組の列を入力するプログラムでこの関数を使え。
0836デフォルトの名無しさん
2007/02/05(月) 02:30:24そっち系のスレ行けよ・・・
0837832
2007/02/05(月) 02:35:08ここは専門バカのスレですね。
0838デフォルトの名無しさん
2007/02/05(月) 02:53:21C++なら>800さんのが美しいと思うが?イカンの?
0839デフォルトの名無しさん
2007/02/05(月) 02:57:12そもそもint main()なんだからreturnが必要でしょ。
int main()
{
略
if(※) return true;
else return false;
}
※のところには以下の条件を書く。
second is a multiple of the first
ごめん俺英語わからんよ
0840デフォルトの名無しさん
2007/02/05(月) 02:59:50これだとコンパイラにtrueはintじゃないっていわれちゃうかも(推測)。
そのまま無視するかtrueを1に、falseを0にして
先生に聞かれたら
コンパイラが警告出すので一般的にTRUEは1なので1にしましたといえばいい。
0841デフォルトの名無しさん
2007/02/05(月) 03:01:380842デフォルトの名無しさん
2007/02/05(月) 03:03:11一般ではTRUEは1ではない !FALSEだぁね
#define FALSE ( 0 )
#define TRUE ( !FALSE )
0843デフォルトの名無しさん
2007/02/05(月) 03:10:50しつこくてすまない。
なんとなくわかってきた。
つまり
"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;
}
%って負の値のときも正しく動作するんだっけ?
0844>>802
2007/02/05(月) 03:20:44自分が書いたのはC言語で、C++ではないのでCPPでコンパイルすると
必然とC++として翻訳されるので、そのエラーは仕方がないです。
というか、後からCPPって気づいてC++に変えるのも面倒なので
そのままUpしただけです。
>>838さん
俺、マクロ得意じゃないんだよ。ごめんね。
0845デフォルトの名無しさん
2007/02/05(月) 03:46:42お願いしますor2
0846デフォルトの名無しさん
2007/02/05(月) 03:47:510847デフォルトの名無しさん
2007/02/05(月) 03:52:160848デフォルトの名無しさん
2007/02/05(月) 07:38:49負の剰余は符号がどうなるかは処理系依存だが、剰余であることは保障されている。
0849デフォルトの名無しさん
2007/02/05(月) 07:39:55postgresql への接続が分からんので俺はパス。
参考にしたいから接続までできてるソース、アップロードしてくれんかなあ。
0850デフォルトの名無しさん
2007/02/05(月) 07:47:03#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));
}
0851829
2007/02/05(月) 10:21:22そぉです!!ありがとうございます!!
0852デフォルトの名無しさん
2007/02/05(月) 14:00:42[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
制限は特にないので、とにかくお願いします!!
0853デフォルトの名無しさん
2007/02/05(月) 15:53:02[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] その他の制限:構造体まで独学しています。
0854デフォルトの名無しさん
2007/02/05(月) 16:46:001:商品ファイル(goods.txt)から商品データを読み取り、画面に表示する
2:商品番号と金額の入力をユーザにうながす
3:入力てぇっくを行い、商品番号や金額が異常値の場合は、エラー表示して再入力をうながす
4:入力データが正常値の場合は、おつりの計算をして、商品とおつりを画面に表示する
5:ユーザが購入した商品の商品番号を売り上げファイル(sales.txt)に書き込む
プログラムの条件
1:"関数"と"ファイル処理"を使うこと
2:必要な場合には、"ポインタ"や"構造体"を使う(オプション)
でどなたかわかる方がいましたら教えてください
0855デフォルトの名無しさん
2007/02/05(月) 16:55:07>>1を読んでテンプレに従って書くこと。
書き忘れのないようしっかり書くように。
今のままだとC言語なのかC++言語なのかもわからんぞ
0856デフォルトの名無しさん
2007/02/05(月) 16:57:24あとgoods.txtをどっかにうpすること。
できればsales.txtの仕様も書いておくといい。
0857デフォルトの名無しさん
2007/02/05(月) 17:03:54>>584 goods.txtをUPしれ コピペじゃなくてロダにUPな
0858デフォルトの名無しさん
2007/02/05(月) 17:08:40#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;
}
0859デフォルトの名無しさん
2007/02/05(月) 17:11:08あっ気悪くしたらゴメンね
オレもC野郎なので似たり寄ったりのソースになる
>>800さんみたいなコード書けるならCPPってやっぱ美しいなぁと思わんでもなかった (チラ裏
[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
スレーブへの行列のデータの渡し方がいけないのか、
マスタへの結果の返し方がいけないのか、さっぱりわかりません・・・
どなたかご教授のほどをよろしくお願いします。
0861デフォルトの名無しさん
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] その他の制限: なし
すいません。マジで困ってて宜しくお願いします。
0862デフォルトの名無しさん
2007/02/05(月) 21:13:38#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;}
0863デフォルトの名無しさん
2007/02/05(月) 21:50:45#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;}
一応宿題っぽく解いたやつも貼っておく
0864861
2007/02/05(月) 22:07:14これを機会に勉強します!
0865デフォルトの名無しさん
2007/02/05(月) 22:33:47800 の投稿したものの1つ上に、題意は満たしてないが
よりきれいなのがあった。多分これも 800 の人のだと思う。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3600.cpp
0866デフォルトの名無しさん
2007/02/05(月) 23:41:53http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3614.c
0867759
2007/02/06(火) 00:45:11[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します。
よろしくお願いします。
0868デフォルトの名無しさん
2007/02/06(火) 00:50:59>>3 を読め
ヒント:それぞれの括弧の個数を数えるだけでおk
0869デフォルトの名無しさん
2007/02/06(火) 01:56:32max_element乙
0870デフォルトの名無しさん
2007/02/06(火) 05:45:55ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3616.zip
0871デフォルトの名無しさん
2007/02/06(火) 05:49:44とりけし
0872デフォルトの名無しさん
2007/02/06(火) 06:28:15漢字チェックしてないから混在だと動作が怪しい
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3617.zip
0873デフォルトの名無しさん
2007/02/06(火) 07:20:20while〜if〜else云々でどうこうなるしろもんじゃない
まず元ソースが「( () [] {} ) 」のような時にちゃんと動くものをUPしとけ
つぎに目的である「 ({Test)Test} 」のような時でも動く為に
別スタックが必要になる( >868さんの言うようにカウンタでもいい)
それらの道具を揃えてから取り組め!
一応、他逝けと言った手前手を付けたみたが、結論として課題Debugはスレ違い
よってソース無し!w
0874デフォルトの名無しさん
2007/02/06(火) 08:32:21[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
0875デフォルトの名無しさん
2007/02/06(火) 08:42:27????
0876デフォルトの名無しさん
2007/02/06(火) 09:08:210877デフォルトの名無しさん
2007/02/06(火) 10:44:07でした。すみません。
0878デフォルトの名無しさん
2007/02/06(火) 10:49:150879デフォルトの名無しさん
2007/02/06(火) 11:18:59とりあえず、この問題文を考えた奴を呼んで来い
0880デフォルトの名無しさん
2007/02/06(火) 11:41:400881デフォルトの名無しさん
2007/02/06(火) 11:53:34用意された中身に入力がすべて終われば終了されるようなものだと、出題者は考えている様子です。
0882デフォルトの名無しさん
2007/02/06(火) 12:10:58[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
どこに問題があるのかわからないので、調べていただけないでしょうか。
また課題が内容を中心に自由に〜というものなので、改良等していただけるとうれしいです。
お願いします。
0883デフォルトの名無しさん
2007/02/06(火) 12:20:27#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;
}
0884デフォルトの名無しさん
2007/02/06(火) 12:27:50エラーは発生しないのですが、実行しても何も表示されません>_<”
0885デフォルトの名無しさん
2007/02/06(火) 12:39:37用意された中身をリダイレクトで食わせろ
ex
a <用意された中身.txt
0886デフォルトの名無しさん
2007/02/06(火) 12:46:01用意された中身.txt 作ったw
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3620.zip
0887デフォルトの名無しさん
2007/02/06(火) 12:51:27cmdでコンピュータが不具合起こしてしまい、だめでした(ストップしてしまいます)。
0888デフォルトの名無しさん
2007/02/06(火) 12:55:22データUPしれ
>3
0889デフォルトの名無しさん
2007/02/06(火) 12:58:090890デフォルトの名無しさん
2007/02/06(火) 13:01:37自動翻訳かよ。原文も併記してくれたほうが分かりやすいな。
0891デフォルトの名無しさん
2007/02/06(火) 13:02:46データが無きゃ見られんと思うぞw
ファイル名を固定にして中で開くって意味なら出来るが、ファイル名を課題に書いておけ
その場合も、もちろんファイルUPな
0892デフォルトの名無しさん
2007/02/06(火) 13:04:35mas nivelar com algu?m without acima dos dados
l? n?o est? nenhum programa que pode ver com GCC justo?
0893デフォルトの名無しさん
2007/02/06(火) 13:05:04ID番号どこ?
0894デフォルトの名無しさん
2007/02/06(火) 13:05:57しもた名前にしてしまったorz
0895デフォルトの名無しさん
2007/02/06(火) 13:10:44わたし、言っている意味が違いました???
0896デフォルトの名無しさん
2007/02/06(火) 13:16:54#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;
}
0897デフォルトの名無しさん
2007/02/06(火) 13:19:04ID
名前
英点
数点
国点
|
繰り返し
|
Ctrl+D
でも大丈夫だよ
0898デフォルトの名無しさん
2007/02/06(火) 13:21:39バーカw
0899デフォルトの名無しさん
2007/02/06(火) 13:24:06>>881で入力終了のCtrl+dはないと聞いてファイルのリダイレクトと思ったが?マズイ?
0900デフォルトの名無しさん
2007/02/06(火) 13:27:49(入力要求はするようテンプレに書いてあります・・・)
0901デフォルトの名無しさん
2007/02/06(火) 13:29:33自分には読めない 何処に書いてある?
0902デフォルトの名無しさん
2007/02/06(火) 13:30:37はい。入力終了はCtrl+dではまずいのです。。
0903デフォルトの名無しさん
2007/02/06(火) 13:32:34>ID番号、名前、総得点(各得点の間違いでしたが)を入力し、総得点を求め表示するプログラムを・・・
と書いてあります。
0904デフォルトの名無しさん
2007/02/06(火) 13:38:270905デフォルトの名無しさん
2007/02/06(火) 13:41:29874の問題文
0906デフォルトの名無しさん
2007/02/06(火) 13:42:49>ID番号、名前、総得点(各得点の間違いでしたが)を入力し、総得点を求め表示するプログラムを・・・
この文の何処に入力督促があるかと聞いてる
0907デフォルトの名無しさん
2007/02/06(火) 13:45:48入力督促用
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++;
}
}
0908デフォルトの名無しさん
2007/02/06(火) 13:54:54バ〜カ
0909デフォルトの名無しさん
2007/02/06(火) 15:41:38[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まで
宜しくお願いします
0910デフォルトの名無しさん
2007/02/06(火) 16:20:19int 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;}
たぶんこんな感じ。試してないから保証はしない。
0911デフォルトの名無しさん
2007/02/06(火) 16:40:41//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;
}
0912デフォルトの名無しさん
2007/02/06(火) 16:50:00911さんのができました。なんとか間に合いました。
ありがとうございました
0914デフォルトの名無しさん
2007/02/06(火) 17:53:35ありがとうございました。
0915デフォルトの名無しさん
2007/02/06(火) 17:58:31[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
プログラムの下地にはこれを使えと言われました。
よろしくお願いします。
0916デフォルトの名無しさん
2007/02/06(火) 18:56:15[2] 問題文(含コード&リンク):Hikditchの細線化を行うプログラムを作成せよ
[3] 環境
[3.1] Linux
[3.2] 言語:C
[4] 期限:2/14まで
0917デフォルトの名無しさん
2007/02/06(火) 19:39:49とりあえず四則演算は公式書いとから自分で関数つくりな
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
0918デフォルトの名無しさん
2007/02/06(火) 19:40:26// 複素数の加算
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) );
}
0920デフォルトの名無しさん
2007/02/06(火) 19:53:03問題が難しすぎるんじゃないの?
とりあえず俺には問題文の意味が無学故にわかりません。
他の人にとっては知りませんが。
0921デフォルトの名無しさん
2007/02/06(火) 20:06:38そのライブラリ使ったことないから詳しくは分からないけど,
二重ポインタで確保した配列を一次元のストリームとして扱っているのがまずそう.
とりあえずは
rcode = pvm_pkdouble(&a[offrow][0], rows*col_a, 1); /* 行列Aをパック */
みたいに一括で二重配列を格納,展開してる部分があるから,
そこを一行ずつ処理するようにしてみ.
的外れだったらスマン
0922デフォルトの名無しさん
2007/02/06(火) 20:06:420923デフォルトの名無しさん
2007/02/06(火) 21:34:43[2] 問題文(含コード&リンク): 配列のプログラム
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限: 2月7日 正午まで
よろしくお願いします
0924デフォルトの名無しさん
2007/02/06(火) 21:35:17[2] 問題文(含コード&リンク):
10名分の試験の点数をキー入力し、その後、それらのデータをファイルに出力せよ。次に、
作成したファイルから10名分の点数データを入力し、それらの合計と平均を計算して画面出力せよ。
[3] 環境
[3.1] OS: WindowsXP
[3.2] Visual studio C++ 6.0
[3.3] 言語: C++
[4] 期限:2月9日金曜日 18時まで
制限はとくにありません。
よろしくお願いします。
0925デフォルトの名無しさん
2007/02/06(火) 21:38:58#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;}
0926デフォルトの名無しさん
2007/02/06(火) 21:47:08>>916
>>916
0927デフォルトの名無しさん
2007/02/06(火) 21:53:320928デフォルトの名無しさん
2007/02/06(火) 21:58:570929デフォルトの名無しさん
2007/02/06(火) 22:03:410930デフォルトの名無しさん
2007/02/06(火) 22:51:41勉強のために自分でしなさい。
簡単すぎてお兄さん悲しくなっちゃうよ。
0931デフォルトの名無しさん
2007/02/06(火) 22:55:220932デフォルトの名無しさん
2007/02/06(火) 22:58:33誰もわからないんじゃないかこれじゃ
0933デフォルトの名無しさん
2007/02/06(火) 23:00:080934デフォルトの名無しさん
2007/02/06(火) 23:06:53クリケット少年部門のレコードの
1シーズンで一番何かをした人の名前として
Hikditchさんの名前があがってる
そうだ!
この人の細線化するプログラムを作れば良いんだ!
きっと、そうだよ!
みんな!がんばろうよ!
俺は、みんなに期待してるぜ!!
いつでも俺はみんながHikditchさんを細線化する様を笑顔で見守るよ。
0935デフォルトの名無しさん
2007/02/06(火) 23:10:51Hilditchの方法による二値画像の細線化例
http://www.silphix.com/kaiba/image/4/#codeHilditch
0936デフォルトの名無しさん
2007/02/06(火) 23:15:430937デフォルトの名無しさん
2007/02/06(火) 23:31:080938デフォルトの名無しさん
2007/02/07(水) 01:03:11誤差のある理由をレポートにしなきゃいけないんだが、なにか良い案はないか?
11項より後の項を切るんだから誤差が出るのはわかるんだが、もうちょっと詳しく知りたいのだ。
教えて、エライ人
0939デフォルトの名無しさん
2007/02/07(水) 01:07:240940デフォルトの名無しさん
2007/02/07(水) 01:11:37ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3622.txt
0941デフォルトの名無しさん
2007/02/07(水) 01:28:41ありがとうです
0942832
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;
という形になります。
皆さんどうもです。
0943デフォルトの名無しさん
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
0944デフォルトの名無しさん
2007/02/07(水) 10:50:400945デフォルトの名無しさん
2007/02/07(水) 10:50:57課題2と3両方やるのか?それともすでに課題2は解いてるのか?
課題2がすでに解いてあるなら、それをうpしる
というか授業単元くらいちゃんと書けよw
0946デフォルトの名無しさん
2007/02/07(水) 10:52:07>if (n==0) return1;
>else return 0;
こういうときは、最後のelseは書くな。
0947デフォルトの名無しさん
2007/02/07(水) 10:54:18[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);}}
ここからどういじるのでしょうか?
0948947
2007/02/07(水) 10:58:120949デフォルトの名無しさん
2007/02/07(水) 10:58:170950デフォルトの名無しさん
2007/02/07(水) 11:02:51課題2はやっていないけど課題3は締め切りがまだだから出したいのです。
0951デフォルトの名無しさん
2007/02/07(水) 12:48:28>>1を読んでもわからなかったのか?
ならば救いようの無いバカだな。
0952デフォルトの名無しさん
2007/02/07(水) 14:10:58>>1を読んで単元って何だろと思って>>2を見て、そう思いました。
気分を害しましたら申し訳ございませんでした。
0953デフォルトの名無しさん
2007/02/07(水) 15:44:59C/C++の宿題を片付けます 83代目
http://pc10.2ch.net/test/read.cgi/tech/1170830498/
0954860 ◆/Pbzx9FKd2
2007/02/07(水) 16:11:26はあ・・・そうですか。
http://pc10.2ch.net/test/read.cgi/tech/1170150974/l50
こっちで聞いた方が早いんですかね・・・?
0955デフォルトの名無しさん
2007/02/07(水) 16:22:17良いスレあるじゃん 人居なさそうだけどw
言語というよりPVMそのものだなぁ
そっち方面に詳しい人を見つけないと難しいと思われます
仕様まで解ってないと、値が格納されたとしても次は妥当性が.....
0956デフォルトの名無しさん
2007/02/07(水) 16:36:06[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));
} }
0957860 ◆/Pbzx9FKd2
2007/02/07(水) 17:54:48そうですか・・・
あれから考えたんですが、先ほど自己解決しました。
行列Bを転置したものをスレーブに送信するようにしたら
正しい結果がでるようになりました。
参照するアドレスが飛び飛びになったためにいけなかったみたいです。
>>921-922>>955さん、どうもありがとうございました。
0958デフォルトの名無しさん
2007/02/07(水) 21:16:36面白そうだけど
こんな多機能クラスは掲示板にソース載せきれないな。
てか俺Macじゃないけどさ。
0959デフォルトの名無しさん
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 を利用して合計点を比較しやすくするのが良いでしょう。
0960デフォルトの名無しさん
2007/02/07(水) 21:44:47成績表を出力するようにしなさい。ユーザーがメニュー項目を選んだら
その項目に従って、リンクを張り直して出力するようにすること。
また、成績表の出力はユーザーが終了を指定するまで何度でも行えるように
すること。( lseiseki2.c )
1.国語の点順に表示
2.算数の点順に表示
3.社会の点順に表示
4.理科の点順に表示
5.英語の点順に表示
6.合計点順に表示
0.終了
メニュー番号を指定して下さい>
ヒント 55行目〜64行目を更にループの中に入れる必要があります。
リンクを張り替えるためには、新しい線形リストの根を一時的に保持
するための、SEISEKI *型の変数が必要です。SEISEKI *root2 などと
して宣言すればいいでしょう。
またユーザーの指定を受け付けるための、menu というint 型の変数が
必要になります。
またユーザーの指定によって、国語の点、算数の点、理科の点、社会の
点、英語の点、合計点順にリンクを張り直す訳ですから、
こえらの観点に応じてデータを比較出来る関数があるとコーディング
がらくです。
int compare( SEISEKI *a,SEISEKI *b, int menu );
のような感じでプロトタイプ宣言される関数です。
0961デフォルトの名無しさん
2007/02/07(水) 21:47:49#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;
0962デフォルトの名無しさん
2007/02/07(水) 21:49:00gets( 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 ); /* これ以降ファイルはアクセスしない */
0963デフォルトの名無しさん
2007/02/07(水) 21:50:02printf( "氏名 国語 算数 理科 社会 英語 合計\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);
}
0964デフォルトの名無しさん
2007/02/07(水) 21:52:02katou 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まで]
0965デフォルトの名無しさん
2007/02/07(水) 22:00:020966デフォルトの名無しさん
2007/02/07(水) 22:36:37>>1をよく読め
0967デフォルトの名無しさん
2007/02/07(水) 23:00:50びみょ〜〜に成績の格納配列に矛盾があるのだが・・・・
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番号と格納先の対応を取り直す必要がある
表示か?格納配列コメントか?どっちを信頼したら良い?
0968デフォルトの名無しさん
2007/02/07(水) 23:24:29そこをなんとか!
0969デフォルトの名無しさん
2007/02/07(水) 23:38:27マジ俺には難しすぎるや
てかmat3x3のソースなしでmatrix3x3を継承してrotmat作れって無理じゃないのか?
mat3x3って課題1.1-1によればx[3][3]でしょ
課題3.1によるとx,y,z軸に回転
あー!
俺にはx[3][3]の回転のさせ方わかんねーよ
アフェイン変換?
さっぱりわかんね
ごめんね
0970デフォルトの名無しさん
2007/02/07(水) 23:45:360971デフォルトの名無しさん
2007/02/07(水) 23:46:17さーせん・・・
では、mat3x3だけでいいです><
さぼっていたのがいけなかったんですね・・・
0972デフォルトの名無しさん
2007/02/07(水) 23:49:000973デフォルトの名無しさん
2007/02/07(水) 23:49:40表示のとおりにしていいと思います。
よろしくお願いします。
0974デフォルトの名無しさん
2007/02/08(木) 00:35:08全部は作れん。
マトリックスの掛け算とか覚えてないからさ!
スペースやタブの関係でみにくいと思う。
それに自信ない。
#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;
}
つづく
0975デフォルトの名無しさん
2007/02/08(木) 00:36:29void 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;
}
};
つづく
0976デフォルトの名無しさん
2007/02/08(木) 00:39:18// 動作確認コード
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();
つづく
0977デフォルトの名無しさん
2007/02/08(木) 00:39:550978デフォルトの名無しさん
2007/02/08(木) 00:42:49cout << "-5-" << std::endl;
c += a; // test operator +=
cout << "c = " << std::endl;
c.print();
return 0;
}
おわり
0979デフォルトの名無しさん
2007/02/08(木) 01:03:21#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';
}
}
0980デフォルトの名無しさん
2007/02/08(木) 01:04:07template<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
0981デフォルトの名無しさん
2007/02/08(木) 01:04:400982デフォルトの名無しさん
2007/02/08(木) 01:05:03emplate<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;
}
}
}
}
0983デフォルトの名無しさん
2007/02/08(木) 01:05:190984デフォルトの名無しさん
2007/02/08(木) 01:07:130985デフォルトの名無しさん
2007/02/08(木) 01:08:050986デフォルトの名無しさん
2007/02/08(木) 01:10:260987デフォルトの名無しさん
2007/02/08(木) 01:21:120988デフォルトの名無しさん
2007/02/08(木) 01:23:38とりあえずmat3x3は出来た
読みにくいと思うわ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3624.txt
0989デフォルトの名無しさん
2007/02/08(木) 01:24:420990デフォルトの名無しさん
2007/02/08(木) 01:28:50「俺はイカが嫌いだ」 と言うようなもんだ
嫌なら見るな
0991デフォルトの名無しさん
2007/02/08(木) 01:32:550992デフォルトの名無しさん
2007/02/08(木) 01:35:360993デフォルトの名無しさん
2007/02/08(木) 01:36:100994デフォルトの名無しさん
2007/02/08(木) 01:37:090995デフォルトの名無しさん
2007/02/08(木) 01:37:260996デフォルトの名無しさん
2007/02/08(木) 01:38:450997デフォルトの名無しさん
2007/02/08(木) 02:02:440998デフォルトの名無しさん
2007/02/08(木) 02:03:210999デフォルトの名無しさん
2007/02/08(木) 02:03:521000デフォルトの名無しさん
2007/02/08(木) 02:04:2510011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。