ぼるじょあがC/C++の宿題を片づけますYO! 67代目
レス数が1000を超えています。これ以上書き込みはできません。
0001ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 11:33:41わからない宿題を片づけますYO!
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して
投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】
http://www.linux.or.jp/JM/index.html
【前スレ】
ぼるじょあがC/C++の宿題を片づけますYO! 66代目
http://pc8.2ch.net/test/read.cgi/tech/1149349035/
0002ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 11:46:06【質問者へ】
・満足のゆく解答がないまま依頼が埋もれてしまったときは、そのレスを示して注意を喚起しても構いません。
それでもだめならあきらめましょう。
・ここに来る前にググりましょう。
・C/C++がある程度使えるようになったらぼるじょあになって回答してください。
・ぼるじょあを増やしましょう。
0003デフォルトの名無しさん
2006/12/10(日) 11:52:07どうしようもないやつだな。
0004ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 12:00:13っ【ぼるじょあ#ぶるじょあ】
0005ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 12:18:120006ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 12:52:470007デフォルトの名無しさん
2006/12/10(日) 12:55:42こうなったら有意義なスレにしようじゃないか。
0008ぼるじょあ2号 ◆yBEncckFOU
2006/12/10(日) 13:15:170009デフォルトの名無しさん
2006/12/10(日) 13:17:55応援してるぜ
0010ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 14:13:230011デフォルトの名無しさん
2006/12/10(日) 15:15:15ここを荒らすのは勝手だがまともな話は場違いです
0012ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 15:19:54(・3・) ネタの話もいいよNE!
0013ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 15:27:390014デフォルトの名無しさん
2006/12/10(日) 17:31:43たまにちゃかしに来る人も居ますけどみんなスルーできてますね。
そこのみんなは或る共通意識(?)を持ってる気がします。
0015ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 21:25:23(;-3-) エェー もいらのせいにするのはいかがかと・・・
ちゃんと回答できずに名無しにまかせてる奴が偉そうなこと言うなお
w
0016ぼるじょあ ◆yBEncckFOU
2006/12/11(月) 00:32:460017デフォルトの名無しさん
2006/12/11(月) 02:33:48VIPでやれ
0018デフォルトの名無しさん
2006/12/11(月) 12:01:14誘導
0019デフォルトの名無しさん
2006/12/11(月) 17:15:121000 :ぼるじょあ ◆yBEncckFOU :2006/12/09(土) 19:23:39
(・3・) エェー 100げっとずざー
ゲットできなくて残念だったね。
0020デフォルトの名無しさん
2006/12/11(月) 17:38:54[2] 問題文(含コード&リンク):
最後はワードでプログラム・実行結果をまとめます。
1、フィボナッチ数列の第N項を求めるプログラムを作れ(Nは代入)
2、x*x+x+1のグラフをプログラムを用いて作れ。
(ところどころの値を出してエクセルでグラフをつくるようです
すいません )
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:bcc32 (秀丸で作ります)
[3.3] 言語: C
[4] 期限:[12月13日3:00まで]
[5] その他の制限:繰り返し(forとか)、配列、関数までやりました。
0021ぼるじょあ ◆yBEncckFOU
2006/12/11(月) 19:21:530022ぼるじょあ ◆yBEncckFOU
2006/12/11(月) 19:41:13(^3^) エェー もいらが1000もらっちゃったお
1000 名前:ぼるじょあ ◆yBEncckFOU [sage] 投稿日:2006/12/10(日) 01:21:31
1000
0023homoじょあ ◆5OLf4yFnuM
2006/12/11(月) 20:53:00#include<stdio.h>
#include<stdlib.h>
#define N 10
int func(int n);
int main(void){
printf("%d\n", func(N));
return EXIT_SUCCESS;
}
int func(int n){
if(n== 1 || n== 2)return 1;
return func(n-1) + func(n-2);
}
#include<stdio.h>
#include<stdlib.h>
#define MIN 0.0
#define MAX 10.0
#define SPAN 0.1
int main(void){
double cnt;
for(cnt=MIN; cnt<MAX; cnt+=SPAN){
double ans;
ans = cnt*cnt+cnt+1.0;
printf("x = %f y = %f\n",cnt, ans);
}
return EXIT_SUCCESS;
}
002419
2006/12/11(月) 21:33:55http://pc8.2ch.net/test/read.cgi/tech/1162490865/l50
0025ぼるじょあ ◆yBEncckFOU
2006/12/11(月) 21:46:03(・3・) エェー それももいらだお、1000のつもりが100と書いてしまったお
ぷータンとゆうこりんと大沢あかねたんをアナ○調教して4Pやりたいお
一応最高はノンストップ4回戦まではがんばれるし一人1回は満足させられるお
でもさすがに4回戦はたれるしおてぃんぽが麻痺してくるし
20時間くらいベッドから起きられなかったお
(トイレの時に移動するくらいで)
0026ぼるじょあ ◆yBEncckFOU
2006/12/11(月) 21:50:22(・3・) エェー Cを昔から触ってる頭の硬いじじいみたいにEXIT_SUCCESS使ってんじゃねーお豚
せいぜい使ってもEXIT_FAILUREくらいだお
0027ぼるじょあ ◆yBEncckFOU
2006/12/11(月) 21:52:40まあ一番ひどいforLoopCounterみたいにやたら長い名前をつけるやつよりはいいけどお
0028ぼるじょあ ◆yBEncckFOU
2006/12/11(月) 21:56:14使い方によっては誤差が生じるということも忘れずに、だお
0029デフォルトの名無しさん
2006/12/11(月) 23:22:02高校の時に数値計算か何かの実習で習ったけど理由は忘れたな・・・
0030デフォルトの名無しさん
2006/12/11(月) 23:26:08ここのstage6-3と6-4の四則演算をするにはどうしたらいいか助言いただけないでしょうか?
0031デフォルトの名無しさん
2006/12/12(火) 01:48:36#include <stdio.h>
#include <string.h>
int main( void )
{
double a, b;
char c;
char* ptr = " +-*/";
int t;
while( 1 ) {
printf( "0:無指定 1:加算 2:減算 3:乗算 4:除算 5:終了-> " ); scanf( "%d", &t );
if( t == 5 ) break;
printf( "式入れれ\n" ); scanf( "%lf%c%lf", &a, &c, &b );
if( ! t )t = strchr( ptr, c ) - ptr;
if( t < 1 && t > 4 || ptr[t] != c ) {
printf( "却下\n" );
continue;
}
switch( t ) {
case 1: printf( "%lf + %lf = %lf\n", a, b, a + b ); break;
case 2: printf( "%lf - %lf = %lf\n", a, b, a - b ); break;
case 3: printf( "%lf * %lf = %lf\n", a, b, a * b ); break;
default: printf( "%lf / %lf = %lf\n", a, b, a / b ); break;
}
}
return 0;
}
0032デフォルトの名無しさん
2006/12/12(火) 01:49:32ttp://3rd.geocities.jp/as_rmter/stage_k6.htm
ここのstage6-3と6-4の四則演算をするにはどうしたらいいか助言いただけないでしょうか?
003331
2006/12/12(火) 02:00:37今答えを書いたばかりなのだが...
ソース読んでも理解できないのなら、何が疑問か書くように。
ちなみに例題に倣って書いたのだが、
scanf( "%lf%c%lf", &a, &c, &b );
の様な用法は問題が多い。例えば 10.0 + 20.0 の様にスペースを空けただけで求める入力が
得られない。
003430
2006/12/12(火) 02:17:55ありがとうございます
疑問があるのは四則演算を選択するときに文字での判別はできないのか、ということと
書いていただいたソースで終了の5を入力して確認してみたところ
抜け出さないのですがどうしたら処理を抜け出す終了判定にできますでしょうか?
003530
2006/12/12(火) 02:31:13自分の間違いでした
5での抜け出し処理は大丈夫でした
最大の疑問は四則演算を選択するときに数字ではなく文字での判定はできないのでしょうか?
0036デフォルトの名無しさん
2006/12/12(火) 02:56:46最初からマルチする気満々じゃねーか
003731
2006/12/12(火) 03:37:35文字から数字に変換するなら以下みたいな感じ。
int func( char* str, char c )
{
char* ptr;
ptr = strchr( str, c );
if( ! ptr ) return -1; // Error
return ptr - str;
}
呼び出し側
int t;
char c;
scanf( "%c", &c );
t = func( "?abcdq", c );
これで ?abcdq に対応して 0 〜 5 が t に代入される。
何処に組み込めば良いかくらいは解るよね。
0038デフォルトの名無しさん
2006/12/13(水) 00:44:430039デフォルトの名無しさん
2006/12/13(水) 00:58:100040デフォルトの名無しさん
2006/12/13(水) 01:12:180042デフォルトの名無しさん
2006/12/13(水) 11:08:46使っちゃいけない理由解説してくれ
0043デフォルトの名無しさん
2006/12/13(水) 11:28:17NULLが偽じゃない可能性を考えてるの?
0044デフォルトの名無しさん
2006/12/13(水) 18:38:43記述を省略できるなら意味論など気にしないってスタンスが目立つ。
でも、本当にそれでいいの?
0045デフォルトの名無しさん
2006/12/13(水) 18:41:09char*と分かっていながら(ry
0046デフォルトの名無しさん
2006/12/13(水) 20:22:31ぼるじょあさんの腕がなまってしまわないか心配だ
0047デフォルトの名無しさん
2006/12/13(水) 20:52:17場合によりけり
0048homoじょあ ◆5OLf4yFnuM
2006/12/13(水) 21:12:44(・3・) エェー それ好きなのにお
>>27
(・3・) エェー iとか1文字は秋田んだお
>>28
(・3・) エェー これはリアルに忘れてたYO
ごめんYO
0049デフォルトの名無しさん
2006/12/13(水) 21:15:450051デフォルトの名無しさん
2006/12/13(水) 22:18:39だから ptr は char* で宣言してるだろ。
俺のブラウザと違う見え方してるのか?
0052デフォルトの名無しさん
2006/12/13(水) 23:48:38>char*と分かっていながら(ry
略せずに全部書いてくれない?
何が言いたいのか自分もわからないし気になる。
0054デフォルトの名無しさん
2006/12/14(木) 11:42:510055デフォルトの名無しさん
2006/12/14(木) 12:16:37[2] 問題文(含コード&リンク): テキストファイル「myfile.txt」を読み込み、文末にcinで入力した文字列を書き足すプログラムを作成せよ
[3] 環境
[3.1] OS:Windowsxp
[3.2] コンパイラ名とバージョン:BCC
[3.3] 言語: C++優先だがどちらでもOK
[4] 期限: 2006年12月16日
[5] その他の制限:なし
0056デフォルトの名無しさん
2006/12/14(木) 12:33:02char* ptr に対して if( ! ptr ) が気に食わんのかなぁ。
だとすると >>40 が意味不明なんだが。
『NULLが非0の可能性も有る』って書いてくれれば『そんな環境は今のところは無い』って
答えるんだけど。
そもそもNULLを非0にするご利益が浮かばないんだよなぁ...
>>54
char* と char を比較してる?
0057デフォルトの名無しさん
2006/12/14(木) 12:37:02読み込む必要無いんじゃない?
fopen( path, "at" ) で開いて入力した文字列を書き込めば良いだけだと思うけど。
0058デフォルトの名無しさん
2006/12/14(木) 13:19:18ofstreamを使用しても同じことはできますか?
0059デフォルトの名無しさん
2006/12/14(木) 14:12:39#include <iostream>
#include <fstream>
#include <string>
int main()
{
using namespace std;
const char* file_name = "myfile.txt";
//追加書き込みモード+シーク可能状態でファイルオープン
ofstream out(file_name, ios_base::out | ios_base::ate);
if (!out.is_open()) {
out.open(file_name); //ファイルが見当たらない場合は新規作成
if (!out.is_open()) {
cerr << "Can't open txt file¥n";
return 1;
}
}
string s;
cin >> s;
out << s;
return 0;
}
ぼるじょあさんがんばれ
0060デフォルトの名無しさん
2006/12/14(木) 17:49:34みんなが突っ込んでるのは、>>39だと思うよ。
ptr !='\0'
↑
これ、ptrがcharじゃなきゃ成り立たなくない?
ptr[0]ならわかるけど。
0062デフォルトの名無しさん
2006/12/14(木) 19:58:130063デフォルトの名無しさん
2006/12/14(木) 21:02:35X 3010:2003 6.3.2.3にもほぼ同じような規定がある。
ただしこちらはそれをvoid*にキャストした式も空ポインタ定数に含めている。
'\0'はCではint、C++ではcharになるが共に整数型であることに変わりはなく、
ptr !='\0'はptrがポインタ型でもptrがヌルポインタか比較する有効な式になる。
0064デフォルトの名無しさん
2006/12/14(木) 21:31:53006537=41=51=56
2006/12/14(木) 22:19:46>>37 に対するレスだと思ってた。
>>39 俺じゃねぇし...
そもそも if( ! ptr ) を if( ptr != '\0' ) じゃ動作が反対じゃん。
ちゃんとアンカー付けなよ。話が噛み合わない。
0066デフォルトの名無しさん
2006/12/14(木) 22:50:420067デフォルトの名無しさん
2006/12/15(金) 01:21:52http://www.kouno.jp/home/c_faq/c5.html
006860
2006/12/15(金) 02:48:19一つ賢くなった。ありがとう。
ポインターと'\0'の比較って、出来るんだね。
>>65
そんな愚痴、俺に言われても困るがな(´・ω・`)
二度目以降の書き込みから、名前欄に最初のレス番入れときゃ済んだ話でしょ。
突っ込み入れてんのも、一人じゃないだろうしさ。
俺も、60がここでの初書き込み。
>>39-40の流れは、どうみても40は39へのレスでしょ。どの書き込みへのレスだと、思い込んだの?
0069デフォルトの名無しさん
2006/12/15(金) 09:58:39わかりずらいような箇所はコメントつけてるつーの
0070デフォルトの名無しさん
2006/12/15(金) 11:05:11[2] 問題文(含コード&リンク)
1)直線回帰の式を導出せよ。
2)決定係数の式を導出せよ。
3)1)の式を用いて「汎用性の高い直線回帰を行うプログラム」を開発せよ。
4)3)で開発したプログラムに2)の決定係数を算出する式を加えよ。
[3.1] OS: XP
[3.2] コンパイラ名とバージョン: gcc3.4
[3.3] 言語:C
[4] 期限: 2006.12.18
[5] その他の制限: とくになし
お手数かもしれませんが、よろしくお願いします・・・!
0071デフォルトの名無しさん
2006/12/15(金) 11:34:30Lvの低い厨房が他人を見下したくて因縁つけてるんだ。
だから、気にするな。
0072 ◆jrVK/pjl0Q
2006/12/15(金) 11:41:31[2] 問題文(含コード&リンク):√xの定積分(積分範囲0〜1)をモンテカルロ法を用いて
計算せよ。ただし、生成点数が10万点と1千万点の場合について計算する。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 2.96
[3.3] 言語: C
[4] 期限: 2006年12月18日
[5] その他の制限: とくにありません
よろしくお願いいたします。
0073デフォルトの名無しさん
2006/12/15(金) 11:42:07直線回帰でもN次式回帰でも普通は最小二乗法を使うと思う。
仕事で書いたことあるけど手元にソース無いし、ちょこちょこって書ける量でもないよ。
決定係数は知らん。
多分、回答は期待できないと思う。
最小二乗法はここにソース付きの説明があるから参考にしたら?
ttp://homepage3.nifty.com/ishidate/vcpp6_19/vcpp6_19.htm
0074デフォルトの名無しさん
2006/12/15(金) 12:11:58[2] 問題文(含コード&リンク): 宝くじの抽選番号のあたり調べをし結果を表示するプログラムを作成
最初に当選番号を入力し、買った宝くじの番号を入力しあたりかはずれか表示する
[3] 環境
[3.1] OS: Windows
[3.3] 言語: C
[4] 期限: 来週の月曜日
[5] その他の制限: ・バラ・連番より選択可にする
・連番の場合先頭の番号を入力するだけにする
・枚数チェック、文字チェックを行う。数字以外は入力できないようにする
・上位の等が当たったら下位の等は当たらない
・繰り返し入力できるように何かキーを入力したら終了できるようにする
・買った宝くじは何度でも入力できるようにする
0075ぼるじょあ ◆yBEncckFOU
2006/12/15(金) 21:05:37(・3・) エェー さすがhomoじょあ氏、大人の対応だお
ちなみにもいらはガキみたいにいろいろ文句行ってみたお
>>49
何で?
0076ぼるじょあ ◆yBEncckFOU
2006/12/15(金) 21:06:46使えないプログラマは多いみたいだね
・・・まじですか
0077ぼるじょあ ◆yBEncckFOU
2006/12/15(金) 21:11:29まあ家庭狂死していたころに数学教えていた合間の休憩で
自称学生プログラマにソース見せたら悩んでいたおw
というか再帰使わないで漸近式をコンピュータプログラムにした方が
わかりにくいと思うお
0078デフォルトの名無しさん
2006/12/15(金) 21:18:14>あんまり大きい数字は入れないでね
75≠76だよな?
じゃなきゃ76の発言は冗談にしかならんぞ。
0079ぼるじょあ ◆yBEncckFOU
2006/12/15(金) 21:33:270080ぼるじょあ ◆yBEncckFOU
2006/12/15(金) 21:35:24そりゃまああまり大きな数字はだめなのは当然のことだお
文句言うならはっきり言おうね〜ぼくぅ
何て煽ってみたりするわけですが
0081ぼるじょあ ◆yBEncckFOU
2006/12/15(金) 21:38:27ぷータン似で顔だけでなく勝ち気な性格も似てるお
横顔(というよりちょっと正面向きの)がとてもかわいく
口が少女のようにぷっくりふくらんでいて首に巻いたスカーフが
愛らしいお
0082ぼるじょあ ◆yBEncckFOU
2006/12/15(金) 21:39:010083デフォルトの名無しさん
2006/12/15(金) 21:49:480084デフォルトの名無しさん
2006/12/15(金) 22:11:50>79
使うべき所とそうでない所がわかってないと、再帰の使い方がわかってるとは言えない。
それぐらいなら全く使わない方がまし。
0085ぼるじょあ ◆yBEncckFOU
2006/12/15(金) 22:43:29⊂⌒( ・3・) はいはいフィボナッチ博士フィボナッチ博士
`ヽ_っ⌒/⌒c
⌒ ⌒
∧_∧
⊂(# ・3・) うざいしみんなの迷惑だから他所でやれお!!
/ ノ∪
し―-J |l| |
人ペシッ!!
__
0086デフォルトの名無しさん
2006/12/16(土) 08:46:58はい、次の質問どうぞ
0087デフォルトの名無しさん
2006/12/16(土) 16:20:30[2] 問題文(含コード&リンク)http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3200.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: visual studio2003
[3.3] 言語: C
[4] 期限: 12月19日
[5] その他の制限: 特になし
分からなくて焦ってます。
0088homoじょあ ◆5OLf4yFnuM
2006/12/16(土) 19:14:17(・3・) エェー http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3201.txt
0089ぼるじょあ ◆yBEncckFOU
2006/12/16(土) 20:18:45書き直してやったお
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3202.txt
まだ少しだけむかむかするけどまあ多少は落ち着いてきたお
0090homoじょあ ◆5OLf4yFnuM
2006/12/16(土) 20:35:160091ぼるじょあ ◆yBEncckFOU
2006/12/16(土) 20:40:520092homoじょあ ◆5OLf4yFnuM
2006/12/16(土) 20:50:330093デフォルトの名無しさん
2006/12/16(土) 21:03:12ありがとうございます。助かりました。
0094ぼるじょあ ◆yBEncckFOU
2006/12/16(土) 21:17:36ふざけんな
0095デフォルトの名無しさん
2006/12/16(土) 21:30:430096デフォルトの名無しさん
2006/12/16(土) 21:32:15中途半端な名無しだなw
0097デフォルトの名無しさん
2006/12/16(土) 21:49:46{
long value_abs, value_div;
value_abs=abs(value);
for(value_div=1;value_abs/value_div>=1000;value_div*=1000)
;
sprintf(buf, "%ld", value/value_div);
for(value_div/=1000;value_div>0;value_div/=1000)
sprintf(buf, "%s,%03ld", buf, (value_abs/value_div)%1000);
return 1;
}
0098ぼるじょあ ◆yBEncckFOU
2006/12/16(土) 22:09:13もう少しシンプルにできんかね、これはキミへの課題だお
明日の20時頃に股来るからそれまでにちゃんと第2版作っておけお
もいらは彼女の看護で疲れたから美少女便器2でも見ながら寝るお
0099デフォルトの名無しさん
2006/12/16(土) 23:19:30ごめんなさい。もちろん>>95さんにも感謝してます。
アンカーつけ忘れorz
0100ぼるじょあ ◆yBEncckFOU
2006/12/16(土) 23:28:290101デフォルトの名無しさん
2006/12/16(土) 23:59:43{
char temp[20];
int i, temp_len;
if(value<0) *buf++='-';
sprintf(temp, "%ld", labs(value));
temp_len=strlen(temp);
for(i=0;i<temp_len;i++)
{
*buf++=temp[i];
if((temp_len-i)%3==1)
*buf++=',';
}
buf[-1]='\0';
return 1;
}
0102デフォルトの名無しさん
2006/12/17(日) 00:43:59あ、今度は100ゲトしてる。おめでとう。
0103ぼるじょあ ◆yBEncckFOU
2006/12/17(日) 10:12:40>>101きみの混乱具合が伺えるお
*(buf-1)に'\0'を入れる理由を答えろお
comma_format()呼び出し元に特殊な引数渡しを要求する仕様かお?
もう少しわかりやすい仕様で作り直すよう希望するお
0104デフォルトの名無しさん
2006/12/17(日) 10:17:14char buf[20];
comma_format(1000, buf);
printf("%s\n", buf);
return 0;
}
0105デフォルトの名無しさん
2006/12/17(日) 10:27:01#include <string.h>
#include <stdlib.h>
char * addStringFromIntWithComma(char * buf, int val)
{
char * p;
if (val < 0) {
p = strchr(buf, '\0');
p[0] = '-'; p[1] = '\0';
return addStringFromIntWithComma(buf, -val);
}
if (val >= 1000) {
p = addStringFromIntWithComma(buf, val / 1000);
return p + sprintf(p, ",%03d", val % 1000);
}
p = strchr(buf, '\0');
return p + sprintf(p, "%d", val);
}
void putStringFromIntWithComma(char * buf, int val)
{
buf[0] = '\0'; addStringFromIntWithComma(buf, val);
}
int main(int argc, char **argv)
{
if (argc > 1) {
char buf[100];
putStringFromIntWithComma(buf, atoi(argv[1])); puts(buf);
}
return 0;
}
0106デフォルトの名無しさん
2006/12/17(日) 18:11:11ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3207.txt
OS:Windows
言語:C/C++どちらでも可
期限:12月20日
この2問がどうしてもわかりません、よろしくお願いします。
0107デフォルトの名無しさん
2006/12/17(日) 18:37:32[2] (1) 0 が入力されるまで正整数を読み込み、最大値、(最後の0 を除いた)最小値、全入力数値の平均(最
後の0 を含めず) を出力するプログラムを作りなさい。
(2) 正整数を入力し、それをローマ数字で表示するプログラムを作りなさい。
例: 1 I
3 III
4 IIII (またはIV)
5 V
12 XII
46 XXXXVI
73 LXXIII
111 CXI
378 CCCLXXVIII
521 DXXI
1001 MI
[3] 環境
[3.1] OS: Windows
[3.3] 言語: C
[4] 期限: 月曜日
[5] その他の制限:できるだけ簡単で理解できるやつをおねがいします。
0108homoじょあ ◆5OLf4yFnuM
2006/12/17(日) 19:15:46(・3・) エェー http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3211.txt
0109デフォルトの名無しさん
2006/12/17(日) 19:26:27#include<stdio.h>
typedef struct tag_roman_number{
char *symbol;
int value;
}roman_number;
void print_roman_number(int value){
roman_number num_list[]={
{"M", 1000},
{"D", 500},
{"C", 100},
{"L", 50},
{"X", 10},
{"V", 5},
{"I", 1},
};
int i;
for(i=0;i<(sizeof(num_list)/sizeof(num_list[0]));i++){
while(value>=num_list[i].value){
printf("%s", num_list[i].symbol);
value-=num_list[i].value;
}
}
}
int main(int argc, char *argv[]){
int i;
for(i=1;i<argc;i++)
print_roman_number(atoi(argv[i])),printf("\n");
return 0;
}
0110109
2006/12/17(日) 19:31:55>>109 を下のとおり変更してね
{"V", 5},
{"I", 1},
↓
{"V", 5},
{"IV", 4},
{"I", 1},
0111デフォルトの名無しさん
2006/12/17(日) 19:36:33ぼるじょあになってみては?
スレタイもそうなってるし
0112デフォルトの名無しさん
2006/12/17(日) 19:41:490113デフォルトの名無しさん
2006/12/17(日) 19:42:13難しいです
簡単なやつじゃないとわかりません
0114デフォルトの名無しさん
2006/12/17(日) 19:42:200115デフォルトの名無しさん
2006/12/17(日) 19:43:050116homoじょあ ◆5OLf4yFnuM
2006/12/17(日) 19:50:10(・3・) エェー http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3213.txt
0117109
2006/12/17(日) 19:58:09どこが分からないのか教えて
0118デフォルトの名無しさん
2006/12/17(日) 20:16:18ほんとにほとんどわかりません、、、
出来れば説明を右につけてください、、
0119109
2006/12/17(日) 21:41:44気が向いたら別解でも考えるよ
0120デフォルトの名無しさん
2006/12/17(日) 21:45:07是非おねがいします
0121ぼるじょあ ◆yBEncckFOU
2006/12/17(日) 21:45:55for文の条件や関数の引数のなかでごちゃごちゃ計算したり
さらには冗長な変数名が拍車をかけているんだお
そこんところをちゃんと理解してね
0122ぼるじょあ ◆yBEncckFOU
2006/12/17(日) 21:48:55for(i=0;i<(sizeof(num_list)/sizeof(num_list[0]));i++){
print_roman_number(atoi(argv[i])),printf("\n");
特にfor文の条件で変化しないと分かっているのであれば
sizeof()はあらかじめ計算してメモリにおいておくべきだお
何で毎回計算する必要があるの?
処理速度云々言うつもりはないけど毎回計算する必要はあるの?
わかりにくいよ
よって3点
0123ぼるじょあ ◆yBEncckFOU
2006/12/17(日) 21:52:10homoじょあ氏と名無し氏が回答してくれたみたいでまたまた
もいらの出番が無かったお
そろそろ風呂入ってアナル破壊3でも見ながら寝るお
0124デフォルトの名無しさん
2006/12/17(日) 22:01:37>>107 の一番、二番があるよ
0125デフォルトの名無しさん
2006/12/17(日) 22:01:37ぜっ是非おねがいします
留年がかかってます(笑
0126デフォルトの名無しさん
2006/12/17(日) 22:13:58そりゃぁいい。
留年してしまえ。
0127デフォルトの名無しさん
2006/12/17(日) 22:32:05#include<stdio.h>
int main(void){
int number, maximum, minimum, count, total=0;
for(count=0;;count++){
printf("自然数を入力してください (0で終了):");
scanf("%d", &number);
if(number<=0) break;
if(count==0){
maximum=number;
minimum=number;
}
if(number>maximum) maximum=number;
if(number<minimum) minimum=number;
total+=number;
}
if(count==0) return 1;
printf("最大値:%d\n", maximum);
printf("最小値:%d\n", minimum);
printf("平均値:%f\n", (double)total/count);
return 0;
}
0128デフォルトの名無しさん
2006/12/17(日) 22:52:27if(number<minimum) minimum=number;
total+=number;
}
if(count==0) return 1;
この辺をご説明ねがえませんでしょうか?
あと
printf("平均値:%f\n", (double)total/count)
は何を表しているのでしょうか?
0129デフォルトの名無しさん
2006/12/18(月) 00:21:29>if(number>maximum) maximum=number;
numberがmaximumよりも大きければnumberをmaximumに代入。
つまり最大値を得る。
>if(number<minimum) minimum=number;
これは最小値を得る。
>total+=number;
totalにnumberを加算する。つまり入力された数の合計を求める。
>if(count==0) return 1;
正数が全然入力されずにいきなり0が入力されたら
最大値も最小値も平均も求められないのでプログラムを終了する。
>printf("平均値:%f\n", (double)total/count)
画面に平均値を表示する。
%fはこの部分を平均値の数字(小数)で置き換えるって意味。
>(double)total/count
これはtotal(整数しか扱えない型)を小数を扱える型に変換して入力された数の個数で割る。
0130デフォルトの名無しさん
2006/12/18(月) 00:25:13if(number<minimum) minimum=number; ←入力した数値が今までの最小値よりも小さいとき最小値を更新する
total+=number; ←入力した数値の総和を計算する
}
if(count==0) return 1; ←自然数が一回も入力されていなかったら途中で終了する
count は自然数を入力した回数
(平均)=(数値の総和) / (数値の個数)
あと、留年は避けられないかも
0131デフォルトの名無しさん
2006/12/18(月) 00:45:17ありがとうございます
留年は避けられないかも
その一言かなりくらいました
二問目わかりやすくおねがいします、、、
0132デフォルトの名無しさん
2006/12/18(月) 02:26:37これならわかるか?
#include <stdio.h>
int main(void)
{
int i, j, n;
char roman[7] = {'M','D','C','L','X','V','I'};
int num[7] = {1000, 500, 100, 50, 10, 5, 1};
scanf("%d", &n);
for(i=0; n; i++) {
for(j=0; j<n/num[i]; j++) putchar(roman[i]);
n %= num[i];
}
return 0;
}
0133デフォルトの名無しさん
2006/12/18(月) 02:37:33一応横に説明つけてもらえませんか^^;
0134デフォルトの名無しさん
2006/12/18(月) 02:38:48まず自分でつけてみてよ。
間違ってれば教えてあげるからさ。
0135デフォルトの名無しさん
2006/12/18(月) 02:53:13すみません
やってみます
#include <stdio.h> おまじない
int main(void) void?
{
int i, j, n; 箱を用意する
char roman[7] = {'M','D','C','L','X','V','I'}; ローマ字を用意する?
int num[7] = {1000, 500, 100, 50, 10, 5, 1}; num?七つの数字を用意する?
scanf("%d", &n); nを読み込む
for(i=0; n; i++) { iを0から1ずつふやして
for(j=0; j<n/num[i]; j++) putchar(roman[i]); その時jを1つずつ増やして、、putcharがわかりません
n %= num[i]; nをnum[i]で割った余りをまた戻す?
}
return 0;
}
0136デフォルトの名無しさん
2006/12/18(月) 03:14:43>>132ではないけど
putchar()は()の中の一文字を出力してる
あとはおk?
0137デフォルトの名無しさん
2006/12/18(月) 03:28:020138デフォルトの名無しさん
2006/12/18(月) 12:51:54その「おまじない」はscanfやputcharを使えるようにするためのもの。
そのおまじないを書けばこれら↓の関数が使えるようになる。
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/stdio.3.html
>int main(void)
このvoidは関数の引数が無いという意味。
この関数を呼び出すときにパラメータを設定しない。
0139デフォルトの名無しさん
2006/12/18(月) 15:05:27迎撃可能か不能かを求めるところまで行きました。そのプログラムを拡張して
どの道を使ったら最大点数を取れるのかを出力させるような(最大経路)
プログラムにしたいのですがご指摘願います。
敵の得点はすべておなじで各1点です
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3217.txt
[3] 環境
[3.1] XP
[3.2] Borland C++ Compiler 5.5
[3.3] C
[4] 3日以内
0140デフォルトの名無しさん
2006/12/18(月) 16:01:33[2]次に示すデータに関して以下の計算を行え
一次式に当てはめてその式を示す。同時に2乗累積誤差Eを求める。
二次式に当てはめ上と同じことを行う。
[3.1]Windows
[3.2]bcc32
[3.3]どちらでも可
[4]2006年12月22日
[5]ガウスジョルダン法を用いて計算する。
x -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6
y 13.4, 7.2, 2.7, 1.2, 0.6, 3.1, 6.9, 12.5, 20.8, 31.7, 44.0
0141homoじょあ ◆5OLf4yFnuM
2006/12/18(月) 21:17:13最大経路の意味がわからないYO
xとyの数値をどう1次式、2次式にするのかわからないYO
0142デフォルトの名無しさん
2006/12/18(月) 22:03:56>>70 も同じ内容の要件だ。最小二乗法は 70 レスおきに発生するのか?
>>73 で書いたけどそれ大変だからここでは回答を得られないと思うぞ。
ここ見てる暇があったらググれ。サンプルソースも見つかると思うぞ。
0143デフォルトの名無しさん
2006/12/18(月) 23:30:53#include <stdio.h>
なんとなくif文とbreak文削ったの作ってみた。
他意はない。
int main(void)
{
int i=0,min=0,max=0,count=-1;
double sum=0;
do{
sum += i;/*sum=sum+iと同じ sumには入力された整数の合計を入れておく*/
if(i<min) min=i; /*もし、minよりもiが小さかったら、minにiの値を代入 */
if(i>max) max=i;/* 上の逆版 */
scanf("%d",&i);/*数値を読み込む*/
count++;/*count = count+1と同じ 何回目の入力かを数えておく(平均値を出すため)*/
}while(i);/*読み込んだ値が0でなければ続ける */
printf("最大値=%d 最小値=%d 平均値=%lf\n",max,min,sum/count);
return 0;
}
0144シロート
2006/12/18(月) 23:36:08私、最近仕事でpicを多少触るようになったのですが、
書き込み済みのデータをプロテクトだけする方法ってございますか?
仕事上1日何百という基板を検査し、
出荷しておりますが、その基板のpicにプロテクトをかけて
出荷しなければなりません。が、オペレータが聞き込みの際に
プロテクトなしで書き込みを行ってしまって動作検査へ進んでしまいました。
今からプロテクトありで書き込んでいたら動作検査手番上出荷に間に合いません。
中データはそのままにプロテクトだけ書き込む事は不可能でしょうか?
データをそのままにプロテクトだけかける事が出来れば、再動作検査は
免れます。同一データをプロテクトありで書き込むのが一番簡単な方法
かもしれませんが、データを書き込んだら書き込み不良を防ぐため、
必ずべリファイで確認し、その後動作検査をしなくてはなりません。
どなたか助けてください。
0145デフォルトの名無しさん
2006/12/19(火) 00:03:46picってこれの事?
http://www.hobby-elec.org/pic.htm
0146デフォルトの名無しさん
2006/12/19(火) 00:18:24アセンブラスレか、ハード板のほうが良いような気もするが。
0147デフォルトの名無しさん
2006/12/19(火) 02:44:05[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3223.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Visual Studio 2003
[3.3] 言語: C
[4] 期限: 12月21日
[5]特になし
0148デフォルトの名無しさん
2006/12/19(火) 03:09:00[2] 問題文(含コード&リンク):ラプラシアンフィルターを実現させる関数laplacianを作成せよ
void laplacian (int data[][Y_SIZE][3],int width,int height);
また、3点を与えると三角形を描く関数riangleを作成せよ。y1<y2<y3と仮定してよい
void triangle(int data[][Y_SIZE][3],int x1,int y1,int x2,int y2,int x3,int y3); main関数を以下のようにせよ
void main{
int image [X_SIZE][Y_SIZE][3]; init_image(image,X_SIZE,Y_SIZE);
triangle(int image[][Y_SIZE][3],64,5,120,30,20,100);
save_bmp("temp1.bmp",image,X_SIZE,Y_SIZE); laplacian(image,X_SIZE,Y_SIZE); save_bmp("test2.bmp",image,X_SIZE,Y_SIZE); }
[3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン:VC [3.3] 言語:C++
[4] 期限:12月22日
0149139
2006/12/19(火) 14:25:49一番得点が高くなる経路です(迎撃可能→迎撃可能な道を通って)
”最大の得点が得られる経路”ですね、すみません
まだ不明な点があったらご指摘お願いします
015045
2006/12/19(火) 14:38:160151デフォルトの名無しさん
2006/12/19(火) 15:04:06テンプラ嫁
0152ぼるじょあ ◆yBEncckFOU
2006/12/19(火) 19:30:27(・3・) エェー もうおそいかもしれんけど
無理に決まってるお
ちゃんとプロテクトビットはデフォルトONで書き込むようにと
馬鹿オペレータを躾けようね
0153ぼるじょあ ◆yBEncckFOU
2006/12/19(火) 19:38:2372文字で折り返ししろとは言わないけど80文字くらいでちゃんと改行コード
入れてくれお、こういう気遣いができない奴は大抵答えだけ聞いて感謝の気持ちモナしに
礼もせずおさらばするのは目に見えているので答えてやらないお
>>148 ラプラシアンフィルタっていうと画像処理のエッジ検出でつかうやつかお?
作ったことあるけどその問題のプロトタイプともいらがイメージするラプラシアンフィルタの
プロトタイプがいまいち一致しなくて回答できないお、すまんお
0154ぼるじょあ ◆yBEncckFOU
2006/12/19(火) 19:41:37(・3・) エェー はじめてきいたソートアルゴリズムだお
つーかソートなんてわざわざコード組むのなんてまんどくさいし
はっきりいって回答する気にもなれんお
大学の教授はなんでいつもつまらん馬鹿課題しかださんのだろうね
誰か面白い課題を頼むお
0155homoじょあ ◆5OLf4yFnuM
2006/12/19(火) 20:04:37(・3・) エェー 波動砲は縦方向に一直線かお?
それともナナメOKかお?
ナナメありだとしたら考えるのは前方180度だけ?
それとも全方位?
0156139
2006/12/19(火) 21:07:01波動砲考えると難しくなるのでまずは自機無敵で体当たりのみで倒す方法にしました
後、敵もまっすぐ落ちてくるだけで弾は打ってきません
0157147
2006/12/19(火) 21:36:30ごめんなさい書き直しました。
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3233.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Visual Studio 2003
[3.3] 言語: C
[4] 期限: 12月21日
[5]特になし
0158homoじょあ ◆5OLf4yFnuM
2006/12/19(火) 21:48:16(・3・) エェー 体当たりの方法は?
どうとでも動いていいのか・・直線のみか・・・ナナメもOKか
0159139
2006/12/19(火) 22:07:49どう動いてもいいです。自機も敵も今のところ点で考えてますので
点が重なったら体当たり成功ということで
つまり迎撃範囲が円錐状に広がっていくってことでFAですよね?
0160t_n
2006/12/19(火) 23:22:10[2] 問題文:ある打撃点から目標に向かって的狙いを行い、命中させるゲームプログラムを作成せよ。
打撃点から目標までの距離、障害までの距離、障害の幅と高さ、および風速を初期設定条
件とし、ゲームを行う者には、目標までの距離と風速のみが知らされる。打撃点からの玉
の発射角、初速を設定すると、玉到達距離を計算し、目標点との差を表示する。
到達距離は
x=(Vocosθ+W)t=Vxt
y=Votsinθ -gt�A/2=Vgt-4.9t�A
�A=二乗の事です。
障害を越えること、そして、障害を越えたときの打撃距離を計算し、目標との差を表示する
ようにする。障害を越えなければ、障害激突などと表示するようにする。
です。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: VC 6.0
[3.3] 言語:C++
[4] 期限:できるだけ早めでお願いします。
[5] その他の制限:ありません。
0163t_n
2006/12/20(水) 09:39:51近くでもいいです。
よろしくお願いします。
0165t_n
2006/12/20(水) 10:08:39確かににてます。
0166デフォルトの名無しさん
2006/12/20(水) 10:13:56[2] 問題文(含コード&リンク):ラプラシアンフィルターを実現させる関数laplacianを作成せよ
void laplacian (int data[][Y_SIZE][3],int width,int height);
また、3点を与えると三角形を描く関数riangleを作成せよ。y1<y2<y3と仮定してよい
void triangle(int data[][Y_SIZE][3],int x1,int y1,int x2,int y2,int x3,int y3); main関数を以下のようにせよ
void main{
int image [X_SIZE][Y_SIZE][3]; init_image(image,X_SIZE,Y_SIZE);
triangle(int image[][Y_SIZE][3],64,5,120,30,20,100);
save_bmp("temp1.bmp",image,X_SIZE,Y_SIZE);
laplacian(image,X_SIZE,Y_SIZE);
save_bmp("test2.bmp",image,X_SIZE,Y_SIZE); }
[3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン:VC [3.3] 言語:C++
[4] 期限:12月22日
0167デフォルトの名無しさん
2006/12/20(水) 10:21:030168デフォルトの名無しさん
2006/12/20(水) 10:23:37マルチ?
http://pc8.2ch.net/test/read.cgi/tech/1160897843/256
0169デフォルトの名無しさん
2006/12/20(水) 10:28:39マルチとはどういう意味ですか
0170デフォルトの名無しさん
2006/12/20(水) 10:46:570171デフォルトの名無しさん
2006/12/20(水) 11:10:310172デフォルトの名無しさん
2006/12/20(水) 11:37:160173デフォルトの名無しさん
2006/12/20(水) 15:45:17[2] 問題文(含コード&リンク):ラプラシアンフィルターを実現させる関数laplacianを作成せよ
void laplacian (int data[][Y_SIZE][3],int width,int height);
また、3点を与えると三角形を描く関数riangleを作成せよ。y1<y2<y3と仮定してよい
void triangle(int data[][Y_SIZE][3],int x1,int y1,int x2,int y2,int x3,int y3); main関数を以下のようにせよ
void main{
int image [X_SIZE][Y_SIZE][3]; init_image(image,X_SIZE,Y_SIZE);
triangle(int image[][Y_SIZE][3],64,5,120,30,20,100);
save_bmp("temp1.bmp",image,X_SIZE,Y_SIZE);
laplacian(image,X_SIZE,Y_SIZE);
save_bmp("test2.bmp",image,X_SIZE,Y_SIZE); }
[3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン:VC [3.3] 言語:C++
[4] 期限:12月24日
0174デフォルトの名無しさん
2006/12/20(水) 15:47:240175デフォルトの名無しさん
2006/12/20(水) 19:17:13[2] 問題文(含コード&リンク):文字列操作
data[1][256] = {"abc def,,,,,ghi",
" qwert, , , , ,yuiop "};
char finder = ','; //検索用文字
をstrchr()とmemset()とmemcpy()を用いて
,をのぞいた文字列数と結合文字列(abcde f g)を出力させたいです。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Virtual C++6.0
[3.3] 言語: C++
[4] 期限: 12月26日
[5] その他の制限: strchr(),memset(),memcpy()を必ず使用する
0176デフォルトの名無しさん
2006/12/20(水) 20:32:160177homoじょあ ◆5OLf4yFnuM
2006/12/20(水) 20:37:55(・3・) エェー 結局仕事忙しくてどっちにしろ近く狙うしか考えてないんだけどお
・・・・迎撃可不可の条件がいまいちわかんないんですがYO
0178homoじょあ ◆5OLf4yFnuM
2006/12/20(水) 20:43:27敵さんはZ軸方向に落ちてくるだけで
自機と敵のスピードは同じってことかNA?
0179デフォルトの名無しさん
2006/12/20(水) 20:44:580180デフォルトの名無しさん
2006/12/20(水) 20:57:050182homoじょあ ◆5OLf4yFnuM
2006/12/20(水) 22:01:19しかも自機しか動いてないときたもんだ
ダメだな・・これ・・・親父と飲む約束しちゃったから逃げる
あなじょあにまかせたお
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3251.txt
0183デフォルトの名無しさん
2006/12/21(木) 18:16:39[2] 問題文(含コード&リンク):ラプラシアンフィルターを実現させる関数laplacianを作成せよ
void laplacian (int data[][Y_SIZE][3],int width,int height);
また、3点を与えると三角形を描く関数riangleを作成せよ。y1<y2<y3と仮定してよい
void triangle(int data[][Y_SIZE][3],int x1,int y1,int x2,int y2,int x3,int y3); main関数を以下のようにせよ
void main{
int image [X_SIZE][Y_SIZE][3]; init_image(image,X_SIZE,Y_SIZE);
triangle(int image[][Y_SIZE][3],64,5,120,30,20,100);
save_bmp("temp1.bmp",image,X_SIZE,Y_SIZE);
laplacian(image,X_SIZE,Y_SIZE);
save_bmp("test2.bmp",image,X_SIZE,Y_SIZE); }
[3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン:VC [3.3] 言語:C++
[4] 期限:12月24日
0184デフォルトの名無しさん
2006/12/21(木) 18:21:080185デフォルトの名無しさん
2006/12/21(木) 18:42:31いい加減にしろ。
マルチすんな。
0186デフォルトの名無しさん
2006/12/21(木) 21:40:51ここに貼っておきますね
686 名前:ぼるじょあ ◆yBEncckFOU [sage] 投稿日:2006/12/21(木) 21:30:41
(・3・) エェー 大沢あかねたんととアナ○セックスしたいなあ・・・切実だお
最低で250万までなら余裕で出せるお
肛○のなかに発射してしばらく挿入したままで余韻を味わって
最後に中に放尿して引き抜いたそれをあかねたんの口できれいに
掃除して貰いたいお・・・はあ・・・。
688 名前:ぼるじょあ ◆yBEncckFOU [sage] 投稿日:2006/12/21(木) 21:32:01
(・3・) エェー >>686誤爆だお、すまんお
>>685 パーズw
0187139
2006/12/22(金) 04:22:230190190
2006/12/22(金) 12:35:48いきなりですが学校の課題で年賀状のあたり番号をチェックするという
プログラムを作っています。
そこで当選番号の数字を数字を入力するという作業が必要になるのでそのプログラムを
作成しようとしているのですが作れませんOTL
具体的に言うと
1等は6桁の数字なんですが文字も打てるようになってしまっています
文字を打つとはじくようにしたいです。
あと6桁という限定が上手くいかないですOTL
5桁でも通過してしまうし・・・・
0191190
2006/12/22(金) 12:36:53ところだけ書き出しておきますのでどこが悪いか見ていただけると幸いです
/*年賀状の当選番号を入力*/
for(i=0;i<=3;i++){
printf("%d等の年賀状当選番号を入力してください。\n",i+1);
if(i<3)
printf("%d等は%d桁です。\n",i+1,6-i);
if(i==3)
printf("4等は2桁です。\n");
while(rank==0){
scanf("%ld",&tousen[i]);
if(tousen[i]<=999999 && i==0 && tousen[i]>=100000)/*1等の当選番号を入力(*指定されるべきである*/
rank=1;
else if(tousen[i]<=99999 && i==1 && tousen[i]>=10000)/*2等の当選番号を入力*/
rank=1;
else if(tousen[i]<=9999 && i==2 && tousen[i]>=1000)/*3等の当選番号を入力*/
rank=1;
else if(tousen[i]<=99 && i==3 && tousen[i]>=10)/*4等の当選番号を入力*/
rank=1;
else
printf("桁数が違いますねぇ\n");/*桁数が違った時ははじくようにする*/
}
rank=0;
}
0192ぼるじょあ ◆yBEncckFOU
2006/12/22(金) 13:15:39(・3・) エェー とりあえずヒントになりそうなコードを作ったから
改造して作ってみろお
<conio.h>を忘れずにな、だお
お礼は大沢あかねたんのエロい画像でいいお、コラも大歓迎
0193ぼるじょあ ◆yBEncckFOU
2006/12/22(金) 13:16:15http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3255.txt
0194ぼるじょあ ◆yBEncckFOU
2006/12/22(金) 13:31:28クリスマスプレゼントなんてめんどくせーお、まったく
あとは肥満児homoじょあ氏にまかせるべ
0195デフォルトの名無しさん
2006/12/22(金) 15:25:29>変数が何かはいちいち説明するのは面倒なので書きませんが
人に教えてもらうくせに、面倒だから書かないって…
死ねば?
0196デフォルトの名無しさん
2006/12/22(金) 16:12:100197デフォルトの名無しさん
2006/12/22(金) 16:17:27そんなことはどうでもいい。
「面倒だから書かない」という発想が問題だと言っているんだよ。
0198デフォルトの名無しさん
2006/12/22(金) 16:20:52ぼるじょあじゃないくせに文句言うな
0199デフォルトの名無しさん
2006/12/22(金) 16:25:36当選番号は、先頭が0のものも含むの普通。
0200デフォルトの名無しさん
2006/12/22(金) 16:28:16言い返せなくなったら「黙っとけ」かよw
どこの小学生だ?
0201デフォルトの名無しさん
2006/12/22(金) 16:32:450202デフォルトの名無しさん
2006/12/22(金) 16:34:320203デフォルトの名無しさん
2006/12/22(金) 16:40:14ソフトなんだから頭もソフトにね♪
いや、冗談抜きに
0204デフォルトの名無しさん
2006/12/22(金) 16:42:54言い返せなくなったら「黙っとけ」かよw
どこの小学生だ?
0205ぼるじょあ ◆yBEncckFOU
2006/12/22(金) 17:03:120206デフォルトの名無しさん
2006/12/22(金) 18:11:480207デフォルトの名無しさん
2006/12/22(金) 18:14:09一言じゃ回答しようがないよ
>>1読んで質問し直せ
0208デフォルトの名無しさん
2006/12/22(金) 18:32:04言い返せなくなったら「黙っとけ」かよw
どこの小学生だ?
0209デフォルトの名無しさん
2006/12/22(金) 20:29:28207は、黙っとけどころか、むしろ
「一言じゃ宿題内容わからないから、もっと書け」
と読めるのだが…
0210ぼるじょあ ◆yBEncckFOU
2006/12/22(金) 22:20:21http://pc8.2ch.net/test/read.cgi/tech/1165022193/
で質問していた人を客引きしたから怒ってるのかお?
でもそこの人たち頭悪すぎるw
回答できないから質問者を煽ってるようなレスが目立つし
ヒントを出してるけど問題解決にいたらないヒントだし必ずレスの末尾に
嫌味を付け加えることも忘れないwなぜなら自分の無能さを隠すため
それと解決策が低レベルすぎて屁が出るお
0211ぼるじょあ ◆yBEncckFOU
2006/12/22(金) 22:21:30なんだと思う?
23時頃に股来るから回答頼むお
0212デフォルトの名無しさん
2006/12/22(金) 22:52:26>なぜなら自分の無能さを隠すため
>なぜなら自分の無能さを隠すため
>なぜなら自分の無能さを隠すため
>なぜなら自分の無能さを隠すため
>なぜなら自分の無能さを隠すため
>なぜなら自分の無能さを隠すため
>なぜなら自分の無能さを隠すため
>なぜなら自分の無能さを隠すため
0213ぼるじょあ ◆yBEncckFOU
2006/12/22(金) 23:09:45(・3・) エェー ブッブーーはずれだお
答えはhttp://pc7.2ch.net/test/read.cgi/pcqa/1165444939/523を見てくれお
それじゃ英気を養うためにもう寝るべ
しばらく回答できなくなってしまうけどごめんだお
0214デフォルトの名無しさん
2006/12/22(金) 23:25:530215デフォルトの名無しさん
2006/12/23(土) 13:27:29CPUパワーを活用するための kbhit() ですか?
0216デフォルトの名無しさん
2006/12/23(土) 13:40:352.キーボードから一文字入力し入力された文字によって表示内容を変更する。
入力文字がaなら優、bなら良、cなら可、それ以外は不と表示する。
3.1 Linux
3.2 gcc 3.4
3.3 C言語
4. 12月24日まで
5. できるだけ簡単に理解できるのでお願いします。
0217デフォルトの名無しさん
2006/12/23(土) 13:51:58これが一番難しい
0218デフォルトの名無しさん
2006/12/23(土) 14:00:44どのレベルの宿題までおkなんだろうか…
0219216
2006/12/23(土) 14:01:05気にせずお願いします。
0220デフォルトの名無しさん
2006/12/23(土) 14:08:06int main(void)
{
int moji;
char *print_string="不";
printf("キーボードから一文字入力して下さい\n");
moji=getchar(); /* #include<conio.h> moji=getche(); */
switch(moji)
{
case 'a': print_string="優"; break;
case 'b': print_string="良"; break;
case 'c': print_string="可"; break;
}
printf("\n%s\n", print_string);
return 0;
}
0221デフォルトの名無しさん
2006/12/23(土) 15:32:120222ぼるじょあ ◆hZ8e4Wjqvw
2006/12/23(土) 22:06:00コテハンって面倒だからまたすぐ名無しになるかもだお
0223ぼるじょあ ◆yBEncckFOU
2006/12/23(土) 22:19:180224ぼるじょあ ◆hZ8e4Wjqvw
2006/12/23(土) 22:21:490225デフォルトの名無しさん
2006/12/24(日) 00:47:13じゃあやめてしまえ
0226ぼるじょあ ◆hZ8e4Wjqvw
2006/12/24(日) 01:10:49(・3・) エェー スレタイの為に おいらはぼるじょあになったんだお
回答できるのは簡単な問題だけだけどNA!
0227デフォルトの名無しさん
2006/12/24(日) 01:48:42ぼるじょあ ◆yBEncckFOU がぼるじょあだ
それ以外は認められない
回答したいなら他のスレ行け
0229ぼるじょあ ◆hZ8e4Wjqvw
2006/12/24(日) 09:32:05(・3・) エェー 問題文の意味がいまいち分からないYO!
実行例を書いて欲しいYO!
関数呼出
hoge("a,b, cdefg hij", ",");
出力
ab cdefg hij
でいいのかNA?
0230ぼるじょあ ◆hZ8e4Wjqvw
2006/12/24(日) 09:36:330231デフォルトの名無しさん
2006/12/24(日) 12:41:060232190
2006/12/25(月) 15:30:57ヒントを頼りにやったらなんとか作成することが出来ました。
まずは、ありがとうございます。
しかし今日提出をしようとしたら>>199さんの言っていたことを教授に突っ込まれて
しまいましたOTL
今、必死に直していますがわかりません、お願いします・・・・
0234デフォルトの名無しさん
2006/12/25(月) 17:22:06(1)文字列のリストをファイルから文字列の2次元配列に読み込み、
キーボードから読み込んだ文字列を逐次探索するプログラムを作成する。
(2)2次元の配列とポインタの配列を使って文字列のソートを行う
プログラムを作成する。ただしデータはファイルから入力し結果は
ファイルに出力するものとする。またアルゴリズムは単純選択法を
使うこと。2次元配列に読み込んだ文字列は移動せず、ポインタを
付け替えることによりソートを行うこと。
0235デフォルトの名無しさん
2006/12/25(月) 17:39:11>>1
0237デフォルトの名無しさん
2006/12/26(火) 00:53:52strchrを使って、検索単語以降の文字列の出し方は分かったけど、
「その特定の文字以前の文字列」の出し方はどうすればよくて?
0238デフォルトの名無しさん
2006/12/26(火) 01:35:25l = strchr(a,c)-a;
for(i=0; i<=l; i++) putchar(a[i]);
使わないなら
for(i=0;;i++) {
putchar(a[i]);
if(a[i]==c) break;
}
0239デフォルトの名無しさん
2006/12/26(火) 07:56:13char * str = "abcdefg";
char * p = strchr(str, 'd');
printf("%.*s", p - str, str);
0240デフォルトの名無しさん
2006/12/26(火) 08:26:38それだとdが表示されなくね?
0241デフォルトの名無しさん
2006/12/26(火) 08:51:50特定文字も出すのかな。
それならp - strをp - str + 1に。
0244ぼるじょあ ◆hZ8e4Wjqvw
2006/12/27(水) 22:57:55(・3・) エェー 条件の確認くらいして、>>1のテンプレに沿ってくれYO!
とりあえず、適当に作ってみたYO!
(1) http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3287.c
(2) http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3288.c
0245デフォルトの名無しさん
2006/12/28(木) 09:33:53[2] 問題文(含コード&リンク):半角文字10文字を打って(数字含む)10文字なら真、
10文字以外なら偽と出力するプログラムを作成せよ
[3] 環境
[3.1] Windows
[3.3] 言語:C
0246ぼるじょあ ◆hZ8e4Wjqvw
2006/12/28(木) 09:41:57#include<stdio.h>
#include<string.h>
int main(void)
{
char buf[100]="";
printf("文字列を入力して下さい:");
fgets(buf, sizeof(buf), stdin);
if(buf[strlen(buf)-1]=='\n')
buf[strlen(buf)-1]='\0';
if(strlen(buf)==10)
printf("真\n");
else
printf("偽\n");
return 0;
}
0247245
2006/12/28(木) 10:34:140248デフォルトの名無しさん
2006/12/28(木) 13:07:43このような問題を解決しなければならなくなってしまいました。どうか教えてください。課題を教えてくださるスレッド(?)が書き込みできなくなっていたので、
こちらに書き込ませていただきました。
【質問テンプレ】
[1] 授業単元:基礎情報処理
[2] 問題文:縦100横100のマス目(点)に分けられた紙の各点が、白と黒に塗り分けられたものを考える。この中に、下にある様な黒い点で囲まれた図形が1つだけある。図形は必ず、黒い点で囲まれており、
内部は白い点で埋め尽くされている。この「囲まれている」とは、各黒い点の上下左右および8つの点のどれかが黒い点となっているものと考えよう。
□□□□□□□□□□
□□■■■■■■□□
□■□□□□■□□□
□□■□□□□■□□
□□■□□□□■□□
□□■■■■■■□□
□□□□□□□□□□
□□□□□□□□□□
□□□□□□□□□□
□□□□□□□□□□
この図形は整数値の2次元配列(例えばC言語ならa[y,x])で表されている。x軸は左から右、y軸は上からしたとするので、a[1,1]は一番左上の点になる。この配列はプログラムに入る前に何らかの方法で、白い点は0、黒い点は1になっているものとする。
さて、図形の面積、つまり黒い点で囲まれた内部の「白い点」の数を数えるプログラムを考えよう。ただし図形は必ず紙の上に1つだけ存在し、また必ず紙の端から点1つ以上ずつ少し離れた位置にあるとする(つまり黒い点は紙の上下左右の端には存在しない)。
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン: すみません、よくわかりません
[3.3] 言語: なんでもかまいません。
[4] 期限: 2007年1月5日0時まで
[5] その他の制限:まだ何も習っていません。具体的に回答を提示してくれると助かります。
0249デフォルトの名無しさん
2006/12/28(木) 13:18:39http://pc8.2ch.net/test/read.cgi/tech/1167036858/61
マルチ
0250ぼるじょあ ◆hZ8e4Wjqvw
2006/12/28(木) 14:00:12(・3・) エェー マルチポストは、「てめぇなんかあてにならない」って意思表示だYO!
一応解いたけどパスワード付けといた、パスは気が向いたら書きこむかもNE!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3292.zip
0251デフォルトの名無しさん
2006/12/28(木) 14:06:58すみません。
どこに書くのが一番適正なのかよくわからなくて・
ここのような宿題を教えてくださるスレッド(?)も多くて、
最初に見つけたのがこちらでしたので・・すみません。
0252デフォルトの名無しさん
2006/12/28(木) 14:12:080253デフォルトの名無しさん
2006/12/28(木) 14:42:070254ぼるじょあ ◆hZ8e4Wjqvw
2006/12/28(木) 14:46:110255デフォルトの名無しさん
2006/12/28(木) 14:52:33質問者と253は別人です。
このスレッドのルールというかモラルを違反したことはとても反省しています。
ですから気が向いていただけないでしょうか・・
0256デフォルトの名無しさん
2006/12/28(木) 14:59:00printf("%p %p", a, &a);
の違いが分からん
0257デフォルトの名無しさん
2006/12/28(木) 15:01:08>256が何と何の違いが判らんのか
分からん
0258デフォルトの名無しさん
2006/12/28(木) 15:03:12int a[10];
みたいに a が配列の時の話だろ?
0259デフォルトの名無しさん
2006/12/28(木) 15:03:27自分で問題を解く・・・時間がかかる上に努力が必要。
よって>>254の指摘は的を得ていない。
0260デフォルトの名無しさん
2006/12/28(木) 15:06:480261デフォルトの名無しさん
2006/12/28(木) 15:09:300262デフォルトの名無しさん
2006/12/28(木) 15:24:15(void *)NULL と (void **)NULL の違いみたいに
値は一緒で意味が違う。
うまく説明できない orz
0263デフォルトの名無しさん
2006/12/28(木) 15:57:00#include <iostream> #include <cstring> #include <cstdlib> #include <ctime>
using namespace std;const unsigned int N = 100;void get_randam(int block[N][N]);
void paint(int block[N][N], int x, int y);void make_ans(int block[N][N]);int main(){
int block[N][N], *p, i = 1;srand(static_cast<unsigned int>(time(NULL)));get_randam(block);
for(p = &block[0][0]; p <= &block[N-1][N-1]; p++, i++){ switch(*p){case 0: cout << " □"; break;
case 1: cout << " ■"; break; case 2: cout << " *"; break; default:cout << " E"; break; }if(i % N == 0) cout << '\n';
} cout << '\n';make_ans(block);for(p = &block[0][0]; p <= &block[N-1][N-1]; p++, i++){
switch(*p){case 0: cout << " *"; break; case 1: cout << " ■"; break; case 2: cout << " □"; break;
default:cout << " E"; break; }if(i % N == 0) cout << '\n'; }unsigned j = 0;for(p = &block[0][0]; p <= &block[N-1][N-1]; p++, i++)
if(*p == 0) j++;printf("面積 %d \n",j);return 0;}
void get_randam(int block[N][N]){ int *p;for(p = &block[0][0]; p <= &block[N-1][N-1]; p++)
*p = rand() % 2; } void paint(int block[N][N], int x, int y){ if( x<0 || y<0 || x>=N || y>=N || block[y][x] != 0) return;
block[y][x] = 2; paint(block, x+1, y);paint(block, x-1, y);paint(block, x, y+1);paint(block, x, y-1); }
void make_ans(int block[N][N]){ int i; for(i = 0; i < N; i++){ paint(block, 0,i);paint(block, N-1,i);
paint(block, i,0);paint(block, i,N-1); } }
これをC言語に直して(それくらいは出来るだろ)。あと図形なんかいちいち作ってられんから
ランダムにした。あとコンソール出力さしてるけど、必要ないなら消して。
0264デフォルトの名無しさん
2006/12/28(木) 19:22:48これだけ短かったらPikaZipとかでランダムに当たっても
すぐ解けると思うなぁ
0265デフォルトの名無しさん
2006/12/28(木) 20:13:03ツール名は出さずに、総当たりプログラムを組んでうpしてあげるのが粋なやり方
パス付でうpな
0266ぼるじょあ ◆hZ8e4Wjqvw
2006/12/28(木) 22:56:56(・3・) エェー 立派なソースコードじゃないし、書こうと思ってももいらには無理だお
こんなものにパス解析の手間をかけるくらいなら自分でやれってことだったんだYO!
このネタで引っ張られるのも面白くないし、お客さんがいてこそだからパス公開。
(・3・)
ぼるじょあの顔文字だYO! (文字コードはSJISで全角5文字10byte)
むきになって正直すまんかった m(__)m
0267デフォルトの名無しさん
2006/12/28(木) 23:38:230268デフォルトの名無しさん
2006/12/29(金) 00:51:05とりあえず、中国語とかぶっこんどけばまず解けないだろう
0269デフォルトの名無しさん
2006/12/29(金) 01:46:37(・3・) エェー 大沢あかねたんととアナ○セックスしたいなあ・・・切実だお
最低で250万までなら余裕で出せるお
肛○のなかに発射してしばらく挿入したままで余韻を味わって
最後に中に放尿して引き抜いたそれをあかねたんの口できれいに
掃除して貰いたいお・・・はあ・・・。
0270デフォルトの名無しさん
2006/12/29(金) 02:24:12ぼるじょあってK&R信者なの?
0271デフォルトの名無しさん
2006/12/29(金) 02:51:54言語: なんでもかまいません
てwwwwww
これじゃできてもできなくても同じじゃね?w
0272ぼるじょあ ◆H6wikgcXIU
2006/12/29(金) 08:45:11もしかして>>248さんと同じ大学か先生だったりしてYO
0274ぼるじょあ ◆hZ8e4Wjqvw
2006/12/29(金) 09:55:25(・3・) エェー 期限過ぎちゃったかNA?
とりあえず質問だYO!
1.x-y 平面だけで考えればいいの?
2.障害の数は?
3.障害の向きはすべて y軸 と同じ?
4.風速は場所にかかわらず一定?
5.風の向きは x軸 方向のみ?
6.的の座標は?
0276デフォルトの名無しさん
2006/12/29(金) 19:44:34なんかプログラムぜんぜん教えてもらってないのに、
いきなり書けとか言われたんすよw
教養課程の授業なんでみなさんみたいに技術者になるとこじゃないんです。
大学は熱狂的な政治活動をして、しばしば批判を浴びる、
関西のあの大学です。
0277デフォルトの名無しさん
2006/12/29(金) 20:16:170278ぼるじょあ ◆hZ8e4Wjqvw
2006/12/29(金) 22:15:16(・3・) エェー 問題文よく読んでなくてごめんYO! ファイルに出力するようにしたYO!
(2) http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3293.c
0279ぼるじょあ ◆hZ8e4Wjqvw
2007/01/10(水) 03:04:06ダメっぽいときはすぐにギブアップするけどNE!
0280デフォルトの名無しさん
2007/01/10(水) 03:10:010281デフォルトの名無しさん
2007/01/10(水) 15:58:570282ぼるじょあ ◆yBEncckFOU
2007/01/11(木) 23:50:16それとも冬休み中で課題がないから盛り上がってないだけかお?
0283デフォルトの名無しさん
2007/01/11(木) 23:57:510284ぼるじょあ ◆yBEncckFOU
2007/01/12(金) 00:09:14w
0285175
2007/01/13(土) 18:25:10ぼるじょあ様、お返事が遅くなり申し訳ありません。
以下に指摘されているとおりの出力結果を求めたいのです。
書き込みしてから反応もなかったので諦めていましたが、反応していただけて
いたみたいで嬉しいです。今更ですが、お願いできますか?
229 :ぼるじょあ ◆hZ8e4Wjqvw :2006/12/24(日) 09:32:05
>>175
(・3・) エェー 問題文の意味がいまいち分からないYO!
実行例を書いて欲しいYO!
関数呼出
hoge("a,b, cdefg hij", ",");
出力
ab cdefg hij
でいいのかNA?
0286デフォルトの名無しさん
2007/01/13(土) 19:38:40[2] 問題文(含コード&リンク): テキストファイルを読み込み、文字列を配列に代入せよ
[3] 環境
[3.1] OS:Windowsxp
[3.2] コンパイラ名とバージョン:.NET ver1.1
[3.3] 言語: C
[4] 期限: 2007年1月14日
[5] その他の制限:ファイルポインタ程度まで習っていますよろしく願いします
0287デフォルトの名無しさん
2007/01/13(土) 19:46:33すみません。出力も追加してください
0288ぼるじょあ ◆hZ8e4Wjqvw
2007/01/14(日) 00:00:46(・3・) エェー 無理矢理 strchr memset memcpy を使うのは難しいYO!
実をいうと ◆hZ8e4Wjqvw はC++は分からないんだYO! ごめんNE!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void hoge(const char *src, int remove_char){
char *dest_top, *dest, *remove_char_addr;
int copy_length;
dest_top=dest=strdup(src);
memset(dest_top, '\0', strlen(src));
while(1){
remove_char_addr=strchr(src, remove_char);
if(remove_char_addr==NULL)
break;
copy_length=remove_char_addr-src;
memcpy(dest, src, copy_length);
src+=copy_length+1;
dest+=copy_length;
}
strcpy(dest, src);
printf("%s", dest_top);
free(dest_top);
}
int main(void){
hoge("a,b, cdefg ,,,hij", ',');
return 0;
}
0289ぼるじょあ ◆hZ8e4Wjqvw
2007/01/14(日) 00:17:36(・3・) エェー とりあえず単語一つ分だけ配列に代入して、出力するYO!
多分やりたいこととは違うと思うけどNE!
#include<stdio.h>
int main(void)
{
char *filename="テキストファイル";
char word[1024];
FILE *fp;
fp=fopen(filename, "r");
if(fp==NULL)
{
fprintf(stderr, "\nError: %s file cannot open.\n", filename);
return 1;
}
fscanf(fp, "%1023s", word);
printf("%s\n", word);
fclose(fp);
return 0;
}
0290デフォルトの名無しさん
2007/01/14(日) 00:25:33[2] 問題文(含コード&リンク):
優先的選択モデルによるSFN(Scale Free Network)の生成
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3373.txt
↑の/* 自分で書いてください*/の部分の穴埋め
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: bcc32
[3.3] 言語: C++
[4] 期限: 1/15
[5] その他の制限:
使用する方法:ソート、再帰的アルゴリズム、線形リスト、動的なメモリの確保
他スレでも質問したのですが、誰も答えていただけないので、
ぼるじょあ様、宜しくお願いいたします。
0291デフォルトの名無しさん
2007/01/15(月) 22:45:59[2] 問題文:学籍番号(5桁の英数文字列)、英、数、国の得点(各100点満点)を
次々に読み込んで、各人の総得点を計算の上、�@読み込んだ順に
各人のデータを、�A各人の平均と標準偏差を次の形に出力する
cプログラムを作成せよ。
但し、プログラム作成においては
・学生の人数は100人以下で不定とする。(100人以下なら何人でも、
プログラムを修正せずにうまく対処しなければならない)
・学生一人のデータは構造体としてまとめて、それにStudentという
データ型名をつけること。
・Student型を要素とする配列を用意してプログラムを組むこと。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: Cのみ
[4] 期限: 2007年1月10日12:00まで
その他:得点データはファイルから読み込みます。./a.out<ファイル名 といった風に
0292デフォルトの名無しさん
2007/01/15(月) 22:47:15Id-No Eng Math Jap Total
----- --- ---- --- -----
G0342 44 65 51 160
G0343 83 100 84 267
G0344 58 30 57 145
.
.
.
G3621 85 80 90 255
G3622 74 100 65 239
------------------------------
Ave 72.5 75.8 68.1 216.4
Dev 15.3 19.6 12.4 33.3
0293デフォルトの名無しさん
2007/01/15(月) 22:48:15何を。
0294デフォルトの名無しさん
2007/01/15(月) 23:30:310295デフォルトの名無しさん
2007/01/15(月) 23:42:59期限切れ?
0296デフォルトの名無しさん
2007/01/15(月) 23:47:390297ぼるじょあ ◆hZ8e4Wjqvw
2007/01/16(火) 05:49:56(・3・) エェー 入力されるファイルのフォーマットが不明だったから適当だYO!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3410.c
0298デフォルトの名無しさん
2007/01/16(火) 16:11:26[2] 問題文(含コード&リンク):
・25個の値をrand関数(乱数)によって発生させ、一旦5×5の2次元配列に格納する(値は1から100の範囲)
・入力された値が配列内に存在するか探索する。
*存在する場合その値が格納されている配列の添え字を表示すること
*存在しない場合は、その旨を表示する
・値の一覧もあわせて表示し、これらの結果をすべてファイルに出力する。
・レポートの実行結果には、出力したテキストファイルの内容も記載すること。
・必ず自作関数を使ったプログラムにすること
・繰り返しは何度でも探索できるようにする。その際、必ず終了する場合の入力値を示せ。
[3] 環境
[3.1] OS: (Windows等々)
[3.2] コンパイラ名とバージョン: ( VC ++6.0)
[3.3] 言語: C++
[4] 期限: ([2007年1月16日23:30まで]
[5] その他の制限: C言語の初歩は習いました。
もしできるかたがいましたら、お願いします
0299デフォルトの名無しさん
2007/01/16(火) 19:36:42[2] 問題文(含コード&リンク):"in_file"という名前のファイルの中に多数の整数データが空白や
改行コードで区切られて並んでいることを仮定した上で、このファイルの中のデータを
1行に5個ずつきれいに並べて"out_file"という名前のファイルに出力するcプログラムを作成せよ。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限:1月29日
例えば、入力ファイル"in_file"の内容が
11111111 3333333 44444 32 35 34 24 53 242
254 35 532 5235 3452 3545 34
63 54
の時には、このプログラムは次のような出力ファイル"out_file"に書き出す。
11111111 33333333 44444 32 35
34 24 53 242 254
35 532 5235 3452 3545
34 63 54
0300299
2007/01/16(火) 19:37:38見てください。書き方が下手でスミマセン
0301 ◆3NOHgX5ZKI
2007/01/16(火) 19:57:01toupper use good programu これを大文字にする問題です
↓
Toupper Use Good Programu にしたいんですが、、、わかりますでしょうか?
よろしくお願いします<(_"_)>
0302デフォルトの名無しさん
2007/01/16(火) 22:30:52{
char *p = ss;
while(*p!='\0'){
//空白を読み飛ばす
while(*p==' '&&*p!='\0'))p++;
*p = toupper(*p);
while(*p!=' '&&*p!='\0'))p++;
if(*p == '\0')break;
}
}
0303デフォルトの名無しさん
2007/01/16(火) 22:31:290304デフォルトの名無しさん
2007/01/16(火) 23:17:18何の冗談?
0305ぼるじょあ ◆hZ8e4Wjqvw
2007/01/16(火) 23:55:58(・3・) エェー >>1 の質問テンプレを活用してくれYO!
#include<stdio.h>
#include<ctype.h>
void word_top_upper(char *str){
int is_word_top=1;
for(;*str;str++){
if(is_word_top) *str=toupper(*str);
if(isspace(*str)) is_word_top=1;
else is_word_top=0;
}
}
int main(void){
char buf[]="toupper use good programu";
printf("%s\n", buf);
word_top_upper(buf);
printf("%s\n", buf);
return 0;
}
0306デフォルトの名無しさん
2007/01/17(水) 00:04:010308デフォルトの名無しさん
2007/01/17(水) 00:55:140309デフォルトの名無しさん
2007/01/17(水) 00:56:190310309
2007/01/17(水) 00:59:05もしかしてぼるじょあさんって一人じゃなかったりするんですか??複数いたり!?
0311ぼるじょあ ◆hZ8e4Wjqvw
2007/01/17(水) 17:33:32(・3・) エェー >>297 間違ってたYO!
double x_sum[SUBJECT_TOTAL], x2_sum[SUBJECT_TOTAL];
double ave[SUBJECT_TOTAL], dev[SUBJECT_TOTAL];
↓
double x_sum[SUBJECT_NUM], x2_sum[SUBJECT_NUM];
double ave[SUBJECT_NUM], dev[SUBJECT_NUM];
0312ぼるじょあ ◆yBEncckFOU
2007/01/17(水) 18:21:20(・3・) アルェー ぼるじょあはほるじょあだYo
ぼるじょあの中に色んなペルソナが居るけど、
みんなぼるじょあだYo
だけど>>311は偽ぼるじょあだYo
0313デフォルトの名無しさん
2007/01/17(水) 19:11:34using namespace std;
int main(void)
{
unsigned char x,y;
cout << "2つの値を入力してください。\n";
cin >> x >> y;
x -= '0';
y -= '0';
int a = x + y;
int b = x * y;
printf("x = %d, y = %d, x + y = %d, x * y = %d",x,y,a,b);
return 0;
}
これで出力したら10以上の数値が出ないんですが、
どうしたら出るようになるか教えてください。
0314デフォルトの名無しさん
2007/01/17(水) 19:30:44まぁ…がんばれ
0315デフォルトの名無しさん
2007/01/17(水) 19:33:38[2] 問題文(含コード&リンク):
入力したグレースケール(白黒)画像[256×256画素、8ビット256階調]を
8枚のビットプレーンに分解し、それぞれのプレーンを出力するプログ
ラムを作成せよ。
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc )
[3.3] 言語: (C)
[4] 期限:1/18 9:00
[5] その他の制限:
入力ファイルはnotファイルです。出力はnotファイル8枚作れればいいです。
0316ぼるじょあ ◆hZ8e4Wjqvw
2007/01/17(水) 19:38:34(・3・) エェー notファイルのフォーマットについて解説してくれYO!
解説しているサイトの URL でもいいYO!
0317315
2007/01/17(水) 19:58:38自分も今回初めてnotファイルの存在を知ったので正直詳しくないですが、
256×256画素、8ビット256階調の場合、256×256個の画素値が書かれた
ファイルです。画像として再現させる場合はSusieというプログラムを通
して画像を出します。
とこんな感じしか分からないです。すみません
0319315
2007/01/17(水) 20:09:490320ぼるじょあ ◆hZ8e4Wjqvw
2007/01/17(水) 20:20:36(・3・) エェー こんなもんかNA?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3432.c
0321ぼるじょあ ◆yBEncckFOU
2007/01/17(水) 20:23:55_, ,_
(・3・) エェー 「分からない」じゃなくて先生が考えた独自フォーマットだろ?
notファイルって何だよw
で、ビットプレーンは1画素当たり1バイト(つまり256x256x1バイトのビットプレーンが
8枚)で出力すればいいのかお?
たとえば入力画像の1画素の値が0xAFだった場合、
ビットプレーン0 0x80
ビットプレーン1 0x00
ビットプレーン2 0x20
ビットプレーン3 0x00
ビットプレーン4 0x08
ビットプレーン5 0x04
ビットプレーン6 0x02
ビットプレーン7 0x01
のようにバイナリで記録していけばいいのかお?ということだお
それとも詰めて(つまり256x256/8バイトのビットプレーンが8枚)出力すれば
いいのかお?
0323デフォルトの名無しさん
2007/01/17(水) 20:32:47最近偽者が多いみたいですね。残念です。
0326デフォルトの名無しさん
2007/01/17(水) 20:54:300327315
2007/01/17(水) 20:55:12ぼるじょあさん、ありがとうございます。
ずっと悩んでた問題なのにこんなにあっさりできちゃうなんてびっくりです。
>>324
はい、2階調のが8個できればそれぞれのビットプレーンから256階調の画像に
戻すこともできるので大丈夫です。
0328ぼるじょあ ◆yBEncckFOU
2007/01/17(水) 20:56:320331ぼるじょあ ◆hZ8e4Wjqvw
2007/01/17(水) 21:21:45(・3・) エェー 本物のぼるじょあの方が正解だったYO!
notファイルのフォーマットとやらに bpp が色々あるなんて考えてなかったYO!
修正版
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3433.c
0333ぼるじょあ ◆hZ8e4Wjqvw
2007/01/17(水) 21:44:350334315
2007/01/17(水) 21:56:51はい、結果オーライです。・・・それでさっきの問題続きがあって、
8ビットプレーンのうち、いずれかのプレーンを指定して透かし画像(�@ランダム画像、�Aロゴ画像)
と置き換えた透かし埋め込み画像を出力するプログラムを書く。また、それぞれの画像を表示した
結果を示す
って問題なんですけどよかったら続きも見ていただけませんか?
0335ぼるじょあ ◆hZ8e4Wjqvw
2007/01/17(水) 22:09:21256階調の画像に戻せばいいと思うYO!
0336315
2007/01/17(水) 22:14:450337デフォルトの名無しさん
2007/01/17(水) 23:26:34ぼるじょあさんってプログラム詳しいみたいだけど
どんなお仕事してる人なの?それともまだ学生??
0339315
2007/01/18(木) 00:16:02ぼるじょあさん、助けてもらえませんか?
0340デフォルトの名無しさん
2007/01/18(木) 00:51:02え〜
よけい知りたくなるじゃん!!
0341デフォルトの名無しさん
2007/01/18(木) 10:36:54できませんよ。。エラーでてw
0342デフォルトの名無しさん
2007/01/18(木) 10:51:56・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
0343デフォルトの名無しさん
2007/01/18(木) 10:59:11[2] 問題文(含コード&リンク):
コピー プログラムを書いてください。 次のように、
第 1 引数をコピー元、第 2 引数をコピー先ファイル
名として扱ってください。
% ./a.out コピー元ファイル名 コピー先ファイル名
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (どちらでも可)
[4] 期限: 明日まで
[5] その他の制限: ありません
0344デフォルトの名無しさん
2007/01/18(木) 11:20:15>>341
0345デフォルトの名無しさん
2007/01/18(木) 11:20:46[2] 問題文(含コード&リンク):
・テキストファイルを読み込んで指定した文字または文字列が何行目にあるか検索する。
・読み込むテキストファイルはコマンドライン引数から得る
・検索する文字、文字列はscanf()から得る
・scanf()から得た文字、文字列の配列はヒープで確保
・検索する文字、文字列がなければエラーメッセージを出して
再び文字、文字列を指定して再検索
・指定した文字、文字列がみつかれば、「○○は○行目にあります。」と表示する
・and検索、or検索もできるようにする
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:1月20日に提出
[5] その他の制限:
何を習ったかはここを見てください!学校バレますがw
http://ylb.jp/c/
http://ylb.jp/2006b/proc/index.html
http://www.kyoto-su.ac.jp/%7Eyamada/programming/programmingB.html
0346ぼるじょあ ◆hZ8e4Wjqvw
2007/01/18(木) 11:28:48(・3・) エェー 低速版できたYO!
#include<stdio.h>
int main(int argc, char *argv[]){
char *fname_in, *fname_out;
FILE *fp_in, *fp_out;
int moji;
if(argc!=3){
fprintf(stderr, "\nUsage: %s filename1 filename2\n", argv[0]);
return 1;
}
fname_in=argv[1];
fname_out=argv[2];
fp_in=fopen(fname_in, "rb");
if(fp_in==NULL){
fprintf(stderr, "\nError: %s file cannot open.\n", fname_in);
return 1;
}
fp_out=fopen(fname_out, "wb");
if(fp_out==NULL){
fprintf(stderr, "\nError: %s file cannot open.\n", fname_out);
fclose(fp_in);
return 1;
}
while((moji=fgetc(fp_in))!=EOF)
fputc(moji, fp_out);
fclose(fp_in);
fclose(fp_out);
return 0;
}
0347デフォルトの名無しさん
2007/01/18(木) 11:34:54toupper()を使っての問題を教えてもらったんですが
実行してもできませんでした
全部の文字を大文字という問題わかりますか?
0348デフォルトの名無しさん
2007/01/18(木) 11:35:37読み込むテキストファイルは
one two three four
five six seven
eight nine ten
をテスト用に使おうとしてましたがそこまでいかず・・・。
よろしくお願いします。
0349ぼるじょあ ◆hZ8e4Wjqvw
2007/01/18(木) 11:39:44(・3・) エェー リダイレクトを使ってファイル入力してNE!
例: a.out < a.c
#include<stdio.h>
#include<ctype.h>
int main(void)
{
int moji;
while((moji=getchar())!=EOF)
putchar(toupper(moji));
return 0;
}
0350ぼるじょあ ◆hZ8e4Wjqvw
2007/01/18(木) 11:45:58(・3・) エェー 全角空白はタブに置き換えて欲しいお
それともインデントつけない方がいいのかお?
0351デフォルトの名無しさん
2007/01/18(木) 13:16:12[2] 問題文(含コード&リンク):
配列{1,3,5,7,9,0,2,4,6,8}があるとき、insert関数とdel関数を使って、4番目の要素を削除し、7番目に10を挿入せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: visual studio.net
[3.3] 言語: C
[4]期限
1月19日
お願いします。
0352デフォルトの名無しさん
2007/01/18(木) 13:17:400353デフォルトの名無しさん
2007/01/18(木) 13:21:440354デフォルトの名無しさん
2007/01/18(木) 13:46:31またお前か
0355デフォルトの名無しさん
2007/01/18(木) 15:25:500356初心者
2007/01/18(木) 15:29:07[2] 問題文(含コード&リンク):
引数に渡された文字列 s を保持するのにぴったりの長さのメモリ領域を割り当て、その領域に文字列 s をコピーし、そのアドレスを返す関数 str_dup を完成させてください。
割り当てに失敗した場合は、NULLを返してください。文字列のコピーには strcpy を使用します。
#include <string.h> /* strlen 関数と strcpy 関数 */
char *str_dup(char *s){
char *p = NULL;
[ 空欄 1 ]
return p;
}
空欄をうめてください。
[3] 環境
[3.1] OS: Windowsです
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C)
[4] 期限: 明後日です
[5] その他の制限:ないです
0357ぼるじょあ ◆hZ8e4Wjqvw
2007/01/18(木) 16:06:22#include<stdio.h>
#include<string.h>
#define ONE_LINE_MAX 1024
int main(int argc, char *argv[]){
char *filename, one_line[ONE_LINE_MAX], word[ONE_LINE_MAX];
long line_count;
int is_word_found;
FILE *fp;
filename=argv[1];
fp=fopen(filename, "r");
if(fp==NULL){
fprintf(stderr, "\nError: %s file cannot open.\n", filename);
return 1;
}
while(1){
printf("検索する文字列を入力して下さい :");
scanf("%s", word);
fseek(fp, 0L, SEEK_SET);
line_count=0;is_word_found=0;
while(fgets(one_line, sizeof(one_line), fp)!=NULL){
line_count++;
if(strstr(one_line, word)!=NULL){
printf("%s は %ld 行目にあります\n", word, line_count);
is_word_found=1;
}
}
if(!is_word_found) printf("%s は見つかりませんでした\n", word);
}
fclose(fp);
return 0;
}
if((p=malloc(strlen(s)))){strcpy(p,s);}
0359ぼるじょあ ◆hZ8e4Wjqvw
2007/01/18(木) 16:18:10(・3・) エェー insert関数とdel関数は適当に作ったYO!
#include<stdio.h>
#define NITEM(array) (sizeof(array)/sizeof(array[0]))
void insert(int array[], int array_size, int index, int value){
int i;
for(i=array_size-2;i>=index;i--)
array[i+1]=array[i];
array[index]=value;
}
void del(int array[], int array_size, int index){
int i;
for(i=index;i<array_size-1;i++)
array[i]=array[i+1];
array[i]=0;
}
void disp(int array[], int array_size){
int i;
for(i=0;i<array_size;i++)
printf(" %d", array[i]);
printf("\n");
}
int main(void){
int data[]={1,3,5,7,9,0,2,4,6,8};
disp(data, NITEM(data));
del(data, NITEM(data), 4-1);
disp(data, NITEM(data));
insert(data, NITEM(data), 7-1, 10);
disp(data, NITEM(data));
return 0;
}
0361デフォルトの名無しさん
2007/01/18(木) 16:36:322次元配列の中の文字列をクリアするにはどうすればいいんでしょうか?
if((p=malloc(strlen(s)+1))){strcpy(p,s);}
0363デフォルトの名無しさん
2007/01/18(木) 17:21:200365デフォルトの名無しさん
2007/01/18(木) 18:26:11if(ch=='.') putchar('\n');
0366homoじょあ ◆5OLf4yFnuM
2007/01/18(木) 21:45:480367デフォルトの名無しさん
2007/01/18(木) 21:57:130368ぼるじょあ ◆yBEncckFOU
2007/01/18(木) 23:29:20hZ8e4Wjqvw氏が全部回答してくれたから出番なしだったお
いや嫌味を言ってるんじゃなくてhZ8e4Wjqvw氏も幅広い知識を持った
なかなか賢い人だと感じたお
0369ぼるじょあ ◆yBEncckFOU
2007/01/18(木) 23:30:31もいらはhomoじょあとかアナルじょあと呼ばれてるからたぶん本物じゃないお
0370ぼるじょあ ◆yBEncckFOU
2007/01/18(木) 23:32:21大沢あかねたんが好きだお
大沢あかねたんと結婚または愛人になってくれるなら
全財産なげうっていいお
0371ぼるじょあ ◆yBEncckFOU
2007/01/18(木) 23:34:373日間アナ○三昧なら500万までなら出せるお
0372デフォルトの名無しさん
2007/01/19(金) 00:28:22ありがとうございます!!
あと実行時に、何語で検索するか→1語ならそのまま検索、1語以上ならand検索かor検索か
とか言う流れにしたいのですが・・・
0373ぼるじょあ ◆hZ8e4Wjqvw
2007/01/19(金) 04:23:41(・3・) エェー notファイルはもうお腹いっぱいだYO!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3457.c
0374デフォルトの名無しさん
2007/01/19(金) 14:47:58[2] 問題文(含コード&リンク):
UNIX システムコールを利用して、以下の仕様を満たすプログラムを書いてください。
コマンドライン引数がない場合は、標準入力を標準出力へコピー
コマンドライン引数が 1 つある場合は、第 1 引数のファイルの内容を標準出力へコピー
コマンドライン引数が 2 つある場合は、第 1 引数のファイルの内容を第 2 引数のファイルにコピー
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C++)
[4] 期限: 明後日
[5] その他の制限:
#include<stdio.h>
int main(int argc,char* argv[]){FILE* src=stdin;FILE* dst=stdout;int c;
if(argc>=2)src=fopen(argv[1],"r");if(argc==3)dst=fopen(argv[2],"w");
if(argc<4)while((c=fgetc(src))!=EOF)fputc(c,dst);return 0;}
0376デフォルトの名無しさん
2007/01/19(金) 16:10:37[2] 問題文(含コード&リンク):アルゴリズムの説明をせよ
#include<stdio.h>
#include<stdlib.h>
//int main(int argc, char **argv){ //argvはコマンドライン引数のこと
int main(void){
int i,j,m,n,k1,k2;
int blank;
int hint[4];
int total;
[3] 環境
[3.1] OS: (Windows/Linux/等々) linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc
[3.3] 言語: C言語
[4] 期限: ([yyyy年mm月dd日hh:mmまで] 2007年1月23日まで
[5] その他の制限:なしです。お願いします
0377376
2007/01/19(金) 16:12:55int initial[4][4];
if((data = fopen("prob4-1.txt", "r"))==NULL) {
printf("ファイルを開くことはできません\n");
exit(1);}
for(i=0;i<4;i++){
for(j=0;j<4;j++){
fscanf(data,"%d",&initial[i][j]);}
blank=0;
}
for(i=0;i<4;i++){
for(j=0;j<4;j++)
printf("%4d",initial[i][j]);
printf("\n");} printf("\n");
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(initial[i][j]==0)
blank++;}}
printf("initial\n");
for(i=0;i<4;i++){
for(j=0;j<4;j++)
{
printf("%2d" ,initial[i][j]);}
printf("\n");}
0378376
2007/01/19(金) 16:15:59for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(initial[i][j]==0){
for(m=0;m<5;m++)
hint[m]=0;
for(n=0;n<4;n++){
if(initial[i][n]!=0)
hint[initial[i][n]]=1;}
for(n=0;n<4;n++){
if(initial[n][j]!=0)
hint[initial[n][j]]=1;}
k1=i/2;
k1*=2;
k2=j/2;
k2*=2;
for(m=k1;m<k1+2;m++)
for(n=k2;n<k2+2;n++){
if(initial[m][n]!=0)
hint[initial[m][n]]=1;}
total=(hint[1]+hint[2]+hint[3]+hint[4]);
for(m=1;m<5;m++)
if(total==3&&hint[m]==0){
initial[i][j]=m;
blank--;}}}
printf("result\n");
for(i=0;i<4;i++){
for(j=0;j<4;j++)
printf("%4d",initial[i][j]);
printf("\n"); }
fclose(data);
return 0;}書ききれなかったので追加します。すみません
0379デフォルトの名無しさん
2007/01/19(金) 16:27:03and検索or検索の機能の追加お願いします。
これできないと単位もらえないので焦ってます;
実行後、いくつの後で検索するかを決めて、その後andかor検索にするか決めて、
andの場合は「○○と○○を含む行は○行目」
orの場合は「○○を含むのは○行目、○○を含むのは○行目」
と表示させるようにしたいんです!
色々やって途中までできたものをうpしとくので、よろしくお願いします!!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3463.c
0380ニケ
2007/01/19(金) 17:05:48[2] 問題文(含コード&リンク):
banana melon orange appleなどと代入して、
辞書式のリスト構造を作り、それを出力する
プログラムを作りなさい
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語:C++
[4] 期限:できれば今日中がいいです。
[5] 2分探索木を最後に習いました。
ぼるじょあさん留年がかかってるのでお願いします。
0381ぼるじょあ ◆yBEncckFOU
2007/01/19(金) 17:08:270382デフォルトの名無しさん
2007/01/19(金) 17:12:44UNIXのシステムコールを使っとらんがな
0383デフォルトの名無しさん
2007/01/19(金) 17:20:21C言語なら俺に聞け(入門篇) Part 6
http://pc10.2ch.net/test/read.cgi/tech/1167325490/549
せっかく答えたのに無視ですか
氏ねよお前
0384デフォルトの名無しさん
2007/01/19(金) 17:25:35申し訳ないです…用事で出かけてました。
でも、ありがとうございました!!!
0385ニケ
2007/01/19(金) 17:40:22そう言わずにお願いしますYO!
ぼるじょあさぁん!!
0386ミケ
2007/01/19(金) 17:59:560387ニケ
2007/01/19(金) 18:04:44留年なんて言わなきゃ良かった…。
ホントに誰かお願いします!
0388ぼるじょあ ◆yBEncckFOU
2007/01/19(金) 20:00:21(・3・) エェー そんな曖昧な仕様の宿題なのかYO!
都合が悪いところは勝手に直してくれYO!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3465.c
0389ぼるじょあ ◆yBEncckFOU
2007/01/19(金) 20:03:06(・3・) あらためて>>380を読み返すとユーザーに入力させるんじゃなくて代入なのかYO!
しかも辞書式のリスト構造ってなんだYO!
とりあえず>>388は2分木だYO!
0390デフォルトの名無しさん
2007/01/19(金) 23:25:32[2] 適当な英文ファイルを読み込んで, アルファベット a 〜 z の各文字の出現回数をファイル frequency.txt に出力するプログラムを作成せよ.
ただし, 大文字と小文字は区別しないものとする.
※ fgets で文字列にデータを一行づつ読み込み, 文字列中の文字を一文字づつ調べて出現回数を配列に記録することにより数えよ. 例えば,
配列を int count[26] とすると, 'a' の個数を count[0] で, 'b' の個数を count[1] で, …, 'z' の個数を count[25] で数えるようにすればよい.
[3] 環境
[3.1] windows
[3.2] cygwin
[3.3] C
[4] 期限: 2007/1/21
[5] なるべく問題文に忠実に、難しすぎる書き方無しでお願いします。
0391ぼるじょあ ◆hZ8e4Wjqvw
2007/01/19(金) 23:45:00(・3・) エェー isalpha tolower は使ってもいいのかNA?
#include<stdio.h>
#include<ctype.h>
int main(void){
char *filename_in="適当な英文ファイル";
char *filename_out="frequency.txt";
FILE *fp_in, *fp_out;
char buf[256];
int i, count[26]={};
fp_in=fopen(filename_in, "r");
if(fp_in==NULL){
fprintf(stderr, "\nError: %s file cannot open.\n", filename_in);
return 1;
}
while(fgets(buf, sizeof(buf), fp_in)!=NULL){
for(i=0;buf[i]!='\0';i++)
if(isalpha(buf[i]))
count[tolower(buf[i])-'a']++;
}
fclose(fp_in);
fp_out=fopen(filename_out, "w");
if(fp_out==NULL){
fprintf(stderr, "\nError: %s file cannot open.\n", filename_out);
return 1;
}
for(i=0;i<26;i++)
fprintf(fp_out, "%c:%d\n", 'a'+i, count[i]);
fclose(fp_out);
return 0;
}
0392ニケ
2007/01/19(金) 23:47:32バイトで返事できなくてすみません。
ユーザーに打ってもらうのでこれで
大丈夫です。
ありがとうございました!
0393デフォルトの名無しさん
2007/01/20(土) 01:17:20ありがとうございます。使っていいのかどうか分かりませんけど
手伝ってもらったって感じで出すからそれでおkです。
0394デフォルトの名無しさん
2007/01/20(土) 08:38:260395ぼるじょあ ◆yBEncckFOU
2007/01/20(土) 08:39:010396ぼるじょあ ◆yBEncckFOU
2007/01/20(土) 08:39:500397デフォルトの名無しさん
2007/01/20(土) 10:20:34static int abc = 0;
abc++;
printf("%d,",abc);
}
呼び出した時にabcは
毎回ゼロ初期化されるのでしょうか?
それとも1,2,3,4,5・・・となるのでしょうか?
0399デフォルトの名無しさん
2007/01/20(土) 11:22:56[2] 問題文(含コード&リンク):
次のような構造体 node と変数 head があり、head は連結リストの先頭を指しています。 この関数 average は、ノードがない場合は 0 を返すものとします。
/* node 構造体と変数 head */
struct node {
char name[32]; /* 名前 */
int height; /* 身長 */
struct node *next; /* 次のノードへのポインタ */
};
struct node *head; /* 常に連結リストの先頭を指す変数 */
変数 head から順にすべてのノードを調べ、平均身長を返す関数 average
を完成させてください。
int average(void){
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc 3.4)
[3.3] 言語: (C)
[4] 期限: [無期限]
[5] その他の制限: お願いいたします
0400ぼるじょあ ◆hZ8e4Wjqvw
2007/01/20(土) 11:54:38(・3・) エェー これでいいかNA?
int average(void){
struct node *member;
long height_sum=0L;
int node_num, ret=0;
member=head;
for(node_num=0;member!=NULL;node_num++){
height_sum+=member->height;
member=member->next;
}
if(node_num>0) ret=height_sum/node_num;
return ret;
}
0401デフォルトの名無しさん
2007/01/20(土) 13:41:410402デフォルトの名無しさん
2007/01/20(土) 13:47:300403ぼるじょあ ◆yBEncckFOU
2007/01/20(土) 19:28:38(・3・) エェー ぼるじょあは自身をぼるじょあと認識した存在の総称だからぼるじょあの中には無数のペルソナがあって特定のお仕事や履歴ってものは無いんだYO!
強いて言えば宿題を片付けるのがお仕事だYO!
0404ぼるじょあ ◆yBEncckFOU
2007/01/20(土) 19:53:070405ぼるじょあ ◆yBEncckFOU
2007/01/20(土) 20:44:290406デフォルトの名無しさん
2007/01/20(土) 20:46:16アナゴさんについて詳しく教えて下さい!!><
0407ぼるじょあ ◆hZ8e4Wjqvw
2007/01/20(土) 22:25:20(・3・) エェー 本当に知りたいなら自分がどういう立場で、どういう理由で知りたいかを
真実っぽく書けば教えてくれるかも知れないYO!
多分君が期待していると思われる回答が返ってくると思うYO!
事実ではなくて欲しい答えが…
0408ぼるじょあ ◆yBEncckFOU
2007/01/20(土) 22:47:17(・3・) エェー くちぼるの厚さは最大部分で13.4�_、色はどどめ色、下唇の中央からちょい右に小さいほくろがあるお
臭いは腐った下痢便のにおいがするお
て、ちゃうわボケ!もいらは○ナルに詳しいんだお
大人の事情で1文字だけ伏せさせて貰ってるお
0409デフォルトの名無しさん
2007/01/21(日) 00:13:24ノリツッコミ下手やなぁw
0410ノリ
2007/01/21(日) 00:16:43うちはボケ専門だ
0411デフォルトの名無しさん
2007/01/21(日) 02:10:12未定義だったり処理系定義だったりする場合があるから、その答えはまずい。
今回の例では問題ないけど。
0412デフォルトの名無しさん
2007/01/21(日) 12:54:33[2] 問題文(含コード&リンク):
buildheap 関数を参考にして、親 >= 子を満たすヒープ構造
(根に最大値を持つヒープ構造)を構成する buildheap2 関数を作ってください。
/*
親の位置 p、配列の要素数 n、配列 heap を引数に取り、
p から下のヒープ構造を構成する関数 buildheap2
*/
void buildheap2(int p, int n, int heap[]){
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc 3.4)
[3.3] 言語: (どちらでも可)
[4] 期限: (無期限)
[5] その他の制限:
0413デフォルトの名無しさん
2007/01/21(日) 14:15:15[2] 問題文(含コード&リンク):キーボードから3つの線分(整数)を入力し、
その3つの線分で三角形を描くことができるなら"CAN MAKE A TRIANGLE"
描けないなら"CAN'T MAKE A TRIANGLE"と表示する。
[3] 環境
[3.1] OS: (Linux)
[3.2] コンパイラ名とバージョン: (gcc 3.4)
[3.3] 言語: (C言語)
[4] 期限: (無期限)
[5] その他の制限: (制御構造、論理演算子)
0414ぼるじょあ ◆hZ8e4Wjqvw
2007/01/21(日) 14:27:10(・3・) エェー 「3つの線分(整数)を入力し、」の部分があやしいけど
これでいいのかお?
#include<stdio.h>
int main(void){
int a, b, c;
printf("三角形の三辺の長さを入力して下さい :");
scanf("%d %d %d", &a, &b, &c);
if(a>0 && b>0 && c>0 && (-a+b+c)*(a-b+c)*(a+b-c)>0)
printf("\"CAN MAKE A TRIANGLE\"");
else
printf("\"CAN'T MAKE A TRIANGLE\"");
return 0;
}
0415デフォルトの名無しさん
2007/01/21(日) 14:46:08僕は大学の一年で、応用化学を専攻しています。教養の科目でプログラミングを取りました。
コンピュータの素晴らしさや、プログラミングの面白さを知りました。
そんな、プログラミングを軽々やっちゃうぼるじょあさんのことが知りたいので
いろいろ聞きました。ぼるじょあさん達のこと教えてください。
いつもありがとう
0416デフォルトの名無しさん
2007/01/21(日) 14:59:37/ ヽ_ .\
( ●)( ●) | ____
(__人__) | / \
l` ⌒´ | / ─ ─ \
. { |/ (●) ( ●) \
{ / | (__人__) |
,-、 ヽ ノ、\ ` ⌒´ ,/_
/ ノ/ ̄/ ` ー ─ '/>< ` ー─ ' ┌、 ヽ ヽ,
/ L_  ̄ / _l__( { r-、 .ト
_,,二) / ・ ・ 〔― ‐} Ll | l) )
>_,フ / }二 コ\ Li‐'
__,,,i‐ノ l × └―イ ヽ |
l i ヽl
0417デフォルトの名無しさん
2007/01/21(日) 16:11:32[2] 問題文(含コード&リンク):画面に「*」を用いて底辺が6文字分の長さ
を持つ直角三角形を表示する。for文を使用すること
実行イメージ
*
**
***
****
*****
******
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C言語
[4] 期限: 無期限
[5] その他の制限:お願いします
0418デフォルトの名無しさん
2007/01/21(日) 16:18:37int main(void){
char*p="\0******" + 6;
for(;*p;--p){
puts(p);
}
return 0;
}
0419デフォルトの名無しさん
2007/01/21(日) 17:13:26#include <stdio.h>
int main(void) {
static const int n = 6;
int i, j;
for (i = 0; i < n; i++) {
for (j = 0; j < i + 1; j++)
printf("*");
printf("\n");
}
return 0;
}
0420デフォルトの名無しさん
2007/01/21(日) 17:58:510421デフォルトの名無しさん
2007/01/21(日) 18:00:42buildheapって何だよ?
0422デフォルトの名無しさん
2007/01/21(日) 18:28:14ま、いいや。どちらでも可ってことだし、とりあえずC++で。
#include <algorithm>
void buildheap2(int p, int n, int heap[]) {
std::make_heap(heap + p, heap + p + n);
}
0423デフォルトの名無しさん
2007/01/21(日) 20:25:40[2] 問題文(含コード&リンク): 整数a,bを与えた時、a,bの
最大公約数(a,b),及びax+by=(a,b)を満たすx,y∈Z
を一組求めるプログラムを作れ。
(Zは整数全体の集合とする)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: どちらでも可
[4] 期限: 2007年1月22日
[5] その他の制限: 問題に、実行結果をいくつか添付することと書いて
あります。
お願いします。
0424デフォルトの名無しさん
2007/01/21(日) 20:39:36よろしくお願いします。
n 個のデータをキーボードから入力し,その平均と標準偏差を求めるプ
ログラムを作成せよ。データの個数n もキーボードから入力できるようにす
ること。
※例えば,5個のデータ50,60,70,80,90 の平均は70, 標準偏差は15.8である。
(テストデータとして入力し,結果を確認せよ)
0425デフォルトの名無しさん
2007/01/21(日) 20:55:55#include <stdio.h>
void extended_gcd(int a, int b, int *x, int *y, int *g) {
int tx = 0, lastx = 1, ty = 1, lasty = 0, temp, quotient;
while (b != 0) {
temp = b; quotient = a / b; b = a % b; a = temp;
temp = tx; tx = lastx - quotient * tx; lastx = temp;
temp = ty; ty = lasty - quotient * ty; lasty = temp;
}
*x = lastx; *y = lasty; *g = a;
}
int main(void) {
int i, a[] = {88, 84, 87, 84, 92, 78, 28, 90, 96, 54}, b[] = {70, 86, 81, 74, 96, 63, 50, 35, 14, 69}, x, y, g;
for (i = 0; i < sizeof(a) / sizeof(a[0]); i++) {
extended_gcd(a[i], b[i], &x, &y, &g);
printf("%d*%d+%d*%d=%d\n", a[i], x, b[i], y, g);
}
return 0;
}
【実行例】
88*4+70*-5=2
84*-1+86*1=2
87*-13+81*14=3
84*15+74*-17=2
92*-1+96*1=4
78*-4+63*5=3
28*9+50*-5=2
90*2+35*-5=5
96*-1+14*7=2
54*9+69*-7=3
0426デフォルトの名無しさん
2007/01/21(日) 21:02:09#include <stdio.h>
#include <math.h>
int main()
{
float input_data[99], heikin, hensa, sum_heikin=0, sum_hensa=0;
int i, n;
scanf("%d", &n);
for (i=0 ; i<n ; i++)
{
scanf("%f", &input_data[i]);
sum_heikin+=input_data[i];
printf("%f\n", sum_heikin);
}
heikin=(float)sum_heikin/n;
for (i=0 ; i<n ; i++)
{
sum_hensa= sum_hensa+(input_data[i]-heikin)*(input_data[i]-heikin);
}
hensa=sqrtf(sum_hensa/n);
printf("%f\n%f\n", heikin, hensa);
return 0;
}
0427423
2007/01/21(日) 21:03:56ありがとうございます!本当に助かりました!!
0428デフォルトの名無しさん
2007/01/21(日) 21:09:10#include<stdio.h>
#include<math.h>
int main(void){
double sum,input,heikin,hensa,sum2;
int n;
printf("入力されたデータの平均と標準偏差を求めます。\n");
printf("入力を終わらせたい時は000と入力して下さい。\n\n");
printf("データを入力して下さい\n");
n=0;
sum=0;
sum2=0;
while(input!=000){
n++;
printf("%d番目のデータ:",n);
scanf("%lf",&input);
sum=sum+input;
sum2=sum2+input*input;
}
heikin=sum/(n-1);
hensa=sqrt((sum2/n-1)-(heikin*heikin));
printf("平均:%lf\n",heikin);
printf("標準偏差:%lf\n",hensa);
return(0);
}
0429ぼるじょあ ◆hZ8e4Wjqvw
2007/01/21(日) 21:21:10(・3・) エェー n-1を括弧で括ってないから間違ってるYO!
あと、質問テンプレの標準偏差の数値は不偏分散の二乗根みたいだYO!
0430デフォルトの名無しさん
2007/01/21(日) 21:47:02[2] 問題文(含コード&リンク):相手にメールを送り、受け取った人がそれを開くと
自動的にドレミファソラシドの音を繰り返すプログラムを作成せよ。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C/C++どちらでも可
[4] 期限:2007/2/4
[5] その他の制限:音階は特に気にしなくていいです
0431デフォルトの名無しさん
2007/01/21(日) 22:14:170432デフォルトの名無しさん
2007/01/21(日) 22:51:02です。書き忘れ。
0433デフォルトの名無しさん
2007/01/21(日) 23:48:28>自動的にドレミファソラシドの音を繰り返す
この部分はメーラー依存になるな
VBSでいいのか?
0434デフォルトの名無しさん
2007/01/22(月) 00:11:010435デフォルトの名無しさん
2007/01/22(月) 10:10:38[2] 問題文(含コード&リンク):
中心の要素は a[(left+right)/2] で求めることができます。
この要素を左側の要素と交換すれば、同じプログラムを利用できます。
クイックソートの軸として、中心の要素の値を使うことが一般的です。
quicksort 関数を変更してください。
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc 3.4)
[3.3] 言語: (C)
[4] 期限: (明後日)
[5] その他の制限:
0437デフォルトの名無しさん
2007/01/22(月) 20:38:010438デフォルトの名無しさん
2007/01/22(月) 20:38:240439ぼるじょあ ◆hZ8e4Wjqvw
2007/01/22(月) 20:43:10(・3・) エェー もいらはギブアップだYO! 他のぼるじょあさんと名無しさんが頼りだNE!
ちなみに、メールを受信した側のPCで音を鳴らすの?
それとも、メール送信した側で開封通知メールの機能を使って送信した側で音を鳴らすの?
0440デフォルトの名無しさん
2007/01/22(月) 20:47:100441440
2007/01/22(月) 20:52:430443デフォルトの名無しさん
2007/01/22(月) 20:55:460444デフォルトの名無しさん
2007/01/22(月) 23:08:320445デフォルトの名無しさん
2007/01/23(火) 11:14:25できるけど今は他のやってるから。
終わったらやろうか?
0446デフォルトの名無しさん
2007/01/23(火) 11:16:260447デフォルトの名無しさん
2007/01/23(火) 19:08:36[2] 問題文
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(int argc, char *argv[]){
int c;
FILE *src; /* 読み出し側 */
FILE *dst; /* 書き込み側 */
char ifilename[128]; /* 読み出しファイル名 */
char ofilename[128]; /* 書き込みファイル名 */
if(argc != 2){
[ 空欄 1 ](stderr, "利用方法: %s filename\n", argv[0]);
return 1; }
/* ifilename に argv[1] をコピー */
[ 空欄 2 ](ifilename, argv[1]);
/* ofilename に ifilename に .tmp を付けたものを出力 */
[ 空欄 3 ](ofilename, "%s.tmp", ifilename
src = [ 空欄 4 ](ifilename, "r");
if(src == NULL) {
printf("ファイル%sのオープンに失敗しました\n", ifilename);
return 1; }
dst = [ 空欄 4 ](ofilename, "w");
if(dst == NULL) {
printf("ファイル%sのオープンに失敗しました\n", ofilename);
return 1; }
/* EOF でないかぎり、src から 1 文字読み出し */
while((c = fgetc(src)) != EOF){
if(isupper(c))
0448デフォルトの名無しさん
2007/01/23(火) 19:09:16else if([ 空欄 6 ](c))
c = toupper(c); /* 小文字は大文字に変換 */
/* dst に 1 文字書き込み */
[ 空欄 7 ](c, dst);
}
/* ファイルを閉じる */
[ 空欄 8 ](src);
[ 空欄 8 ](dst);
/* ifilename を削除 */
if([ 空欄 9 ](ifilename) != 0){
[ 空欄1 ](stderr, "ファイル%sを削除できませんでした。\n",
ifilename);
return 1;
}
/* 出力したファイルの名前を、ofilename から ifilename に変更 */
if([ 空欄 10 ](ofilename, ifilename) != 0){
[ 空欄 1 ](stderr, "ファイル%sの名前を変更できませんでした\n",
ofilename);
return 1;
}
return 0;
}
0449デフォルトの名無しさん
2007/01/23(火) 19:09:590450デフォルトの名無しさん
2007/01/23(火) 19:11:15コマンドの引数としてコマンドラインに指定されたファイル名のファイルを開き、
その内容についてアルファベットの小文字を大文字に、大文字を小文字に変換し
(それ以外はそのまま)、いったん別名のファイルに出力します。最後に元の
ファイルを削除して、仮に出力したファイルの名前を、元のファイル名(引数のファイル名)
に変更します。
0451デフォルトの名無しさん
2007/01/23(火) 19:25:410452デフォルトの名無しさん
2007/01/23(火) 19:58:27>>430やってくれてるのかなぁ・・・
0453ぼるじょあ ◆yBEncckFOU
2007/01/23(火) 20:53:45linuxはどんなメーラーでも受け取ったメールが音を鳴らす仕組みがあるのかお?
もしかして安易に実行可能ファイルを実行できたりもするのかお?
てそんなわけないか
0454デフォルトの名無しさん
2007/01/23(火) 21:57:03[2] 問題文(含コード&リンク): 一単語一行の入力テキストを、指定された桁数(70)以内で、
できるだけ少ない行数に納まるように調整して出力する。
ただし、単語の途中で改行してはいけない。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: わかりませんが、Visual Studio 2005
を使っています
[3.3] 言語:C++
[4] 期限:1月25日
[5] その他の制限: 特に指定されていません。
よろしくお願いします。
0455デフォルトの名無しさん
2007/01/23(火) 22:00:400456デフォルトの名無しさん
2007/01/23(火) 22:06:230457デフォルトの名無しさん
2007/01/23(火) 22:12:290458デフォルトの名無しさん
2007/01/23(火) 22:20:03つまりそういうメールソフトを作りたいってこと?
例えばメールにスクリプトが書かれていたらその部分を
メールソフトでデコードして音にして出すとか?
0459デフォルトの名無しさん
2007/01/23(火) 22:36:04うん そそ
0460デフォルトの名無しさん
2007/01/23(火) 22:56:49[ 空欄 1 ]printf
[ 空欄 2 ]fopen
[ 空欄 3 ]strcat
[ 空欄 4 ]fopen
[ 空欄 4 ]fopen
[ 空欄 5 ]tolower
[ 空欄 6 ]islower
[ 空欄 7 ]fputc
[ 空欄 8 ]fclose
[ 空欄 8 ]fclose
[ 空欄 9 ]unlink
[ 空欄10 ]rename
0461デフォルトの名無しさん
2007/01/23(火) 23:00:330462デフォルトの名無しさん
2007/01/23(火) 23:21:420463デフォルトの名無しさん
2007/01/23(火) 23:26:20なら最初からそう書けよクズ
0464デフォルトの名無しさん
2007/01/23(火) 23:33:40分からないからってあたるなよクズw
0465デフォルトの名無しさん
2007/01/23(火) 23:44:59システムを分かってなさ過ぎ
0466デフォルトの名無しさん
2007/01/24(水) 00:07:280467デフォルトの名無しさん
2007/01/24(水) 00:10:47釣りかもよーw
0468ぼるじょあ ◆yBEncckFOU
2007/01/24(水) 00:22:28(・3・) エェー ぼるじょあはいないのかYO
0469ぼるじょあ ◆yBEncckFOU
2007/01/24(水) 00:23:090470デフォルトの名無しさん
2007/01/24(水) 01:27:13http://pc10.2ch.net/test/read.cgi/tech/1168663908/950
じゃイカンの?w
マルチだし・・・
0471ぼるじょあ ◆hZ8e4Wjqvw
2007/01/24(水) 02:42:15(・3・) エェー 結構作りこんである教材だNE!
満遍なくいろんな関数を織り込んであるところがいいYO!
1.fprintf
2.strcpy
3.sprintf
4.fopen
5.tolower
6.islower
7.fputc
8.fclose
9.remove
10.rename
0472デフォルトの名無しさん
2007/01/24(水) 03:24:56C#では簡単に作れたんだが・・
Cでは作ったこと無いなぁ
0473デフォルトの名無しさん
2007/01/24(水) 08:55:39[2] 問題文(含コード&リンク):ttp://www.geocities.jp/sweety_lemonade の「基地局プログラムの開発の進め方」にある1〜6の機能を持つプログラムの作成をお願いいたします。
[3] 環境
[3.1] OS:redhat9 & fedoracore6
[3.2] コンパイラ名とバージョン:gcc3.4
[3.3] 言語:Cのみ
[4] 期限:できれば今週中。
[5] その他の制限: 特にありません。
必要な呼制御メッセージやその役割は「参考スライド」に書いてあります。
よろしくお願いいたします。
0474デフォルトの名無しさん
2007/01/24(水) 10:30:20もうあきらめろよ
このスレ見てる人は別のスレも見てるから
レスがないってことはみんな出来ないんだよ
0475デフォルトの名無しさん
2007/01/24(水) 12:20:37USBで携帯端末と通信と書いてあるが、携帯端末の実物も無ければ仕様も不明。
中央サーバーに接続してって書いてあるがIP隠されて接続試験も出来ない。
これで電話の基地局作れってんだから笑わせる。
0476デフォルトの名無しさん
2007/01/24(水) 16:45:26void quicksort(int a[], int left, int right)
から始まる関数です。
0477ぼるじょあ ◆yBEncckFOU
2007/01/25(木) 00:18:46(・3・) エェー おもしろそうだけどそろそろ風呂入って寝るから回答できないお
土曜日までやってくれる人がいなさそうならもいらが回答してやるお
忘れっぽいから土曜日にゆうこりん似のアナ○画像か大沢あかねたんのコラ
(アナ○見せてると尚可)をうpして気づかしてくれお
0478ぼるじょあ ◆yBEncckFOU
2007/01/25(木) 00:20:08でもいいお
0479デフォルトの名無しさん
2007/01/25(木) 04:04:320480デフォルトの名無しさん
2007/01/26(金) 01:32:310481デフォルトの名無しさん
2007/01/31(水) 18:57:560482デフォルトの名無しさん
2007/02/02(金) 00:09:260483デフォルトの名無しさん
2007/02/02(金) 00:18:340484チンコ
2007/02/02(金) 03:09:320485あっこ
2007/02/02(金) 04:45:08[1] 授業単元:C++
[2] 問題文(含コード&リンク):
問題ごとにソースをかいてください。
�@http://docomo-camera-ne.jp/zeidoroom/20070202043956.jpg
�Ahttp://docomo-camera-ne.jp/zeidoroom/20070202043021.jpg
�Bhttp://docomo-camera-ne.jp/zeidoroom/20070202043948.jpg
�Chttp://docomo-camera-ne.jp/zeidoroom/20070202043927.jpg
�Dhttp://docomo-camera-ne.jp/zeidoroom/20070202043934.jpg
�B、�C、�Dはつながっています。
[3] 環境
[3.1] XP
[3.2] visual studio2003
[3.3] C++
[4] 期限:今日中に。
[5] その他の制限:なし
よろしくお願いします。
0486デフォルトの名無しさん
2007/02/02(金) 08:30:36練習問題3がありません(><)
0487ぼるじょあ ◆yBEncckFOU
2007/02/02(金) 11:32:14#include <iostream>
#include <iomanip>
int main()
{
int (*a)[9] = new int[9][9];
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
a[i][j] = (i + 1) * (j + 1);
std::cout << std::setw(3) << std::right << a[i][j];
}
std::cout << std::endl;
}
delete[] a;
}
0488ぼるじょあ ◆yBEncckFOU
2007/02/02(金) 11:34:43>>487は(1)。
(2)はC/C++の宿題を片づけますの82代目の629を参照。
http://pc10.2ch.net/test/read.cgi/tech/1169575464/629
(4)と(5)は(3)の問題がおかしいので答えられない。正しい(3)を
提示の事。
0489あっこ
2007/02/02(金) 19:58:440490あっこ
2007/02/02(金) 20:25:07ご指摘ありがとうございます。
下記の課題お願いします。
[1] 授業単元:C++
[2] 問題文(含コード&リンク):
問題ごとにソースをかいてください。
1、http://docomo-camera-ne.jp/zeidoroom/20070202202146.jpg
2、http://docomo-camera-ne.jp/zeidoroom/20070202043927.jpg
3、http://docomo-camera-ne.jp/zeidoroom/20070202043934.jpg
[3] 環境
[3.1] XP
[3.2] visual studio2003
[3.3] C++
[4] 期限:今日中に。
[5] その他の制限:なし
よろしくお願いします。
0491ぼるじょあ ◆yBEncckFOU
2007/02/02(金) 21:57:25http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3589.txt
(2),(3)は花より男子2を見るので後で。もしくは誰かやってくれてもいい。
0492あっこ
2007/02/02(金) 22:00:03助かります。
2,3もよろしくお願いします。
0493ぼるじょあ ◆yBEncckFOU
2007/02/02(金) 23:09:04http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3590.txt
題意にはなかったので仮想基底クラスは使用しなかった。
0494ぼるじょあ ◆yBEncckFOU
2007/02/02(金) 23:23:56http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3592.txt
なお、(2)のプログラムにミスがあったので貼り直し。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3593.txt
(2)で仮想基底クラスを使わない場合は、基底クラスdrinkの実体が
2つ含まれるため、厳密にはdrinkの両方のメンバ変数を表示しなければ
ならない。
またteaとmilkにも同名の変数及びメンバ関数が含まれる事になるため
厳密にはtea::print()とmilk::print()の両方を呼ばなければならない。
今回は設問にそのような指定はなかったため、tea側のメンバ変数のみを
表示している。
0495あっこ
2007/02/02(金) 23:37:47本当にありがとうございました。
最後に下の課題お願いできますか?
http://docomo-camera-ne.jp/zeidoroom/20070202194049.jpg
http://docomo-camera-ne.jp/zeidoroom/20070202194157.jpg
C++です。
無理でしたらけっこうです。
0496ぼるじょあ ◆yBEncckFOU
2007/02/03(土) 00:06:10(・3・) 誰かやってあげなYO!
0497デフォルトの名無しさん
2007/02/03(土) 00:08:45ぼるじょあは逃げ切れない!!
0498デフォルトの名無しさん
2007/02/03(土) 00:15:460499デフォルトの名無しさん
2007/02/03(土) 03:37:120500デフォルトの名無しさん
2007/02/03(土) 06:44:510501ぼるじょあ ◆yBEncckFOU
2007/02/03(土) 08:57:36(・3・) エェー C++は大嫌いだし回答してやらないお
C++はオブジェクト指向黎明期の言語で
時代について行こうとごてごてと拡張を繰り返し
そんな言語を使ってでソースを書いた結果、汚くわかりにくい
暗号のようなソースができあがる
やっぱ古くさくても基本がしっかりしているCに限るお
もいらがWinアプリを作るときはWin32API&Cの組み合わせしか信用しないお
>>477か>>478を解決してくれたら回答してやってもいいお
0503デフォルトの名無しさん
2007/02/03(土) 23:17:302つの値を入力してunsigned char型の変数x,yに代入してください。
また、a = x + y,b = x * yの計算をし表示してください。
※a及びbは、オーバーフローを考慮しえプログラムを作成すること
printf関数で出力。
0504デフォルトの名無しさん
2007/02/03(土) 23:18:58#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;
}
0505homoじょあ ◆5OLf4yFnuM
2007/02/04(日) 12:21:02(・3・) エェー それってcharに入れた値を文字としてでなく数値として計算せYO
ってことじゃないのかYO
文字列で入力するならatoiとかstrtolで数値に変換しないとYO
0506デフォルトの名無しさん
2007/02/04(日) 19:40:160507homoじょあ ◆5OLf4yFnuM
2007/02/04(日) 20:27:50命令すんなYO
0508デフォルトの名無しさん
2007/02/04(日) 21:50:37これからもよろしくね!!!
0509homoじょあ ◆5OLf4yFnuM
2007/02/04(日) 22:00:27(・3・) エェー とりあえず並び替えだけやってみたお
#include<stdio.h>
#include<stdlib.h>
int main(void){
longnum[10] = {47, 38, 74, 19, 93, 48, 12, 92, 90, 21};
longi, k;
for(i= 0; i< 10-1; i++){
for(k= i+1; k<10; k++){
if(num[i] > num[k]){
longswap = num[i];
num[i] = num[k];
num[k] = swap;
}
}
}
return EXIT_SUCCESS;
}
0510homoじょあ ◆5OLf4yFnuM
2007/02/04(日) 22:01:16稀にしか来ないクソコテですYO
0511デフォルトの名無しさん
2007/02/05(月) 13:49:130512デフォルトの名無しさん
2007/02/05(月) 13:50:020513デフォルトの名無しさん
2007/02/05(月) 22:19:090514ぼるじょあ ◆yBEncckFOU
2007/02/05(月) 23:34:55(・3・) エェー >>1じゃないけどなんだお? もいらは仕事上、画像処理専門だお
jpegデコーダ作ってとかあんまり無謀で巨大な課題以外なら答えてやるお
ちなみにjpegデコーダくらいならinterlaceのみだったら作ったことはあるお
ハードウェアデコーダ(LSI)を使ったものなら全サポートでドライバ作ったことあるけどお
0515ぼるじょあ ◆yBEncckFOU
2007/02/05(月) 23:35:27さてと、風呂入って寝るべ、また明日
0517デフォルトの名無しさん
2007/02/06(火) 00:03:190518デフォルトの名無しさん
2007/02/06(火) 01:05:42このぼるじょあさんは変態なの?
80 名前:ぼるじょあ ◆yBEncckFOU [sage] 投稿日:2007/02/03(土) 09:04:06 ID:???
(・3・) エェー さすがに疲れてアナ○したい、なんて気力もないお
でも大沢あかねたんだけは別腹だお
81 名前:ぼるじょあ ◆yBEncckFOU [sage] 投稿日:2007/02/03(土) 09:06:29 ID:???
(・3・) エェー 大沢あかねたんが両手で尻を思いっきりひろげて
仰向けにねてるもいらの顔の上に覆い被さってきてくれたら
きっと安眠できるだろうなあ・・・はぁ
82 名前:ぼるじょあ ◆yBEncckFOU [sage] 投稿日:2007/02/03(土) 09:08:13 ID:???
(・3・) エェー 大沢あかねたんのお尻を24時間なめ続けたいお・・・はぁ
人間の舌って何で短いんだろうね、もっと長ければ
大沢あかねたんの尻に舌を差し込んでもっと深く彼女を愛せるのに・・・はぁ
83 名前:ぼるじょあ ◆yBEncckFOU [sage] 投稿日:2007/02/03(土) 09:09:28 ID:???
(・3・) エェー 疲れてるにも関わらずぽこたんがエレクトしてきたお
さてとそろそろベッドインするべ
課題学校に忘れてきたので思い出したときに書きます
そのときはよろしくお願いします
0520デフォルトの名無しさん
2007/02/06(火) 03:31:24[2] 問題文:2値画像をランレングス符号化法により圧縮符号化するプログラムをつくり、原画像と
圧縮後のデータを比較せよ
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:ぼるじょあさんのやりやすいもので
[4] 期限:無期限
[5] その他:よろしくお願いします
0523ぼるじょあ ◆yBEncckFOU
2007/02/06(火) 23:00:14貴様の先生が提示したランレングス符号化のアルゴリズムもちゃんと書けお
それと2値画像の形式はなんだお、1bit/pixelかそれとも1byte/pixelか
1と0が書かれたテキストファイルなのかちゃんと書けお
0524デフォルトの名無しさん
2007/02/06(火) 23:27:52[2] 問題文(含コード&リンク):
数学の点数のデータが入った1次元配列のアドレスと人数を受け取り、
それらの最大点、最小点、平均点を求めて返す関数を作成せよ。
但し、main関数では、最初に、点数のデータを初期値代入し、関数を呼び出した後は、
最大点、最少点、平均点の値を出力せよ。
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ:Visual C++ 6.0
[3.3] 言語: C++
[4] 期限: 期限はないです
よろしくお願いします
0525デフォルトの名無しさん
2007/02/06(火) 23:43:18学校生活オワタ\(^o^)/
0527homoじょあ ◆5OLf4yFnuM
2007/02/06(火) 23:54:10(・3・) エェー 勉強しながらでいいならやるYO
出来る保障ないけどYO
>>524
(・3・) エェー 表面以外全部CでいいならやるYO
もう寝るけどYO
0528524
2007/02/06(火) 23:58:030529デフォルトの名無しさん
2007/02/07(水) 00:16:49C++もおkなぼるじょあもいると思われ
0530デフォルトの名無しさん
2007/02/07(水) 00:20:41ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3621.txt
0531デフォルトの名無しさん
2007/02/07(水) 00:34:530532デフォルトの名無しさん
2007/02/07(水) 01:45:120533ぼるじょあ ◆yBEncckFOU
2007/02/07(水) 18:57:52結局もいらの出る幕ではなかったな
そんなこんなでまだ1問しか回答したことないし
ここはもいらが出る幕もなく優秀な回答者が揃ってるなという感じだお
0534ぼるじょあ ◆yBEncckFOU
2007/02/07(水) 19:02:46白ランと黒ランを「白が5画素」「黒が10画素」というように
記録していくわけだけど「」の部分をどうやって符号にするかは
何パターンかあるしどういうパターンで符号化してほしいのか
(または特に規定されてないのか)
入力画像の形式を書いてくれないと仕様が違うからやり直しってことに
なりかねんしなあ
0535ぼるじょあ ◆yBEncckFOU
2007/02/07(水) 19:07:59まあ春くらいに新しいpcを購入する予定だけどお
久々にタワー買ってみるつもりだお、今はノートpc
ディスプレイはハイビジョンTVをhdmiで使う予定
会社ではhdmiで60Vのディスプレイにpcの画面を映して
いるのをよく見るだけに最近pcの小さい画面じゃ満足できなくなってきたお
まあ2ちゃんやるかアプリ作るくらいしかpc使わないんだけどね
新しいpc買ったらエミュレータでゲームでも動かしてみるつもりだお
0536デフォルトの名無しさん
2007/02/07(水) 20:07:32僕は情報系の大学院卒業予定で就職について考えてます
プログラマーになれれば幸いです
0537デフォルトの名無しさん
2007/02/07(水) 20:10:17何かしなきゃならないのでしょうか?素人でゴメンナサイ
0538デフォルトの名無しさん
2007/02/07(水) 20:53:09(・3・) アルェー プログラマは体力的に超過酷な商売だYo!
趣味でやるにかぎるYo
0539デフォルトの名無しさん
2007/02/07(水) 21:17:01そっかぁ いろいろ考えてみます
>>537に答えてやってください
0540デフォルトの名無しさん
2007/02/07(水) 22:03:520541ぼるじょあ ◆yBEncckFOU
2007/02/07(水) 22:59:43仕事以外でLinux使うのは偏屈人間か変態か馬鹿だけだお
emacsはうんこだお
0542ぼるじょあ ◆yBEncckFOU
2007/02/07(水) 23:01:37ただいまだうんこ中♥
0543ぼるじょあ ◆yBEncckFOU
2007/02/07(水) 23:14:35エμでふつうにプレイできたお、懐かしいね
この頃のスクエアはほんとよいゲームを出していたお
0544デフォルトの名無しさん
2007/02/07(水) 23:42:11ぼるじょあさんは仕事中にここの宿題を片付けているのですか?
emacs以外にプログラミングできるのって何があるんですか?
素人ですみません・・・
0545ぶるじょあ ◆H6wikgcXIU
2007/02/07(水) 23:51:14Lisp系言語だとemacsかviは必須だけどC/C++だと
IDEの方が便利な場面もあるから理解できなくはないけど、
カスタマイズ性が超強力な分だけなれるとemacsの方がいいYo!
0546デフォルトの名無しさん
2007/02/08(木) 00:21:03Turbo Linuxの無料のやつをインストールしたのですがemacsエディタがありません
どうすればいいのか教えてください
0547ぼるじょあ ◆yBEncckFOU
2007/02/08(木) 00:33:06(・3・) エェー lisp使ってる人は一部のマニアで単なる自己満足だお
emacsにしろviにしろ所詮一部だけのもの、そんなによければ
ユーザが増えるだろうに
・・・というもいらはemacs派だお、というかemacsでtexとcの統合環境を
作ってるし今更はなれられんお
>>546 フルインストールを選択しろお、それでもなければだうんこした
イメージの中をあさってみろお
もしくはここだお
ftp://ftp.turbolinux.co.jp/pub/TurboLinux/
xemacsだったらおいてあると思うお
0548デフォルトの名無しさん
2007/02/08(木) 00:39:34ありがとう!これからそのサイトいってみます
ちなみにxemacsもはいってませんでした
普通に買えばいいのかな・・・
0549デフォルトの名無しさん
2007/02/08(木) 00:41:310550デフォルトの名無しさん
2007/02/08(木) 00:49:33とりあえずこれじゃないか?
ftp://ftp.turbolinux.co.jp/pub/TurboLinux/TurboLinux/ia32/Server/10/install/turbo/RPMS/xemacs-21.4.11-5.i586.rpm
rpmパッケージだからダウンロードしたファイルをダブルクリックするだけでインスコできるはず
0551デフォルトの名無しさん
2007/02/08(木) 00:52:000552デフォルトの名無しさん
2007/02/08(木) 00:52:110553デフォルトの名無しさん
2007/02/08(木) 00:53:39まぁまず見てみます
0554デフォルトの名無しさん
2007/02/08(木) 00:56:42あほ、先に言えよ
ftp://ftp.turbolinux.co.jp/pub/TurboLinux/TurboLinux/ia32/FUJI/install/turbo/RPMS/xemacs-21.4.17-1.i686.rpm
0555デフォルトの名無しさん
2007/02/08(木) 01:07:34コンパイルができないのはなぜですか?ほんとに素人ですみません
0556デフォルトの名無しさん
2007/02/08(木) 01:15:49板違いも甚だしいとは思いつつレスを期待しいています。
製品版を買えば全部解決するのでしょうかね。
0557デフォルトの名無しさん
2007/02/08(木) 02:04:170559ぼるじょあ ◆yBEncckFOU
2007/02/08(木) 22:45:45MSのwindows updateみたいな自動アップデートやら
windowsとほぼ同じguiを導入したりしていたんだけど
思った以上に使い物にならなかったお
自動アップデートは数百件のパッチがリストアップされて
いざインストールと思ってもパッチを当てる順番があるらしく
失敗しまくっていたお、結局10個単位でインストールしたんだけど
最後の方になると「パッチを当ててください」とダイアログが出るにもかかわらず
「インストールに失敗しました」と出るw
サポートセンターも不親切で全く役に立たないし
ライブドア時代の話だお、今は少しはまともになってるんだろうか
turbolinux FUJIも最悪の出来らしいしお
唯一製品版はATOK使えたのがよかったお
0560ぼるじょあ ◆yBEncckFOU
2007/02/08(木) 22:47:00というと>>541のもいらのレスと矛盾するけど
偏屈人間だから無問題だお
0561デフォルトの名無しさん
2007/02/09(金) 01:06:07gccのRPMファイル見つけたんでインストールしようと思ったけど
インストールできないですw 「インストール」ってボタンがなくてw
もうわけわからん
確かにいろんなところでTurboLinuxは叩かれてますね・・・
Vineっての見てみます
0562デフォルトの名無しさん
2007/02/09(金) 01:23:180563デフォルトの名無しさん
2007/02/09(金) 01:59:200564homoじょあ ◆5OLf4yFnuM
2007/02/09(金) 17:04:550565ぼるじょあ ◆yBEncckFOU
2007/02/09(金) 19:44:32>>561 個人で使うには一番扱いやすいと思うお、日本仕様だしお
ただ更新がとてつもなく遅くで最近ようやっとkernelのバージョンをあげて
もいらのPCでも動くようになったお
0566ぼるじょあ ◆yBEncckFOU
2007/02/09(金) 19:46:02あの変な帽子がまたたまらん・・・
0567ぼるじょあ ◆yBEncckFOU
2007/02/09(金) 19:48:22ぱっくり開いたそのシリアナにたっぷり牛乳とコーヒーを入れてシャッフルした後
おなかを思いっきりパンチしてシリアナからはき出されたミックスコーヒーを
大沢あかねたんに飲ませたいお
0568ぼるじょあ ◆yBEncckFOU
2007/02/09(金) 19:49:270569デフォルトの名無しさん
2007/02/09(金) 19:59:300570homoじょあ ◆5OLf4yFnuM
2007/02/10(土) 00:02:500571ぼるじょあ ◆yBEncckFOU
2007/02/11(日) 21:41:370572アナルじょあ ◆yBEncckFOU
2007/02/11(日) 22:16:160573デフォルトの名無しさん
2007/02/11(日) 22:21:540574homoじょあ ◆5OLf4yFnuM
2007/02/11(日) 23:59:21(・3・) エェー 質問だYO
2値画像がどんなんかはわかったけど、どうも保存の形式によって
記録のされかたが違うYO
どれでやるんだYO
ついでにsample画像ちょーらいYO
0575デフォルトの名無しさん
2007/02/12(月) 00:50:05答えないんだよ。事故って死んだんじゃ?
0576homoじょあ ◆5OLf4yFnuM
2007/02/12(月) 01:26:37仕方ないですがむっしっしですNE
0577デフォルトの名無しさん
2007/02/12(月) 10:42:160578デフォルトの名無しさん
2007/02/12(月) 13:33:330579ぼるじょあ ◆yBEncckFOU
2007/02/12(月) 13:37:10(・3・) エェー ぼくの顔勝手に使わないでYO
0580ぼるじょあ ◆yBEncckFOU
2007/02/12(月) 14:16:100581デフォルトの名無しさん
2007/02/12(月) 15:30:21[2] 問題文(含コード&リンク): 下
[3] 環境 :OS(Solalis)/コンパイラ(SunWorkShopC++6.0)
[4] 期限 :2007/02/28
何度か見せにいったのですが、#if 0とかが入れ子になってたり、/*が途中で含んでいたりだとうまくいかなくて、
現状はめちゃくちゃ長くなっていてるんですが一応貼っておきます
0582デフォルトの名無しさん
2007/02/12(月) 15:31:140583デフォルトの名無しさん
2007/02/12(月) 15:31:19C++のソースコードから全てのコメントを取り除くプログラムを書け。レポートの評価は以下の通りとする
1.//を取り除く、/* */を取り除く(60点可)
2.#if 0〜#endif、#if0〜#else〜#endif等の削除(70点良〜95点)
3.指定#ifdef、#ifndef等の削除(70点良〜100点)
今まで講義を無受講、レポートを出していなくても、
2.の出来が優秀ならば単位取得に神風が起こるであろう。(ただし60点可とする)
神風を狙う場合は何度も見せにくるのが望ましい。
例
0584デフォルトの名無しさん
2007/02/12(月) 15:32:14#include <stdio.h>//標準ヘッダ
int main()
{
/* 文字を表示してみる */
#if 0
printf( "Good Morning\n" );
#else
// /*夜*/printf( "Good Knight\n" );
/*夜*/printf( "Good Night\n" );
#endif
return 0;
}
-----------------------------------------------
↓
-----------------------------------------------
#include <stdio.h>
int main()
{
printf( "Good Night\n" );
return 0;
}
-----------------------------------------------
0585デフォルトの名無しさん
2007/02/12(月) 15:37:06このページにアクセスできません。(403 Forbidden)
ってなるぶ・・・
0586デフォルトの名無しさん
2007/02/12(月) 16:11:480587ぼるじょあ ◆yBEncckFOU
2007/02/12(月) 16:12:530588homoじょあ ◆5OLf4yFnuM
2007/02/12(月) 16:16:160589ぼるじょあ ◆hZ8e4Wjqvw
2007/02/12(月) 22:03:37(・3・) エェー 神風とまではいかないけど
そよ風くらいならできたYO!
C++ 分からないから一行目だけそれっぽくしたYO!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3639.c
0590ぼるじょあ ◆yBEncckFOU
2007/02/12(月) 22:36:51(・3・) エェー ちゃんと入れ子にも対応しろお
0591ぼるじょあ ◆yBEncckFOU
2007/02/12(月) 22:40:30(・3・) エェー >>570ホモの男好きに肛門野郎と罵られるとはw おもしろいお
(・3・) エェー >>571>>572 それ本気でいってるのかお?本スレでは批判するやつばっかりなんだお、
もしそれを本気で言ってるなら本スレにきて盛り上げてほしいお
欧米や欧州じゃ性行為経験者の90%以上の男、70%の女が
アナ○経験者で日本人の男の60%はアナ○に興味持ってるのに
ぼるスレの住民なんかおかしいお
0593ぼるじょあ ◆yBEncckFOU
2007/02/12(月) 23:17:16とコメントしてるけどそう単純ではないお
0594ぼるじょあ ◆yBEncckFOU
2007/02/12(月) 23:24:31>>583の「一度も授業うけてないんでよろしくっす」というのを読んだらとたんに
うpする気が失せたお
まあ>>589で60点で落第は免れるだろうしよかったんじゃないかお
0595ぼるじょあ ◆hZ8e4Wjqvw
2007/02/12(月) 23:50:50入れ子の深さは99まで
一行の長さは1000文字まで
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3640.c
0597ぼるじょあ ◆hZ8e4Wjqvw
2007/02/13(火) 00:00:41#ifdef に対応するって事は #include されたファイルを読みにいくのかNA?
0598ぼるじょあ ◆hZ8e4Wjqvw
2007/02/13(火) 00:08:54修正版
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3641.c
0599ぼるじょあ ◆yBEncckFOU
2007/02/13(火) 00:09:17ちなみにいふでふといってるのは#if, #ifdef, #ifndef, #elif, #else, defined, など
すべて含むお
0600ぼるじょあ ◆yBEncckFOU
2007/02/13(火) 00:12:08・゚・(ノД`)・゚・
0602デフォルトの名無しさん
2007/02/13(火) 13:00:06宿題じゃないが貰うっす
0603ぼるじょあ ◆hZ8e4Wjqvw
2007/02/13(火) 13:50:52(・3・) エェー またまたバグが発覚したから修正したYO!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3647.c
0604C
2007/02/13(火) 18:13:51今はC++の時代だから(微笑)
うふふ。
0605ぼるじょあ ◆yBEncckFOU
2007/02/13(火) 19:18:23多態性とシングル継承まではよかったけど
その後にごてごてとtemplateやら多重継承(単体継承で十分だし
多重させる人は頭が悪い)、節操のない言語拡張・・・、
はっきり言ってうんこ
0606ぼるじょあ ◆yBEncckFOU
2007/02/13(火) 19:22:54それについて行こうとごてごて拡張した結果、駄目言語に様変わりしたってことだお
大沢あかねたんがかわいすぎるお、口がえろい
0607ぼるじょあ ◆yBEncckFOU
2007/02/13(火) 19:24:22大沢あかねたんは肌色に近いピンク色できれいな菊の門をしていて
興奮するとしわが取れてぱっくり開くはずだお
0608ぼるじょあ ◆yBEncckFOU
2007/02/13(火) 19:25:360609デフォルトの名無しさん
2007/02/15(木) 07:29:200610デフォルトの名無しさん
2007/02/15(木) 14:10:05[2]問題文:9桁以下の2つの正整数 m,n を入力して、
m/nの小数部を四捨五入して得られる整数値
を出力するプログラムを作成せよ。
[3]環境
[3.1]linux
[3.3]C
[4]2007年2月15日15:00まで
よろしくお願いします。
0611デフォルトの名無しさん
2007/02/15(木) 14:33:100612ぼるじょあ ◆yBEncckFOU
2007/02/15(木) 17:56:14アナル、アナル、大好きお、いいお
0614homoじょあ ◆5OLf4yFnuM
2007/02/20(火) 23:23:010615デフォルトの名無しさん
2007/02/20(火) 23:28:34[2]問題文:ぼろじょあって誰?
[3]環境
[3.1]Windows XP
[3.3]C
[4]2007年2月20日24:00まで
0617デフォルトの名無しさん
2007/02/27(火) 20:28:20int main( void )
{
for(;;)
{
printf( "Hung up\t\b\b\b\b\b\b" );
}
return 0;
}
テンプレめんどいから直接聞きます これ実行するとどうなるの?
無礼極まりないのは解ってます
0618デフォルトの名無しさん
2007/02/27(火) 20:32:43Hung up という文字で画面生めながらBEEPがなりまくる。
何時までたっても終わらない…
0619デフォルトの名無しさん
2007/02/27(火) 20:34:09自分でやってみれば?
コンパイラにもよるけど Ctrl+C で止まるだろうし
ジョークソフトだから
0620521
2007/02/27(火) 20:36:06皆さんのやりやすいようにやってください
宿題じゃないんですがそれっぽいのを作ってもらえるとうれしいです
そこからは自分で発展させます 細かい理由は聞かないでください
やりたくなかったらやらなくて結構です 事故死ではありません
0621デフォルトの名無しさん
2007/02/27(火) 21:13:42俺の人生経験上\bはバックスペースだと思うんだよね。
0622デフォルトの名無しさん
2007/02/27(火) 22:42:54そういうのもあるね そうじゃないのもあるね
0623デフォルトの名無しさん
2007/02/27(火) 23:01:16今日中の提出なのですがまだ出来てない状況です。
Cファイルxxx.cを読んでコードの行、コメントの行、空白の行をカウントアップ
するプログラムです。
仕様は
・起動パラメータにC言語のソースファイルを指定する。
・ファイル内のコード行、コメント行、空白行をそれぞれカウントし出力する。
・コードの後ろにあるコメントは、コメント行にはカウントしない。
・コメントは // と /* ~ */ を許容すること。
・入れ子になっているコメントは許容しないこと。(/* /* ~ */ */)
・エラー処理等の細かい仕様は、独自の判断において作成すること。
・#ifdef等は、考慮しなくてよい。が、できるなら考慮する。
です。
カウント部分は
while(fgets(buf,256,fp) != NULL)
{
}
の中で作成するようです。Cファイルから読みます
宜しく御願いしますm(__)m
0624デフォルトの名無しさん
2007/02/27(火) 23:11:13すいません焦ってしまってテンプレ貼り忘れました。。。
[1] 授業単元: プログラミング演習
[2] 問題文 上記の仕様です
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Visual C++ 2005
[3.3] 言語: C
[4] 期限: 今日
です
0625ぼるじょあ ◆hZ8e4Wjqvw
2007/02/28(水) 00:27:54(・3・) エェー 成仏しろYO!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3711.c
0627デフォルトの名無しさん
2007/02/28(水) 00:36:20はい!朝まで自分も考える所は考えて提出したいと思います。
宜しく御願いします。
0628デフォルトの名無しさん
2007/02/28(水) 00:51:06一過性だったか
0629ぼるじょあ ◆hZ8e4Wjqvw
2007/02/28(水) 01:42:52(・3・) エェー できたYO!
#if ってのはどういう意味だったか今日は思い出せそうに無いからパスだYO!
(>>603 のソースを流用しまくりだYO!)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3712.c
0630ぼるじょあ ◆hZ8e4Wjqvw
2007/02/28(水) 01:51:10(・3・) エェー >>629 は間違えてたYO!
160行目 argv[1] を argv[i] に変えておいてくれYO!
0631デフォルトの名無しさん
2007/02/28(水) 02:07:28早速実行してみたいと思います。感謝しますTT
0632ぼるじょあ ◆hZ8e4Wjqvw
2007/02/28(水) 02:11:26(・3・) エェー 間違い発見だYO!今度こそ大丈夫なはずだYO!
もう寝るからあとは自分でやってくれYO!
他にバグがあったらどういうバグかレスつけてくれYO!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3713.c
0633ぼるじょあ ◆hZ8e4Wjqvw
2007/02/28(水) 02:32:11(・3・) エェー >>625 の数値リテラル 255 は ((1<<CHAR_BIT)-1) に置き換えてくれYO!
今度こそおやすみだYO!
0634ぼるじょあ ◆yBEncckFOU
2007/02/28(水) 06:35:150635デフォルトの名無しさん
2007/02/28(水) 20:16:40昨日はぼるじょわさんありがとうございました。
提出したのですが、、プログラムソースが高度だった
為、簡単なコードでやりなおしてこいと教授につきかえされました。。。
せっかく作成して頂いたのに申し訳ありませんでした。TT
今日、自分で途中まで作成しましたソースがあるのですが
見てもらえませんでしょうか?
main.c内だけの修正となります。
xxx.cとyyy.cとyyy.hという形の3ファイルで実行を行いますので
フォルダに入れて圧縮させて頂きました。ウイルス検索はしましたが、
念の為開ける前にチェック御願いします。
明日の朝提出までに期限のばしてもらったので、どうぞ宜しく御願いします。
追加質問みたいになっちゃいましたが、ぼるじょわさん
もう一度お力をお貸しください。。申し訳ありません。m(__)m
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3716.zip
0636デフォルトの名無しさん
2007/02/28(水) 21:50:01int comment_flag = 0;
while(fgets(buf,256,fp) != NULL){
if (comment_flag){
numcomment++;
if (strstr(buf, "*/") != NULL){
comment_flag = 0;
}
}else{
i = 0;
// タブ、スペース削除
while (buf[i] == '\t' || buf[i] == ' '){
i++;
}
if(buf[i] == '\n'){ // fopen() は "rt"モードで
numspace++;
}else if(buf[i] == '/'){
if(buf[i + 1] == '/'){
numcomment++;
continue;
}else if(buf[i + 1] == '*'){
numcomment++;
comment_flag = 1;
}
}else{
num++;
}
}
}
printf("コード行は%d行です\n",num);
printf("コメント行は%d行です\n",numcomment);
printf("空白行は%d行です\n",numspace);
0637636
2007/02/28(水) 21:53:200638デフォルトの名無しさん
2007/02/28(水) 21:56:270639ぼるじょあ ◆hZ8e4Wjqvw
2007/02/28(水) 22:11:46(・3・) エェー >>632 で折角文字列リテラルまで考えてたのに無駄骨かYO!
チェックする条件を減らしたYO!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3717.c
0640デフォルトの名無しさん
2007/02/28(水) 23:30:37>636さん
>639さんありがとうございました。
3717.cで実行したのですが
Microsoft Visual C++ Debug Library
Debug Assertion Failed!
Program: …
File: istype.c
Line: 56
Expression: (unsigned)(c + 1) <= 256
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
というエラーが出まして、掲示板で色々調べてみたら
ライブラリーの問題とか
fgetsの返値の問題とかが出てきました。
意味がワカリマセンでした。。
0641ぼるじょあ ◆yBEncckFOU
2007/03/01(木) 00:04:06>>634ほもかお?きしょいお
ホモ出入り禁止だお
0642デフォルトの名無しさん
2007/03/01(木) 00:13:55Microsoft Visual C++ 2005 Express Editionってのはc++しかできないのですか??
ぼるじょあさんはやさしいと聞いてここに来ました
0643デフォルトの名無しさん
2007/03/01(木) 07:06:07すべてのC++はCもコンパイルできるYO
VC++以外ならBorlandのBCCとかcygwinでgccとか
0644デフォルトの名無しさん
2007/03/01(木) 07:55:550645デフォルトの名無しさん
2007/03/01(木) 11:43:58C++ってそういう規格、仕様じゃないの(Cの記述がそのまま使える)
0646デフォルトの名無しさん
2007/03/01(木) 17:01:240647デフォルトの名無しさん
2007/03/01(木) 17:24:46K&Rスタイルの関数宣言、構造体の中に入れ子となった構造体の宣言、
型安全性の強化(特にvoid*から他のポインタ型への変換)など。
>>645
VC++、BCC、GCCはCとC++両方のコンパイラを内蔵しているとでもいうべき。
いずれもソースファイルの拡張子やコンパイラオプションなどで、
CとC++のどちらとしてコンパイルするかが切り替えられるようになっている。
しかし全てのC++コンパイラはCコンパイラとしても使えるように
なっていなければならないという決まりはどこにもないので、
そのような機能を持たない純粋なC++コンパイラがあったっていい。
そういうコンパイラでもCのソースをコンパイルしたら、
勿論C++がCのサブセットを内包しているため基本的にはコンパイルできるだろうが、
コンパイラからすれば所詮C++のソースをコンパイルしているとしか認識されない。
0648デフォルトの名無しさん
2007/03/01(木) 18:26:370649デフォルトの名無しさん
2007/03/02(金) 01:13:100650ぼるじょあ ◆hZ8e4Wjqvw
2007/03/02(金) 01:19:36(・3・) エェー 期限は過ぎてるだろうけど、これでいいのかYO!
何をしたいのか書いてないから getopt は無視したYO!
これでも同じエラーが出るなら分からないYO!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3721.c
0651デフォルトの名無しさん
2007/03/02(金) 02:37:440652デフォルトの名無しさん
2007/03/02(金) 03:17:19C言語ならBorlandC++とCPad for bccでも使ってなはれ
0653デフォルトの名無しさん
2007/03/02(金) 07:33:01ここは宿題を片づけるスレだよ
コンパイルできないならエラーとか出てるでしょ
0655homoじょあ ◆5OLf4yFnuM
2007/03/13(火) 21:02:280656ぼるじょあ ◆yBEncckFOU
2007/03/16(金) 19:08:46片っ端から宿題解きたくてうずうずしてるお
0657ぼるじょあ ◆yBEncckFOU
2007/03/22(木) 21:52:35まあ卒業のシーズンだしそもそも学生はみんな春休みか
質問来なくてもしかたないな
0658ぼるじょあ ◆hZ8e4Wjqvw
2007/03/22(木) 21:56:58(あと、一週間くらい様子見てからNE)
0659デフォルトの名無しさん
2007/03/23(金) 00:58:26こちらに貼ってもよろしいのでしょうか
0660デフォルトの名無しさん
2007/03/23(金) 01:31:240661デフォルトの名無しさん
2007/03/23(金) 01:37:38[2] 問題文(含コード&リンク):
ダイナミック・プログラミングに関する問題です
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3760.txt
[3] 環境
[3.1] OS: Windows2000
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C
[4] 期限: [2007年3月31日23:59まで]
[5] その他の制限: なし
すいません、よろしくおねがいします
0662デフォルトの名無しさん
2007/03/23(金) 02:56:31こんなん出ました
p = s % size[i];
newvalue = s / size[i] + value[p];
----------------------
value[s] = newvalue;
item[s] = i;
0663デフォルトの名無しさん
2007/03/23(金) 14:06:23正解でした
ありがとうございました
[1] 授業単元:prog2
[2] 問題文(含コード&リンク):
字句解析に関する問題です
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3765.zip
[3] 環境
[3.1] OS: Windows2000
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C
[4] 期限: [2007年3月31日23:59まで]
[5] その他の制限: なし
これで最後の問題になります
よろしくお願いします
0664ぼるじょあ ◆hZ8e4Wjqvw
2007/03/31(土) 21:48:14(・3・) エェー 久しぶりの書き込みがギブアップってのもあれだけど
◆hZ8e4Wjqvw はとりあえずギブアップしとくYO!
0665ぼるじょあ ◆yEbBEcuFOU
2007/04/02(月) 15:36:470666デフォルトの名無しさん
2007/04/07(土) 20:19:090667ぼるじょあ ◆yBEncckFOU
2007/04/07(土) 20:46:140668homoじょあ ◆5OLf4yFnuM
2007/04/07(土) 21:35:380669デフォルトの名無しさん
2007/04/07(土) 22:35:020670homoじょあ ◆5OLf4yFnuM
2007/04/08(日) 02:57:490671デフォルトの名無しさん
2007/04/08(日) 04:13:03企業はWindowsを避けてLinux化するところが増えてるようですがそういうことに対応したいので聞いています
僕は学生です 素人ですが教えてください
すれ違いって言われるかもですがまぁ宿題の依頼も少ないようなので教えてください、ぼるじょあさん。
0672デフォルトの名無しさん
2007/04/08(日) 04:17:470673homoじょあ ◆5OLf4yFnuM
2007/04/08(日) 04:37:27仕事終わった寝る〜♪
0674デフォルトの名無しさん
2007/04/08(日) 04:43:500675デフォルトの名無しさん
2007/04/08(日) 04:48:09はいはい Linuxスレに行ってきますよ。。。
0676デフォルトの名無しさん
2007/04/08(日) 08:26:22取り敢えずCygwinでも入れておけば充分だろ。
0677デフォルトの名無しさん
2007/04/08(日) 19:52:230678homoじょあ ◆5OLf4yFnuM
2007/04/09(月) 19:49:030679デフォルトの名無しさん
2007/04/10(火) 13:53:02[2] 問題文(含コード&リンク): int型配列をソートする関数dsortを作成せよ。dsort関数の戻り値は、
ソートする配列が10数値以下ならば正常終了(0)11数値以上ならばエラー(−1)とする。
dsortを起動するmain関数は、文字列を手操作により入力し、
それをint型配列に格納し、それをdsortに引数として渡す。
[3] 環境
[3.1] OS:WinXP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:明日まで
よろしくお願いします
0680デフォルトの名無しさん
2007/04/10(火) 17:12:180681homoじょあ ◆5OLf4yFnuM
2007/04/10(火) 22:21:10(・3・) エェー ようわからんのでdsortだけ作ったお
int dsort(int num[], int n){
int i, k, swap;
if(n > 10) return -1;
for(i=0; i<n-1; i++){
for(k=i+1; k<n; k++){
if(num[i] > num[k]){
swap = num[i];
num[i] = num[k];
num[k] = swap;
}
}
}
return 0;
}
0682デフォルトの名無しさん
2007/04/11(水) 00:24:010683デフォルトの名無しさん
2007/04/11(水) 02:29:23[2] 問題文(含コード&リンク):矩形転置暗号を用いて、平文を暗号文に変換するプログラムを作成せよ。
(テキストファイルを読み込んで実行する)
暗号鍵(矩形の行数と列数)は適当な定数で与える。
ファイル末尾に到達した場合は矩形の残りの部分にスペースが入った状態にして
暗号文をとりだして終了する。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC++ 2005
[3.3] 言語:C++
[4] 期限:4月12日(木),PM5:00まで,2007年
[5] その他の制限:文字型(char)の2次元配列を用いる
よろしくお願いします
0684679
2007/04/11(水) 09:24:23配列の中身が10個以下という意味です。。。
すみませんです
0685デフォルトなしの名無しさん
2007/04/11(水) 13:45:21[2] 問題文(含コード&リンク):gets()関数によりキーボードからchar型配列buff[256]に文字列を読み込み、
それをputs()関数により画面に出力し、これをEOFが読み込まれるまで続ける。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VisualBasic
[3.3] 言語: C言語
[4] 期限:本日14時30分
[5] その他の制限: 緊急で申し訳ないですがよろしくおねがいします^^;
0686デフォルトの名無しさん
2007/04/11(水) 16:26:250687デフォルトの名無しさん
2007/04/11(水) 18:43:59[3.3] 言語: C言語
どういうこと?
0688homoじょあ ◆5OLf4yFnuM
2007/04/11(水) 22:01:01(・3・) エェー こんなん?
#include <stdio.h>
#include <string.h>
int dsort(int[], int);
int main(void){
int num[100], i;
for(i=0; i<100; i++){
char buf[64], *err;
fgets(buf, sizeof(buf), stdin);
err = NULL;
num[i] = strtol(buf, &err, 10);
strtok(buf, "\n");
if(strcmp(err, "") != 0)break;
}
dsort(num, i);
return 0;
}
0689デフォルトの名無しさん
2007/04/14(土) 17:56:27僕は専攻が法学なんでまったく関係ないんですが面白いので勉強してます
0690デフォルトの名無しさん
2007/04/14(土) 20:49:21がんばってね
0691デフォルトの名無しさん
2007/04/15(日) 14:04:56いる?
0692デフォルトの名無しさん
2007/04/15(日) 23:24:41> なんかいいこと
面白く思えること
人生楽しい時間は多いほうがいいじゃん
0693デフォルトの名無しさん
2007/04/16(月) 00:55:29[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3825.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VC++ 2005
[3.3] 言語: C言語
[4] 期限:4月16日中
よろしくおねがいします。
0694デフォルトの名無しさん
2007/04/16(月) 01:03:54#include <stdio.h>
int checkLeapYear(int year){
if( (year%4==0 && year%100!=0) || year%400==0 )
return 1;
else return 0;
}
int main(void)
{
int x;
printf("Input year > ");
scanf("%d",&x);
if( checkLeapYear(x) )
printf("%d年は閏年\n",x);
else printf("%d年は平年\n");
return 0;
}
0695デフォルトの名無しさん
2007/04/18(水) 13:18:26キミ 俺の後輩やろ
それ去年やった
0696デフォルトの名無しさん
2007/04/18(水) 21:10:14[2] 問題文(含コード&リンク):
numを2,3,...,num/2のいずれでも割り切れないときnumは素数である。numが素数なら戻り値を1、非素数なら戻り値を0とする。numが1以下の数なら戻り値を0とする。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C
[4] 期限: [2007年4月19日00:00まで]
[5] その他の制限: なし
お願いします(´;ω;')
0697ぼるじょあ ◆hZ8e4Wjqvw
2007/04/18(水) 21:27:58(・3・) エェー こんなのでいいのかYO!
久しぶりに答えられたYO!
int is_prime(int num){
int i;
if(num<2) return 0;
for(i=2;i<=num/2;i++)
if(num%i==0) return 0;
return 1;
}
0698デフォルトの名無しさん
2007/04/18(水) 23:11:41ぼるじょあさんありがとう(^ω^)♪
0699デフォルトの名無しさん
2007/04/19(木) 00:00:20'isprime'値を返さないコントロールパスがあります。
と、出てきたのですが原因はなんでしょう??
0700デフォルトの名無しさん
2007/04/19(木) 00:45:05それ、どの行で警告が出た?
>>695
>西暦年が、4で割り切れる年のうち、100で割り切れる年は平年とする。
こういう頭の悪い文章なら、確かに間違いようがないね。
0701デフォルトの名無しさん
2007/04/19(木) 01:03:35宿題スレ見ればわかるけど、自分で変にコードブロック化してるせい。
理解できないならそのまま写せばいいのに、なんで余計なことしたがるんだろうね。
0702デフォルトの名無しさん
2007/04/22(日) 05:11:39画像処理専門のぼるじょあさんはどこいったんだ。。。
0703デフォルトの名無しさん
2007/04/22(日) 15:05:37お前ら、教授にちくられたくなかったら自分で解答しろ
0704デフォルトの名無しさん
2007/04/22(日) 15:32:490705デフォルトの名無しさん
2007/04/22(日) 17:31:22ネットや書籍などで参考になる資料などありませんか?
C言語の文法などは一応、入門書籍などでやって一通りマスターしたのですが、
こういった実用的なプログラムを作成しようとするとフリーズしてしまいます。
どうしたらいいのでしょうか?
0706デフォルトの名無しさん
2007/04/22(日) 17:33:05HDレコーダー等の動画関係の処理に関するプログラムを作成しているぼるじょあならば
穴じょあと名乗って、PC初心者板でうとまれているYO
そいつのこと?
0707デフォルトの名無しさん
2007/04/22(日) 18:34:55スレ違い。
「ソフトウェア作法」なんかはエディタを作るという点で参考になると思う。
詳しくは書籍スレで。
0708デフォルトの名無しさん
2007/04/24(火) 00:12:34[2] 問題文(含コード&リンク): 元旦からの日数を入力して、何月何日かを出力する。うるう年ではない年として計算してよい。
[3] 環境
[3.1] OS:Win2000
[3.2] コンパイラ名とバージョン:bcc
[3.3] 言語:C
[4] 期限:25日
0709デフォルトの名無しさん
2007/04/24(火) 01:08:37何その伝統的な宿題
0710デフォルトの名無しさん
2007/04/24(火) 01:23:340711デフォルトの名無しさん
2007/04/24(火) 01:49:28f(x)=sin(x) (0<x<2π)
の導関数を差分近似によって計算する方法
を教えてください。
0712デフォルトの名無しさん
2007/04/24(火) 06:24:52#include <stdio.h>
int main(void)
{
int md[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int i,days,n;
printf("Input > ");
scanf("%d",&n);
if(n>365) return 1;
for(days=n,i=0; days>md[i]; days-=md[i],i++);
printf("%d日目は%2d月%2d日\n",n,i+1,days);
return 0;
}
0713デフォルトの名無しさん
2007/04/25(水) 18:25:23[2] 問題文(含コード&リンク)
:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3866.txt
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual Studio 2005
[3.3] 言語: C++
[4] 期限:4/26 17:00
よろしくお願いします
0714デフォルトの名無しさん
2007/04/25(水) 20:06:53例えば
#include <stdio.h>
int func_hoge();
int main(int argc, char* argv[])
{
func_hoge();
}
というCのコードtest.cをC++のコードにして実行したくて
hogeクラスのhoge.cppとhoge.hに書いて
test.cでインクルードして
コンパイルしても通りません
どなたかCのコードをC++化する方法を教えて下さい
0715デフォルトの名無しさん
2007/04/25(水) 20:09:51何らかの処理してtrue falseを返すと思って下さい
0716デフォルトの名無しさん
2007/04/25(水) 20:22:34環境はcygwinです
0718デフォルトの名無しさん
2007/04/25(水) 20:29:050719デフォルトの名無しさん
2007/04/25(水) 20:29:18C言語のソースファイルの拡張子をcppにすりゃC++のソースになっちゃうという人の考えでつね?(・∀・)ニヤニヤ
0720デフォルトの名無しさん
2007/04/25(水) 20:31:45> test.cをtest.cppにリネームしてコンパイルすりゃいいだろ。
はい、それだとコンパイルも通りますし
実行も出来ますが
モジュール化?(クラス化?カプセル化?っていうんでしょうか?)したいんです
0721デフォルトの名無しさん
2007/04/25(水) 20:44:48> hoge.cppとhoge.hをさらせよ
はい
まずhoge.h
#ifndef HOGE_H
class Hoge
{
public:
int func_hoge();
};
#endif
続いてhoge.cpp
#include <stdio.h>
その他インクルード
#include <hoge.h>
int func_hoge()
{
int modori;
なんかの処理
return modori;
}
って感じです
0722デフォルトの名無しさん
2007/04/25(水) 20:52:18まずここ。
>続いてhoge.cpp
int hoge::func_hoge()
{
>test.cpp
int main(int argc, char* argv[])
{
hoge h;
h.func_hoge();
hoge::func_hogeはstaticにしてもいいかもね。
0723デフォルトの名無しさん
2007/04/25(水) 20:53:04コンパイルエラーの詳細きぼんぬ
0724デフォルトの名無しさん
2007/04/25(水) 21:44:02ありがとうございます
大幅にコンパイルエラーが減りました
>>722
>>723
現在のコンパイルエラーです
実行したコマンド
gcc -Wall -g -o TEST test.cpp
エラー
/cygdrive/c/DOCUME~1/ADMIN~1/LOCALS~1/Temp/ccA1IpLH.o: In function `main':
/home/Administrator/workspace/Test/test.cpp:12 undefined reference to `hoge::func_hoge()'
collect2: Id returned exit status
0725デフォルトの名無しさん
2007/04/25(水) 23:11:370727ぼるじょあ ◆hZ8e4Wjqvw
2007/04/26(木) 00:31:130728ぼるじょあ ◆yBEncckFOU
2007/04/26(木) 00:31:490729ぽるじょあ ◆6I9SwHc8xc
2007/04/26(木) 09:32:480730デフォルトの名無しさん
2007/04/26(木) 10:36:49ぼるじょあはゆとり世代中卒ニート旋盤工
0731デフォルトの名無しさん
2007/04/26(木) 11:23:16C初心者です。
最近、授業の課題で
「適当なソースファイルを読み込んでステップ数を数えて表示」
という宿題が出されたのですが、
C言語にステップ数を数える関数とかあるんですか?
それか、実行ステップ数だけ何か計算で数えるものなのでしょうか?
教えていただけたら助かります。よろしくお願いいたします。
0732デフォルトの名無しさん
2007/04/26(木) 12:06:410733デフォルトの名無しさん
2007/04/26(木) 14:15:20[2] 問題文(含コード&リンク):fftを作成することです。
[3] 環境
[3.1] OS:Linux
[3.2] gcc
[3.3] 言語:C
[4] 期限: 5月1日くらいまでに教えていただけたら幸いです。
[5] その他の制限:以下のソースを使って作るように指示されました。
#include<stdio.h>
#include<stdlib.h>
#include <math.h>
#include "fft.h"
0734733
2007/04/26(木) 14:16:34int fft(double *xreal, double *ximag, int n, int nu)
{
int n2, nu1;
int l, i, p;
int k, k1, k1n2;
double arg, c, s;
double treal, timag;
xreal--; /* 配列の添え字を1からにする */
ximag--;
n2 = n / 2;
nu1 = nu - 1;
k = 0;
for(l = 1; l <= nu; l++) {
loop: ;
0735733
2007/04/26(木) 14:18:09p = ibitr((int)(k / pow(2, nu1)), nu);
/* printf("%d, %d\n", p, k); */
arg = 2 * PAI * p / (double) n;
c = cos(arg);
s = sin(arg);
k1 = k + 1;
k1n2 = k1 + n2;
treal = xreal[k1n2] * c + ximag[k1n2] * s;
timag = ximag[k1n2] * c - xreal[k1n2] * s;
xreal[k1n2] = xreal[k1] - treal;
ximag[k1n2] = ximag[k1] - timag;
xreal[k1] += treal;
ximag[k1] += timag;
k++;
}
0736733
2007/04/26(木) 14:19:04k += n2;
if (k < n) goto loop;
k = 0;
nu1--;
n2 /= 2;
}
for(k = 1; k <= n; k++) {
i = ibitr(k-1, nu) + 1;
if ( i <= k) continue;
treal = xreal[k];
timag = ximag[k];
xreal[k] = xreal[i];
ximag[k] = ximag[i];
xreal[i] = treal;
ximag[i] = timag;
}
return 0;
}
0737733
2007/04/26(木) 14:19:40{
int i;
int j1, j2, r;
j1 = j;
r = 0;
for ( i = 1; i <= nu; i++) {
j2 = j1 / 2;
r *= 2;
r += j1 - 2 * j2;
j1 = j2;
}
return r;
}
すみませんが、お願いします。
0738デフォルトの名無しさん
2007/04/26(木) 19:11:52> >>724
> これでどう?
> g++ -Wall -g -o TEST test.cpp hoge.cpp
遅レスですいません
ありがとうございました
g++ではなくgccでコンパイル通って実行出来ました
0739デフォルトの名無しさん
2007/04/27(金) 11:30:29ありがとうございます、やはり改行文字を数えるんですね。
でも、それがちょっとわからなくて…\nを数えるということでしょうか?
改行文字が他にあるのですか?
0740デフォルトの名無しさん
2007/04/27(金) 11:34:37バッファを長めにとって、fgets()を何回呼べるかで代用するのが簡単だよ。
char buf[1024];
int count=0;
while(fgets(buf,1024,stdin)!=EOF){if(buf[1023]=='\n'){count++;}}
結局改行を数えることになる。
0742740
2007/04/27(金) 14:54:50それだと、最終行に改行が無いときに困る。
#その涛_では単純にfgetc()で改行文字を数えても同様。
1行が1023文字以内ならば、>741のif文を省略できるという魂胆。
つーか、エディタでラップアラウンドした表示行を数えるイメージだがね。
fgetsを使う場合
#include<stdio.h>
#include<string.h>
int main(){char buf[1024];int len,count=0;
while(fgets(buf,1024,stdin)!=NULL){if(buf[strlen(buf)-1]=='\n'){count++;}}return 0;}
使わない場合
#include<stdio.h>
int main(){int c,count=0;while((c=fgetc(stdin))!=EOF){if(c=='\n'){count++;}}return 0;}
どう見てもfgets使わない方が簡単です。
fgetsを使う場合
#include<stdio.h>
#include<string.h>
int main(){char buf[1024];int len,count=0;
while(fgets(buf,1024,stdin)!=NULL){if((len=strlen(buf))<1023){count++}else{
if(buf[strlen(buf)-1]=='\n'){count++;}}}return 0;}
使わない場合
#include<stdio.h>
int main(){int c,count=0,l=0;while((c=fgetc(stdin))!=EOF){l++;if(c=='\n'){count++;l=0;}}
if(l){count++;}return 0;}
やっぱりfgets使わない方が簡単です。
0745740
2007/04/27(金) 15:24:54自説に固執して本質を見失っている。
fgets()版は最低限これだけ。
char buf[1024];
int count = 0;
while (fgets(buf, sizeof(buf), stdin) != NULL) ++count;
fgetc()版だとこうなる。
int ch;
int count = 0;
while ((ch = fgetc(stdin)) != EOF) if (ch == '\n') ++count;
この状態で、fgets()版は長い行の扱いの問題があり、fgetc()版は最終行の問題がある。
どちらの方がましかということで、後はもう、ケースバイケースでしょう。
>fgets()版は最低限これだけ。
仕様を満たしていないので論外。
>この状態で、fgets()版は長い行の扱いの問題があり、fgetc()版は最終行の問題がある。
等価でないコードを比べて何をしようってんだ?
>>744で挙げたコードにはどちらの問題も存在しない。もちろん完全に等価なコードだ。
0747740
2007/04/27(金) 15:52:35まぁいいや、宿題スレ常駐のあんたに反論した私が悪かった。
少なくともfgets()版はfgetc()版ほど簡単じゃないと言うことで。
同じ入力に対して出力が違うものをふたつ並べて、どっちが簡単かなんて言っても
全然意味無いだろ。
0749依頼者
2007/04/27(金) 18:19:42[2] 問題文(含コード&リンク):
(1)30個の要素を持つ配列に小数をキーボードから代入し
それらを小さい順にソートし、その結果をモニターに
出力するプログラムの作成。
(2)1から100までの整数のうち素数を求めるプログラムの作成。
[3] 環境:
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio.net
[3.3] 言語: C
[4] 期限: 4月30日まで。
素人でも書けそうなプログラムでよろしくお願いします。
(2)
#include<stdio.h>
int prime[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,};
int main(){for(int i=0;i<(sizeof(prime)/sizeof(int));i++){printf("%i\n",prime[i]);}return 0;}
0751デフォルトの名無しさん
2007/04/27(金) 18:42:42"%i"って辺りが素人では有り得ない。
それはそうと、定数配列如きでグローバルな名前空間を汚して欲しくないなぁ。素人っぽくていいけど。
0752デフォルトの名無しさん
2007/04/27(金) 18:46:14#include <stdio.h>
#define MAX 101 // MAX-1まで求める
int main(void)
{
int a[MAX]={0},i,j;
for(i=1; i<MAX; i+=2)
a[i]=1;
for(i=4; i<MAX; i+=2)
a[0]=0;
for(i=3; i<MAX; i+=2) {
if(a[i]==1) {
for(j=i*2; j<MAX; j+=i)
a[j]=0;
}
}
for(i=1; i<MAX; i++)
if(a[i]==1) printf("%*d ",3,i);
return 0;
}
0753デフォルトの名無しさん
2007/04/27(金) 18:48:400754デフォルトの名無しさん
2007/04/27(金) 18:52:22そこは素人でも何でもなくただの補足だぞw
0755デフォルトの名無しさん
2007/04/27(金) 19:07:14%3dじゃなくて %*d の * の部分を後ろの引数で引用しているところは?
0756デフォルトの名無しさん
2007/04/27(金) 19:19:15いやさ、なんで#define MAX 100にしてi <= MAXにしないのかな、と。
#意味からいけば、「100までの」なのだから……
>>755
%*dを使う辺りは素人っぽくないような、定数の3を剥き身で置いている辺りが素人っぽいような……
0757デフォルトの名無しさん
2007/04/27(金) 19:32:37a[101]にしたとき、a[0]〜a[100]までなんだが?その[]の中の値100まで求めるってのが理解できなかった?
ってか、お前エラトステネスのふるいの概要について理解していないだろ?
0758デフォルトの名無しさん
2007/04/27(金) 19:40:35for(i=1; i<MAX; i++) は for(i=3; i<MAX; i+=2) だなw
0759デフォルトの名無しさん
2007/04/27(金) 19:41:240760デフォルトの名無しさん
2007/04/27(金) 19:48:52#include<stdio.h>
int main(void){
double data[30];
int n,i,t;
double temp;
for(n=0;n<30;n=n+1){
printf("%d個目の数値を入力してください\n",n+1);
scanf("%lf",&data[n]);
}
for (n=0;n<30;n=n+1){
t=n;
for(i=n+1;i<30;i=i+1){
if (data[t]>data[i]){
t=i;
}
}
temp=data[n];
data[n]=data[t];
data[t]=temp;
}
for(n=0;n<30;n=n+1){
printf("%f\n",data[n]);
}
return 0;
}
0761デフォルトの名無しさん
2007/04/27(金) 19:51:21>>757
Cの配列を1オリジンで使う辺り。
0762デフォルトの名無しさん
2007/04/27(金) 19:55:05リアル素人は黙ってろw
0763デフォルトの名無しさん
2007/04/27(金) 19:57:18だから配列の要素の値の数値が素数かどうかでその要素に1か0を入れるアルゴリズムなんだが?
0も1オリジンも無関係だぞw
0764デフォルトの名無しさん
2007/04/27(金) 20:10:37>a[0]=0;
何がしたいの?
0765デフォルトの名無しさん
2007/04/27(金) 20:12:460766デフォルトの名無しさん
2007/04/27(金) 20:13:25配列の要素の値 > 配列の要素を参照する値
0767デフォルトの名無しさん
2007/04/27(金) 22:20:102以上の偶数は素数じゃないから素数じゃないという0を入れているじゃん
実際のところ、最初の初期化でそれも不要だけどね
0768デフォルトの名無しさん
2007/04/27(金) 22:21:180769デフォルトの名無しさん
2007/04/27(金) 22:28:250770デフォルトの名無しさん
2007/04/27(金) 22:35:12#include <math.h>
#define MAX 101
int main(void) {
int a[MAX]={0},i,j,LMT=(int)sqrt(MAX);
a[2]=1;
for(i=3; i<MAX; i+=2) a[i]=1;
for(i=3; i<=LMT; i+=2) {
if(a[i]==1) {
for(j=i*2; j<MAX; j+=i)
a[j]=0; } }
printf("%*d ",3,2);
for(i=3; i<MAX; i+=2)
if(a[i]==1) printf("%*d ",3,i);
return 0; }
0771デフォルトの名無しさん
2007/04/27(金) 22:38:45[1] 授業単元:C言語1
[2] 実行結果:男子学生:1394、女子学生:128、全学生数:1477、女子学生割合:8.67%
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2005
[3.3] 言語: C言語
[4] 期限:速攻
ソース
#include <stdio.h>
int main (void)
{
int a, b;
printf("男子学生数="); scanf("%d", &a);
printf("女子学生数="); scanf("%d", &b);
printf("全体学生数=%d\n", a + b);
printf("女子学生数割合=%0.1f%\n", (b / (a + b)) * 100);
return(0);
}
女子学生割合がちゃんとでません。orz
0772デフォルトの名無しさん
2007/04/27(金) 22:41:31a[0]にしか0入れてないのに偶数の除外とか盲目なの?
0773デフォルトの名無しさん
2007/04/27(金) 22:46:12(b / (a + b)) * 100 → (double)b / (a + b) * 100
0774デフォルトの名無しさん
2007/04/29(日) 12:46:16(2)
---
#include <stdio.h>
int main(void)
{
int i, j;
int checklist[101];
for(i = 2; i <= 100; i++) {
checklist[i] = 0;
}
for(i = 2; i <= 100; i++) {
if(checklist[i] == 0) {
for(j = i+1; j <= 100 ; j++) {
if(j % i == 0) {
checklist[j] = 1;
}
}
}
}
for(i = 2; i <= 100; i++) {
if(checklist[i] == 0) {
printf("%d\n", i);
}
}
return 0;
}
---
0775デフォルトの名無しさん
2007/04/29(日) 13:11:370776774
2007/04/29(日) 13:11:50> for(j = i+1; j <= 100 ; j++) {
修正する。
for(j = i*2; j <= 100 ; j+=i) {
0777デフォルトの名無しさん
2007/04/29(日) 13:16:06無駄のないコードを書いてくれ。
依頼主の最後のコメントを意識した上で。
0778デフォルトの名無しさん
2007/04/29(日) 13:30:50for(i = 2; i <= 100; i++) {
checklist[i] = 0;
}
↓
int checklist[101]={0}; で可
以下、素数かそうでないかを示す配列を使っているのに
わざわざ数値を除算して割り切れたら素数ではないと求めるよりも
前から順番に素数だと分かっている数値でそれ以上〜求める値まで
素数の倍数に該当するものを排除すれば素数かどうかをチェックする配列を有効活用できると思うのだが。
0779デフォルトの名無しさん
2007/04/29(日) 13:31:57> 依頼主の最後のコメントを意識した上で。
無駄なものを入れるのが素人とは思えんが。そういう屁理屈を言い出したらキリがない。
自分の未熟さを出題者の言葉でごまかすのは良くない。あと、素数を求めるソースは既出。
0780ぼるじょあ ◆yBEncckFOU
2007/04/29(日) 13:42:32それやってると配列の大きさが小さいうちはいいが、大きくなると
BBS領域がふくれあがって実行ファイルが巨大になるぞ。
double d[1000000]; とかやってみれ。
0781ぼるじょあ ◆yBEncckFOU
2007/04/29(日) 13:43:11○BSS
0782デフォルトの名無しさん
2007/04/29(日) 13:44:530783777
2007/04/29(日) 13:45:22for(j = i*2; j <= MAX ; j+=i) {
checklist[j] = 1;
}
この辺はなんかがオカシイと思っていたのだが、惰性で書いてた。
ご指摘の通りです。
>int checklist[101]={0}; で可
これは忘れていたか、知らなかったか分からない。
10年くらい前にCの本で読んだ気もするが。
>>779
>自分の未熟さを出題者の言葉でごまかすのは良くない。
俺は未熟だが、依頼主の要望に応えられないのでは価値が無いだろ?
0784デフォルトの名無しさん
2007/04/29(日) 14:03:150785デフォルトの名無しさん
2007/04/29(日) 14:29:000786デフォルトの名無しさん
2007/04/29(日) 16:13:20752を実行すると1 3 5……って表示されてくことを馬鹿にしてんだろ?
要素の参照とか全然関係ないじゃん。
0787デフォルトの名無しさん
2007/04/29(日) 16:26:02だからそれについてはその後に突っ込まれてんだが?w
既出事項で後でどうこう言う奴って、分かりきっていることを言っただけだから
何か言おう言おうとして結局自分では言い返せなかった負け犬の最後の悪あがきだろw
0788デフォルトの名無しさん
2007/04/29(日) 16:27:470か1で始まるかについては本当にナンセンスだからw
それでもa[101]とした場合、[]の中で有効的に使えるのは100までというのは
扱っている人なら分かっているだろ。それについて理解していなかったのを露呈されて
最後に苦し紛れにすでに突っ込まれた1と2を持ち出したに過ぎないだろw
0789デフォルトの名無しさん
2007/04/29(日) 18:04:09>a[0]=0;
こんなコード書く奴が何言っても負け犬の遠吠えだな、確かにw
0790デフォルトの名無しさん
2007/04/30(月) 03:50:48BSSが大きくなっても実行ファイルは大きくならんだろう。
たいていの環境では。
0791デフォルトの名無しさん
2007/04/30(月) 04:10:00それについては不要なコードだったってことで、実際に動作には影響していないw
それよか、その程度のことを敢えて突っ込んでバカにしようとする態度をとるお前がキモイ。
気持ち悪い顔してストレスためてんだよね・・・負け犬社会のクズがw
0792デフォルトの名無しさん
2007/04/30(月) 11:21:27許してあげなよ
50にもなって平社員で今日も会社で失敗して年下の主任に怒られてその腹いせに揚げ足とっていじめてやろうとしているだけなんだからさ。
責めたらかわいそうだろ?
0793デフォルトの名無しさん
2007/04/30(月) 11:22:470794デフォルトの名無しさん
2007/04/30(月) 21:10:09[2] 問題文(含コード&リンク):1000個までの整数あるいは少数を打ち込んで、その平均と標準偏差を表示することのできるプログラムを作成せよ。
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:なるべく早めにお願いします。
[5] その他の制限:素人でも作成できるレベルでお願いします。
0795デフォルトの名無しさん
2007/04/30(月) 21:25:07http://www1.cts.ne.jp/~clab/hsample/Func/Func09.html
0796デフォルトの名無しさん
2007/04/30(月) 21:44:15http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3910.txt
ちょっと前にも同じ問題が出たので学校が同じ人かな?
0797794
2007/04/30(月) 22:51:0545行のM_PIが定義されていない!?…となりエラーが出ます。
ど素人なので、どうしていいのかわかりません。
よろしくお願いします。
0798デフォルトの名無しさん
2007/04/30(月) 23:39:22#define N 1000 の下の行に,
#define M_PI 3.14159265358979323846
を追加すればコンパイル通るはず.
gcc だと >>796 のままでコンパイル通ったけど,Visual C++ かなんかでコンパイルしてんの?
0799デフォルトの名無しさん
2007/05/01(火) 00:42:180800デフォルトの名無しさん
2007/05/01(火) 01:02:21じゃなくてこれは正規分布の乱数の関数だから
プログラムが正しく動作しているのを確認しただけじゃないの?
0801デフォルトの名無しさん
2007/05/01(火) 01:15:270802デフォルトの名無しさん
2007/05/01(火) 01:27:40律儀やねぇ
0803デフォルトの名無しさん
2007/05/01(火) 11:18:28コアラのマーチのファンはいませんか?
0804デフォルトの名無しさん
2007/05/01(火) 11:20:53オナしました。。
ダウンロードパス・解凍パスはonaです
0805デフォルトの名無しさん
2007/05/07(月) 18:30:36ちがうお 白ランとか黒ランとかいうぼるじょあさんだお
ランレングス符号化の問題やってくれるお
0806デフォルトの名無しさん
2007/05/09(水) 17:20:44a[0]=8
a[1]=50
a[3]=72
a[4]=20
a[5]=10
って出力したいんですけど、a[2]がとんでるじゃないですか?if文をつかってとばすってきいたんですけど…わかりません。ソースコード教えてください。C言語です。
0807デフォルトの名無しさん
2007/05/09(水) 17:22:24a[0]=8
a[1]=50
a[3]=72
a[4]=20
a[5]=10
って出力したいんですけど、a[2]がとんでるじゃないですか?if文をつかってとばすってきいたんですけど…わかりません。ソースコード教えてください。C言語です。
0808デフォルトの名無しさん
2007/05/09(水) 19:20:49つcontinue
#include<stdio.h>
int main(void)
{
int n;
int a[]={8,50,801,72,20,10)};
for(n=0;n<=5;n++){
if(n==2) continue;
printf("a[%d]=%d\n",n,a[n]);
return 0;
}
間違っててもオラしらねえだ。
0809依頼者
2007/05/10(木) 21:02:35[2] 問題文(含コード&リンク):
(1)関数mainにおいてキーボードから2つの文字を入力し
アルファベットの順序に並べ替えてモニタに出力するプログラムの作成。
(2)キーボードから30個の配列に小数を代入し、それらを小さい順に
並び替え、その結果をモニタに出力するプログラムを作成せよ。このソート
の問題は、バブルソートで実施し、連続する2数の交換main以外の関数swap
で実施せよ。
プログラムの作成。
[3] 環境:
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio.net
[3.3] 言語: C
[4] 期限: 5月12日まで。
簡単なプログラムでお願いします。
0810デフォルトの名無しさん
2007/05/11(金) 17:11:28ありがとうございます。
0811C初心者
2007/05/11(金) 21:59:24以下の(a)~(d)の方法で、
1/1-1/2+1/3-1/4+…+1/n
を求める関数を作成してください。これらの関数は、
int n;
double ansa,ansb,ansc,ansd;
double suma(int),sumb(int),sumc(int),sumd(int);
:
:
ansa=suma(n);
snsb=sumb(n);
ansc=sumc(n);
ansd=sumd(n);
といった形式で使うものとします。n>0に限定してもいいですが、関数suma,sumb,sumc,sumdの中身
を書き換えることなく、任意のnについて計算できるように注意してください。作成した4つの関数
を用いて、n=10000で計算した結果を比較し、違っているならばなぜ違うかを考察してください。
(a)suma:順次左(1/1)から加えていく方法
(b)sumb:順次右(1/n)から加えていく方法
(c)sumc:正負の項を別々に、順次左から加えていく方法
(d)sumd:正負の項を別々に、順次右から加えていく方法
環境
OS:Linux
コンパイラ名とバージョン:gcc
言語: C
期限: 2007/5/18まで
おねがいします。
0812C初心者
2007/05/11(金) 22:13:06問題文
配列に格納された実数を大きさの順に並べ替える関数を作成してください。この関数は以下
のように使うものとします。n=1000は例であって、データ数は1000とは限りません(ただし、
プログラムの都合上1000以下とします)。
--------------------------------------------------------------------
double a[1000];
void sort(double*,int);
:
:
n=1000;
/*(ここでa[0]からa[999]をファイルから読み込む)*/
sort(a,n);
/*(ここでa[0]からa[999]をプリントし、結果を確認する)*/
-------------------------------------------------------------------
環境
OS:Linux
コンパイラ名とバージョン:gcc
言語: C
期限: 2007/5/18まで
0813C初心者
2007/05/11(金) 22:25:14問題文
自然対数の底eを1000桁求めるプログラムを作成してください。e^xをマクローリン展開
した
e^x=1+x/1!+x^2/2!+…+x^n/n!+…
において、x=1とおいた式を計算するとよいでしょう。
環境
OS:Linux
コンパイラ名とバージョン:gcc
言語: C
期限: 2007/5/18まで
0814デフォルトの名無しさん
2007/05/12(土) 02:54:07上のprintf文の%sでどのように"Hello World"を処理しているのか分かりません。
どなたかご教授して下さい。
0815デフォルトの名無しさん
2007/05/12(土) 04:16:05メインは省略
double suma(int n) {
int i;
double sum = 0;
for(i=1; i<=n; i++) {
if(i%2) sum += (double)1 / i;
else sum -= (double)1 / i; }
return sum;
}
double sumb(int n) {
int i;
double sum = 0;
for(i=n; i > 0; i--) {
if(i%2) sum += (double)1 / i;
else sum -= (double)1 / i; }
return sum;
}
double sumc(int n) {
int i;
double sum = 0;
for(i=1; i<=n; i+=2) sum += (double)1 / i;
for(i=2; i<=n; i+=2) sum -= (double)1 / i;
return sum;
}
double sumd(int n) {
int i;
double sum = 0;
for(i=n; i > 0; i-=2) sum += (double)1 / i;
for(i=n-1; i > 0; i-=2) sum -=(double)1 / i;
return n % 2 ? sum : -sum;
}
0816C初心者
2007/05/12(土) 16:18:11ありがとうございます。とりあえず関数sumaについてプログラムを作ってみたのですが
メインの部分はこれで良いのでしょうか?みていただけると幸いです。
#include <stdio.h>
double suma(int n) {
int i;
double sum = 0;
for(i=1; i<=n; i++) {
if(i%2) sum += (double)1 / i;
else sum -= (double)1 / i; }
return sum;
}
int main(void)
{
int n;
double ansa;
double suma(int);
printf("nを入力してください:"); scanf("%f",&n);
ansa = suma(n);
printf("計算結果は%fです。\n",ansa);
return(0);
}
0817デフォルトの名無しさん
2007/05/12(土) 16:21:250818デフォルトの名無しさん
2007/05/12(土) 16:27:50なんというキモさ
0819デフォルトの名無しさん
2007/05/12(土) 19:28:360820依頼者
2007/05/12(土) 20:13:41[2] 問題文(含コード&リンク):
(1)関数mainにおいてキーボードから2つの文字を入力し
アルファベットの順序に並べ替えてモニタに出力するプログラムの作成。
(2)キーボードから30個の配列に小数を代入し、それらを小さい順に
並び替え、その結果をモニタに出力するプログラムを作成せよ。このソート
の問題は、バブルソートで実施し、連続する2数の交換main以外の関数swap
で実施せよ。
[3] 環境:
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio.net
[3.3] 言語: C
[4] 期限: 5月14日まで。
全然わかりません、よろしくお願いします。
0821ぼるじょあ ◆hZ8e4Wjqvw
2007/05/13(日) 11:03:52(・3・) エェー (2)だけやっといたYO!
#include<stdio.h>
#define DATA_NUM 30
void swap(double *a, double *b){
double c;
c=*a;
*a=*b;
*b=c;
}
int main(void){
double data[DATA_NUM];
int i, j;
for(i=0;i<DATA_NUM;i++){
printf("実数を入力して下さい");
scanf("%lf", &data[i]);
}
for(i=0;i+1<DATA_NUM;i++){
for(j=i+1;j<DATA_NUM;j++){
if(data[i]>data[j]){
swap(&data[i], &data[j]);
}
}
}
for(i=0;i<DATA_NUM;i++)
printf("%f\n", data[i]);
return 0;
}
0822依頼者
2007/05/13(日) 15:21:27あとどなたか(1)のほうもお願いします。
0823デフォルトの名無しさん
2007/05/13(日) 16:08:33簡単だから自分でやって見れ
まずはCの復習、ここがお勧め→ttp://effy.ldw.jp/c/index.html
考え方はと言うか疑似コード?は
0.骨格を作る(#includeやmain(){})。
ぼるじょあ氏のswap関数を組み込む(main関数の前にコピペ)
1.char型の変数、a,bを宣言
2.文字をscanf("%c",&a)かなにかでキーボードからを入力して変数aに文字を入れる。
3.同じ様に文字を入力して変数bに入れる。
4.もし、aがbより大きければ(アルファベット順じゃないなら)入れ替える。if(a>b) swap(&a,&b);文字も数値として扱われるから大きさを比べられる。
5.a,bを出力
6.終わり
0824デフォルトの名無しさん
2007/05/14(月) 02:51:450825デフォルトの名無しさん
2007/05/14(月) 08:24:300826デフォルトの名無しさん
2007/05/14(月) 22:41:50[2] 問題文: はじめに人数を入力。その人数分、交通費を入力。
するとお金の種類ごと(一万円、五千円、千円、五百円、百円、五十円、十円、五円、一円)に何枚用意する必要があるか表示してくれるプログラムを作成せよ。
以下の三つが課題達成条件です。
・人数として0もしくは負の数を入力された場合は、「正しい人数を入力してください」と、表示し終了する。
・枚数が0枚の場合は硬貨の種類は表示しない。
・正しい硬貨と枚数が表示される。
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン: Visual C++ 2005
[3.3] 言語: C
[4] 期限: 5月15日まで
[5] その他の制限: do,while,for文まで習いました。
よろしくお願いします。
0827homoじょあ ◆5OLf4yFnuM
2007/05/14(月) 23:06:39#include <stdio.h>
int main(void){
int sum = 0, num, cnt, tmp;
int money[] = {10000, 5000, 1000, 500, 100, 50, 10, 5, 1};
printf("人数:");
scanf("%d", &num);
if(num <= 0){
printf("正しい人数を入力して下さい\n");
return -1;
}
for(cnt=0; cnt<num; cnt++){
printf("%d人目の交通費:", cnt+1);
scanf("%d", &tmp);
sum += tmp;
}
for(cnt=0; cnt<9; cnt++){
tmp = sum / money[cnt];
if(tmp != 0){
printf("%d円:%d枚\n", money[cnt], tmp);
sum -= tmp * money[cnt];
}
}
return 0;
}
0828デフォルトの名無しさん
2007/05/14(月) 23:23:16ありがとうございます。感謝です
0829ぼるじょあ ◆hZ8e4Wjqvw
2007/05/14(月) 23:27:11(・3・) エェー おいらもやってみたYO!
#include<stdio.h>
void money_num_calc(const int money_kind[], int money_kind_num, int money_num[], int value){
int i;
if(value<0) value=0;
for(i=0;i<money_kind_num;i++){
money_num[i]=value/money_kind[i];
value%=money_kind[i];
}
}
int main(void){
const int money_kind[]={10000,5000,1000,500,100,50,10,5,1};
int money_num_total[sizeof(money_kind)/sizeof(money_kind[0])]={0};
int money_num[sizeof(money_kind)/sizeof(money_kind[0])];
int human_num, human_index, i, value;
printf("人数を入力して下さい ");
scanf("%d", &human_num);
if(human_num<=0){printf("\n正しい人数を入力してください\n");return 1;}
for(human_index=0;human_index<human_num;human_index++){
printf("%d 人目の交通費を入力してください ", human_index+1);
scanf("%d", &value);
money_num_calc(money_kind, sizeof(money_kind)/sizeof(money_kind[0]), money_num, value);
for(i=0;i<sizeof(money_kind)/sizeof(money_kind[0]);i++)
money_num_total[i]+=money_num[i];
}
for(i=0;i<sizeof(money_kind)/sizeof(money_kind[0]);i++)
if(money_num_total[i]>0)
printf("%5d 円 : %d 枚\n", money_kind[i], money_num_total[i]);
return 0;
}
0830ぼるじょあ ◆hZ8e4Wjqvw
2007/05/14(月) 23:31:49(・3・) エェー 関数使うのやめてみたYO! あと交通費が負数のときは 0円換算するYO!
#include<stdio.h>
int main(void){
const int money_kind[]={10000,5000,1000,500,100,50,10,5,1};
int money_num[9]={0};
int human_num, human_index, i, value;
printf("人数を入力して下さい ");
scanf("%d", &human_num);
if(human_num<=0){
printf("\n正しい人数を入力してください\n");
return 1;
}
for(human_index=0;human_index<human_num;human_index++){
printf("%d 人目の交通費を入力してください ", human_index+1);
scanf("%d", &value);
if(value<0) value=0;
for(i=0;i<9;i++){
money_num[i]+=value/money_kind[i];
value%=money_kind[i];
}
}
for(i=0;i<9;i++)
if(money_num[i]>0)
printf("%5d 円 : %d 枚\n", money_kind[i], money_num[i]);
return 0;
}
0831デフォルトの名無しさん
2007/05/15(火) 03:28:30[2] 問題文(含コード&リンク):
1.英文を入力するとその暗号文が出力されるプログラムの作成
入力:文字列(英文)
出力:文字列(数字)
2.暗号文を元の英文に戻すプログラムの作成
入力:文字列(数字)
出力:文字列(英文)
暗号は換字暗号でよい。[アルファベット(a〜z)、スペースを数字(00〜26)、スペースを対応させる]例a⇔23、b⇔09、c⇔17…
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 火曜日の夕方、もしくは水曜日の朝まで
[5] その他の制限: ループ(forやwhile)、配列を使って作成する
ぼるじょあさん、よろしくおねがいします。
0832ぼるじょあ ◆hZ8e4Wjqvw
2007/05/15(火) 09:48:13(・3・) エェー マルチポストすんなYO!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void swap(int *a, int *b){
int c; c=*a;*a=*b;*b=c;
}
int main(void){ // 1.
char symbol[]="abcdefghijklmnopqrstuvwxyz ", *ptr;
int i, moji, num[sizeof(symbol)-1];
for(i=0;i<sizeof(symbol)-1;i++) num[i]=i;
for(i=0;i<sizeof(symbol)-1;i++) swap(&num[i], &num[rand()%(sizeof(symbol)-1)]);
while((moji=getchar())!=EOF){
ptr=strchr(symbol, moji);
if(ptr!=NULL)
; // ここにある処理を書けYO!
}
return 0;
}
int main(void){ // 2.
char symbol[]="abcdefghijklmnopqrstuvwxyz ";
int i, moji, num[sizeof(symbol)-1];
for(i=0;i<sizeof(symbol)-1;i++) num[i]=i;
for(i=0;i<sizeof(symbol)-1;i++) swap(&num[i], &num[rand()%(sizeof(symbol)-1)]);
while(scanf("%02d", &moji)>0){
for(i=0;i<sizeof(symbol)-1;i++)
if(moji==num[i])
; // ここにある処理を書けYO!
}
return 0;
}
0833ぼるじょあ ◆hZ8e4Wjqvw
2007/05/15(火) 10:06:46(・3・) エェー 少し短くしたYO!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void swap(char *a, char *b){
char c; c=*a;*a=*b;*b=c;
}
int main(void){ // 1.
char symbol[]="abcdefghijklmnopqrstuvwxyz ", *ptr;
int i, moji;
for(i=0;i<sizeof(symbol)-1;i++)
swap(&symbol[i], &symbol[rand()%(sizeof(symbol)-1)]);
while((moji=getchar())!=EOF){
ptr=strchr(symbol, moji);
if(ptr!=NULL)
; // ここにある処理を書けYO!
}
return 0;
}
int main(void){ // 2.
char symbol[]="abcdefghijklmnopqrstuvwxyz ";
int i, moji;
for(i=0;i<sizeof(symbol)-1;i++)
swap(&symbol[i], &symbol[rand()%(sizeof(symbol)-1)]);
while(scanf("%02d", &moji)>0){
if(moji>=0 && moji<sizeof(symbol)-1)
; // ここにある処理を書けYO!
}
return 0;
}
0834831
2007/05/15(火) 17:42:22コンパイラがgccではなく、borlandでした。すいません。
あと一つ目のプログラムを実行したら以下のようなエラーが出てしまいます。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void swap(char *a, char *b)
{
char c; c=*a;*a=*b;*b=c;
}
int main(void){
char symbol[]="abcdefghijklmnopqrstuvwxyz ", *ptr;
int i, moji;
for(i=0;i<sizeof(symbol)-1;i++)
swap(&symbol[i], &symbol[rand()%(sizeof(symbol)-1)]);
while((moji=getchar())!=EOF){
ptr=strchr(symbol, moji);
if(ptr!=NULL);}
return 0;
}
>bcc32 bo1.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
bo1.c:
警告 W8019 bo1.c 17: コードは効果を持たない(関数 main )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
なにか解決策は無いでしょうか?
0835831
2007/05/15(火) 17:44:47#include <stdio.h>
int main(void){
int i;
char a[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int b[]={'01','10','11','02','20','22','03','30','33','04','40','44','05','50','55','06','60','66','07','70','77','08','80','88','09','90'};
printf();
scanf();
while(){
}
printf();
return 0;
}
このプログラムを改良してもらえないでしょうか?
無理を言ってすいません。
0836デフォルトの名無しさん
2007/05/15(火) 17:52:25いつから「警告」のことを「エラー」と言うようになったのでしょう。
0837デフォルトの名無しさん
2007/05/15(火) 17:54:05そのプログラムを改良したくても、間違いだらけでコンパイルの通しようもありませんが。
0838835
2007/05/15(火) 18:12:47int main(void){
int; i;
char a[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int b[26]={'01','10','11','02','20','22','03','30','33','04','40','44','05','50','55','06','60','66','07','70','77','08','80','88','09','90'};
printf("01から90までの数字を入力してください:");
scanf("%s", &a);
while(){
}
printf("%s\n", a);
return 0;
}
申し訳ありません。
自力で出来るのがこの程度なのです。
while文のなかの構造や配列の使い方がよくわかりません。
何度もすいません。
>>834
警告とエラーは違うのですね。すいません。
0839デフォルトの名無しさん
2007/05/15(火) 18:15:44試しに、bの全要素を出力して味噌。ほんとにその数値でいいの?
0840ぼるじょあ ◆hZ8e4Wjqvw
2007/05/15(火) 18:29:38(・3・) エェー マルチは嫌いだから
穴埋め問題にしておいただけだYO!
でも、レス見る限り解けなさそうだからヒントやるYO!
ヒント
1 の main の穴埋め部分
printf("%02d", ???-???)
2 の main の穴埋め部分
putchar(symbol[???])
???の部分に適当な変数名を当てはめていけばいつか答えにあたるYO!
0841838
2007/05/15(火) 19:05:53はい。bの要素の数値は何でもいいです。
英文字と1対1で対応していればいいです。
>>840
アドバイスありがとうございます。
自分で作ったプログラムもいろいろ考えてみます。
0842デフォルトの名無しさん
2007/05/15(火) 19:10:47御託並べずに出力してみろ。想定した(自分で書いた積もりの)数値が出力されるか?
0843デフォルトの名無しさん
2007/05/15(火) 19:27:22これは問題文そのまま?
0844838
2007/05/16(水) 00:33:20問題文は
「暗号は最も簡単な暗号:換字暗号でよい。」
です。
「アルファベット(a〜z)、スペースを数字(00〜26)、スペースを対応させる」の部分は
勝手に付け足しました…
>>842
うまくできませんね…。
配列の要素とscanf、printfのなかも変えてやってみます。
0845デフォルトの名無しさん
2007/05/16(水) 01:14:47[1] 授業単元:C言語実習
[2] 問題文(含コード&リンク):
パソコンに設定されている日付を読み込んで(<time.h>とかかな?)
キーボードから入力される日付と合致しているかしていないかの判断を行う
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン: Borland C++ Compiler 5.5
[3.3] 言語: C
[4] 期限: 2007年05月17日まで
[5] その他の制限 : 入力されてくる日付はYYYYMMDD方式でも
年月日個別でもどちらのパターンでも構いません
0846デフォルトの名無しさん
2007/05/16(水) 01:34:33#include <time.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
struct tm *date;
time_t now;
int year, month, day;
int hour, minute, second;
int iy,im,id; // 入力で受け付ける年月日
char buf[10];
printf("年月日を入力\n");
printf("年 > ");
scanf("%s",buf);
iy=atoi(buf);
printf("月 > ");
scanf("%s",buf);
im=atoi(buf);
printf("年 > ");
scanf("%s",buf);
id=atoi(buf);
0847846の続き
2007/05/16(水) 01:35:15/* 現在の日時を取得 */
time(&now);
date = localtime(&now);
year = date->tm_year + 1900;
month = date->tm_mon + 1;
day = date->tm_mday;
hour = date->tm_hour;
minute = date->tm_min;
second = date->tm_sec;
printf("入力された年月日 : %d / %d / %d \n",iy,im,id);
printf("現在 : %d / %d / %d \n",year,month,day);
printf("%2d : %2d : %2d \n",hour,minute,second);
if(iy==year && im==month && id==day)
printf("一致\n");
else printf("不一致\n");
return 0;
}
0848844
2007/05/16(水) 01:44:39int main(void){
int a,b;
char eigo[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int suuji[26]={1,10,11,2,20,22,3,30,33,4,40,44,5,50,55,6,60,66,7,70,77,8,80,88,9,90};
for( a=0; a<26; a++ )
{
printf("test0[%d] = %c\n", a, eigo[a]);
}
for( b=0; b<26; b++ )
{
printf("test1[%d] = %d\n", b, suuji[b]);
}
return 0;
}
--------------------------
これで思うような出力が出来たのですが、
これを1対1で対応させて暗号とするにはどうしたらよいのでしょうか?
アドバイスください。ぼるじょあさんのは難しくて理解できませんでした。
せっかく答えていただいたのに申し訳ありません。
0849デフォルトの名無しさん
2007/05/16(水) 03:18:410850デフォルトの名無しさん
2007/05/16(水) 03:26:46向こうのスレに答えがあるようだけど。
0851デフォルトの名無しさん
2007/05/16(水) 12:27:03キーボードから前順,中順,後順を選択すると、
その順で木をなぞる再起プログラミングを作成せよ.
プログラミング。
C言語です。
5月21日まで。
OSはwindowsです。
よろしくお願いいたします。
意味が分からない。
0853デフォルトの名無しさん
2007/05/16(水) 13:26:13範囲内で制御するルーチンを作りなさい
アメリカ陵軍情報局研修3
OSはWINDOWS3000
期限となる日時は機密条項に抵触するため、
可能な限り早くお願いする
頼んだつもりは無いが、未来は諸君の腕にかかっている
0854デフォルトの名無しさん
2007/05/16(水) 13:37:200855気まぐれアナスイ
2007/05/16(水) 14:09:51新2ch語誕生の予感。
0857デフォルトの名無しさん
2007/05/16(水) 16:31:51>WINDOWS3000
とりあえず俺の手元にはテスト環境が見あたらないな。
うpきぼんぬ。
0858デフォルトの名無しさん
2007/05/16(水) 16:34:2010個の整数データを木構造に保存し、
順に木をなぞる再起プログラミングを作成せよ.
これなら分かりますか??
再起プログラミングが、よく分からないんです。
教えていただけないでしょうか?
0859デフォルトの名無しさん
2007/05/16(水) 16:38:36何の木?
どんな木で何の順だよ。
0861デフォルトの名無しさん
2007/05/16(水) 17:11:37根付き木です。
ポインタにより木を実現し,データを保存せよって書いてあるんですが
自分は意味が分かりません。
お願いします。
>>860
課題をそのままコピーしただけなので、
よくわかんないですけど、色々調べたのですが深さ優先探索での
前順、中順、後順の事だと思います。すいません。
0862デフォルトの名無しさん
2007/05/16(水) 17:12:500863デフォルトの名無しさん
2007/05/16(水) 17:22:27http://ja.wikipedia.org/wiki/%E3%83%84%E3%83%AA%E3%83%BC%E6%A7%8B%E9%80%A0
>ポインタにより木を実現し,データを保存せよって書いてあるんですが
どういう基準で入力値を構造化するのか定義しろ。
>前順、中順、後順
そんな言葉は存在しねえので、それぞれが何を表してるのか定義しろ。
0865デフォルトの名無しさん
2007/05/16(水) 17:27:29いや、存在はしてるみたい。
マイナーな言葉で通じる人が少ないかもしらんけど。
0867デフォルトの名無しさん
2007/05/16(水) 21:53:16ありがとうございました
0868デフォルトの名無しさん
2007/05/16(水) 23:11:05[2] 問題文(含コード&リンク): 問題が分かりません。
[3] 環境
[3.1] OS: 2 ちゃんねる
[3.2] コンパイラ名とバージョン: Docomo2.0
[3.3] 言語: C
[4] 期限: 無期限
[5] その他の制限: printf() 系関数は使用不可。
0869デフォルトの名無しさん
2007/05/16(水) 23:40:310870依頼者
2007/05/17(木) 22:32:13[2] 問題文(含コード&リンク):
キーボードより文字列aと文字列bを入力し、比較する(どちらが辞書並びで先かを表示)プログラムの作成。
但し、strcmp関数を用いてはならない。
[3] 環境:
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio.net
[3.3] 言語: C
[4] 期限: 5月19日まで。
0871デフォルトの名無しさん
2007/05/18(金) 00:09:460872デフォルトの名無しさん
2007/05/18(金) 00:27:39#include<stdio.h>
int main(void)
{
char a[50],b[50],n;
printf("文字列a:");scanf("%s",a);
printf("文字列b:");scanf("%s",b);
for(n=0;n<50;n++){
if(a[n]!=b[n]){
if(a[n]=='\0')printf("文字列aが辞書並びで先");
else if(b[n]=='\0')printf("文字列bが辞書並びで先");
else if(a[n]<b[n]) printf("文字列aが辞書並びで先");
else printf("文字列bが辞書並びで先");
break;
}else if(a[n]=='\0' && b[n]=='\0'){
printf("文字列は同じ");
break;
}
}
return 0;
}
ターゲットのロケールとコードページを。
0874C初心者
2007/05/18(金) 15:01:260875ぼるじょあ ◆hZ8e4Wjqvw
2007/05/18(金) 15:42:13(・3・) エェー バブルソートでやってみたYO!
void sort(double *data, int data_num){
int i, j;
double tmp;
if(data==NULL || data_num<1) return;
for(i=0;i+1<data_num;i++){
for(j=i+1;j<data_num;j++){
if(data[i]>data[j]){
tmp=data[i];
data[i]=data[j];
data[j]=tmp;
}
}
}
}
2問題文:配列を用いてn個までの値を入力し、その最大値、最小値、及び
全体の平均点を出すプログラムを作成せよ。
3環境:Linux3.2
gcc
C
4 2007年5月22日17時
5 ifやwhile、そして今日配列まで習いました。
よろしくお願いします!!
0877依頼者
2007/05/18(金) 20:44:490878C初心者
2007/05/18(金) 21:46:07ありがとうございます<(_ _)>月曜にならないと操作できないので、また後で実効してみます。
0879デフォルトの名無しさん
2007/05/19(土) 09:51:37おそらくわかるであろう範囲のものを使って書いておいた。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4001.txt
0880デフォルトの名無しさん
2007/05/19(土) 16:33:27[2] 問題文(含コード&リンク): Gauss消去法のプログラムを変更することにより、Gauss-Jordan法のプログラムを作成せよ。
任意のn×n行列Aとn×m行列Bを与えて、AX=Bいの解行列Xを(完全ピポット選択でなく部分ピボット選択のGauss-Jordan法
により)求めるプログラムを作成せよ。このとき、n,mや行列A,Bは標準入力から入力し、また、実際に行列A,Xの積を計算することで、
得られた解が正しいかどうかをチェックする機能も実装せよ。またこのプログラムを用いて、線形連立方程式の解や、逆行列を
求めた例も示せ。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:不明
[3.3] 言語: C
[4] 期限: 5月22日
[5] その他の制限: 問題文長いですが・・・よろしくお願いします!!
0881ぼるじょあ ◆hZ8e4Wjqvw
2007/05/20(日) 12:29:47(・3・) エェー >>875 はバブルソートと違うYO!今度こそバブルソートだYO!
void sort(double *data, int data_num){
int i, j;
double tmp;
if(data==NULL || data_num<1) return;
for(i=0;i+1<data_num;i++){
for(j=i;j+1<data_num;j++){
if(data[j]>data[j+1]){
tmp=data[j];
data[j]=data[j+1];
data[j+1]=tmp;
}
}
}
}
月曜日に学校にいって早速実行してみたいとおもいます。
こんなに難しいのになんでスラスラできるのか不思議でたまりません。
0883デフォルトの名無しさん
2007/05/20(日) 16:15:040884デフォルトの名無しさん
2007/05/20(日) 16:18:510885デフォルトの名無しさん
2007/05/20(日) 18:19:55[2] キーボードから0〜9の数字dと,正の整数nを読み込み,n以下の整数xで,
xとxの2乗の10進数表示の両方にdを含むものをすべて出力するプログラムをつくりなさい。ただし,次のプロトタイプ宣言で示すように,整数xとdを仮引数として,xとxの2乗の10進数表示の両方にdを含む場合に1,そうでない場合に0を返す関数hit_digitを作成しなさい。
int hit_digit(int x, int d);
▼出力例
0〜9の数字dを入力して下さい:7?
正の整数nを入力して下さい:100?
該当するものは次の通り:
27 74 76 87
全部で4個ありました
[3] 環境[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:VC++
[3.3] 言語:C
力業でやればできそうなのですが、スマートな方法がなかなか思いつかなくて・・・よろしくお願いします
0886デフォルトの名無しさん
2007/05/20(日) 19:26:572chで宿題丸投げするような連中はたかが知れてるさw
0887885
2007/05/20(日) 20:24:27ご迷惑おかけしましたー
0888デフォルトの名無しさん
2007/05/20(日) 20:57:27【初心者歓迎】C/C++室 Ver.37【環境依存OK】
http://pc11.2ch.net/test/read.cgi/tech/1178432985/408
ここで質問してた人でしょ?
0889デフォルトの名無しさん
2007/05/20(日) 21:19:14[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4012.txt
[3] 環境:
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio 2005
[3.3] 言語: C
[4] 期限: 5月21日迄
宜しくお願いします。
0890デフォルトの名無しさん
2007/05/20(日) 21:21:48まるで全て自力で解いたかのような口ぶりだな
0891デフォルトの名無しさん
2007/05/20(日) 21:40:48問題文がないぞ
0892デフォルトの名無しさん
2007/05/20(日) 21:57:10>>887を見たらor2
0893889
2007/05/20(日) 22:26:16文字列"12345"(固定です)を数値の12345に変換するプログラムです。
宜しくお願いします
0894デフォルトの名無しさん
2007/05/20(日) 22:29:290895デフォルトの名無しさん
2007/05/20(日) 22:34:17関数を使うだけ!?!????????
0896889
2007/05/20(日) 22:37:58全く初心者なものでごめんなさい。文章が少なすぎました><
0897デフォルトの名無しさん
2007/05/20(日) 22:57:59int ret = 0;
while(*p) ret = ret * 10 + *p++ - '0';
return ret;
}
0898デフォルトの名無しさん
2007/05/20(日) 23:00:120899デフォルトの名無しさん
2007/05/20(日) 23:05:130900デフォルトの名無しさん
2007/05/20(日) 23:11:070901デフォルトの名無しさん
2007/05/20(日) 23:13:470902デフォルトの名無しさん
2007/05/20(日) 23:15:250903デフォルトの名無しさん
2007/05/20(日) 23:17:46なんでそんなとこに突っ込み入るのかわからん。
0904デフォルトの名無しさん
2007/05/20(日) 23:20:140905デフォルトの名無しさん
2007/05/20(日) 23:25:03考えの浅さを暴露しただけだったが。
0906デフォルトの名無しさん
2007/05/21(月) 00:04:13数値計算がうまくいてません。助けてください
#include <math.h>
#include <stdio.h>
int main()
{
float S, s, x, y, z;
s = (x + y + z) / 2;
S = sqrt( s * (s-x) * (s-y) * (s-z) );
printf("三辺は?\n");
scanf("%lf %lf %lf",&x ,&y ,&z);
if( x+y>z && y+z>x && z+x>y )
{
printf("面積は%lfです\n",sqrt(S));
}
else
{
printf("三角形ではありません\n");
}
}
0907デフォルトの名無しさん
2007/05/21(月) 00:06:50[2] 問題文(含コード&リンク):http://brain.is.kyushu-u.ac.jp/~shidoji/japanese/InformationScience/3.pdf
[3] 環境
[3.1] OS: WindowsXP
[3.2] gcc 3.4 だとと思う
[3.3] 言語: C
[4] 期限: 2007/05/21 15時まで
0908デフォルトの名無しさん
2007/05/21(月) 00:08:210909デフォルトの名無しさん
2007/05/21(月) 00:14:24floatをdoubleにするか、scanfで%lfじゃなく%fにする。
sとSの計算はscanfの後ろに置く
0910デフォルトの名無しさん
2007/05/21(月) 01:15:54多次元配列a[3][2]の中に数字をランダムに入れて、それを大きい順にまたa[3][2]に入れるにはどうしたらいいんですか?(for文を用いて)
0911デフォルトの名無しさん
2007/05/21(月) 01:55:10たすかりました!ありがとうございます。
0912デフォルトの名無しさん
2007/05/22(火) 11:46:07ICBM/SLBMの着弾誤差50メートル?www
Mt級の戦略核だったら50メートルと500メートルでも大した差はねぇぞ
0913ぼるじょあ ◆hZ8e4Wjqvw
2007/05/22(火) 11:51:57(・3・) エェー 問題の意味が分からなかったYO!
ってことでエスパー回答だYO!
#include<stdio.h>
#include<stdlib.h>
int main(void){
int a[3][2], *p_max, temp;
int i, j, k, l;
for(i=0;i<3;i++)
for(j=0;j<2;j++)
a[i][j]=rand();
for(i=0;i<3;i++){
for(j=0;j<3;j++){
p_max=&a[i][j];
for(k=i,l=j;k<3;k++){
for(;l<2;l++){
if(*p_max<a[k][l])
p_max=&a[k][l];
}
l=0;
}
temp=a[i][j];
a[i][j]=*p_max;
*p_max=temp;
}
}
return 0;
}
0914ぼるじょあ ◆hZ8e4Wjqvw
2007/05/22(火) 11:55:11(・3・) エェー >>913 訂正だYO!
for(j=0;j<3;j++){
↓
for(j=0;j<2;j++){
0915デフォルトの名無しさん
2007/05/22(火) 12:49:37各タブを\tに、各バックスペースを\bに、各バックスラッシュを\\に置き換えながら、
入力を出力に複写するプログラムを書きたいです
すみませんがお願いします
0916デフォルトの名無しさん
2007/05/22(火) 14:09:33-=・=- -=・=-
同じ問題がプログラミング言語Cのアンサーブックに答えが書かれてたな。
0917デフォルトの名無しさん
2007/05/22(火) 14:35:40そこを拘るのが日本人
bash-2.05b$ gcc repo05.c
/usr/lib/gcc-lib/i386-vine-linux/3.3.2/../../../crt1.o(.text+0x18): In function`_start':
: undefined reference to `main'
collect2: ld はステータス 1 で終了しました
とエラーがでてしまいます。今日提出日なのでなるべく早く返事ください!!
急ですみませんがよろしくお願いします(><)
0919ぼるじょあ ◆hZ8e4Wjqvw
2007/05/22(火) 15:09:20(・3・) エェー 行数制限厳しいYO!
#include <stdio.h>
#include <math.h>
int main(void){
int price=100, num=1;
printf("リンゴの数を入力して下さい : ");
scanf("%d", &num);
if(num<=0) price=0;
if(num>=10) price=95;
if(num>=20) price=90;
printf("値段 %d 円\n", price*num);
return 0;
}
int main(void){
int year;
printf("西暦年を入力して下さい : ");
scanf("%d", &year);
if(year%400==0 || (year%100!=0 && year%4==0)) printf("閏年です\n");
else printf("閏年ではありません\n");
return 0;
}
int main(void){
double a, b, c, s;
printf("三角形の三辺の長さを入力して下さい : ");
scanf("%lf %lf %lf", &a, &b, &c);
if(a+b<=c || b+c<=a || c+a<=b){printf("三角形ではありません\n");return 0;}
s=(a+b+c)/2;
printf("%f\n", sqrt(s*(s-a)*(s-b)*(s-c)));
return 0;
}
0921デフォルトの名無しさん
2007/05/22(火) 20:20:540922デフォルトの名無しさん
2007/05/23(水) 00:07:06880と同じ問題に苦戦している俺ワロタ
阪大www
0923デフォルトの名無しさん
2007/05/23(水) 17:58:12取り合えず、2問ほどテストして連立方程式の解や逆行列が求められる事は確認した。
ただ、GJ法や部分ピボット選択をよく理解してないので間違ってるかもhttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4035.c
久々に楽しめる問題だったよ。ありがと。
0924デフォルトの名無しさん
2007/05/23(水) 18:57:21遅いよ
今日の五時で締め切り……
0925デフォルトの名無しさん
2007/05/23(水) 22:49:51アリガトウ!
でも924と同じく、間に合いませんでした・・・
課題1と3だけやって提出した・・・・
0926デフォルトの名無しさん
2007/05/23(水) 22:58:132行3列の2次元配列に自然数をランダムに選ぶ。ただし,58はどこかに入れる。その時以下のプログラムを作れ。
配列に入れられた数値を
�@降順に出力
�A昇順に出力
�B数値58の行番号、列番号を出力
if、for、while、do文習いました。バブルソートを使います。
お願いしますm(_ _)m
0927homoじょあ ◆5OLf4yFnuM
2007/05/23(水) 23:35:26(・3・) エェー 意味取り違えてるかもしれないけど
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4038.txt
0928気まぐれアナスイ
2007/05/24(木) 14:46:420930依頼者
2007/05/24(木) 22:21:13[2] 問題文(含コード&リンク):
x[6]を宣言してx[0]に5、x[1]に8、x[2]に6、x[3]に4、x[4]に1、x[5]に3を代入した後、ポインタを使って、x[0]、x[2]、x[4]の和と
x[1]、x[3]、x[5]の積を求めるプログラムを作成せよ。
[3] 環境:
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio
[3.3] 言語: C
[4] 期限: 5月28日迄
よろしくお願いします。
0931デフォルトの名無しさん
2007/05/24(木) 22:53:48[2] 問題文(含コード&リンク):
例題と使用するhtmlファイルです。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4051.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4050.zip[3] 環境:
HTMLファイルのタグを除去する('<'と'>'で囲まれた部分を除いて出力する)
プログラムを次のように書け。
(1)getlineを用いて行ごとに処理する。
(2)連続する空白文字(ブランク、タブ、改行文字)は1つだけにする(他は削除する)
ヒント:空白文字を続けないようにするには、直前の文字を覚えておくのが一つ
の方法である。
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc3.4
[3.3] 言語: C
[4] 期限: 5月24日23時59分
できれば簡単なコードにしていただけると嬉しいです。
期限ぎりぎりで申し訳ありませんが、よろしく御願いします。
0932デフォルトの名無しさん
2007/05/24(木) 22:56:39#include<stdio.h>
int main(){
int i,j=0,k=1,x[6]={5,8,6,4,1,3};
for(i=0;i<6;i++)if(i%2)k*=*(x+i);else j+=*(x+i);
printf("和%d 積%d\n",j,k);
return 0;
}
0933依頼者
2007/05/24(木) 23:06:45ありがとうございます。助かりました。
0934依頼者
2007/05/24(木) 23:19:52[2] 問題文(含コード&リンク):
与えられた文字数分だけ文字を一文字ずつ順に表示するprint関数を作成せよ。
引数として文字列stringと整数nを用入ること。ここでstringは文字列型ポインタ配列の先頭アドレスを、nは表示する文字数を意味する。
[3] 環境:
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio
[3.3] 言語: C
[4] 期限: 5月28日迄
すいません、もう一つお願いします
0935デフォルトの名無しさん
2007/05/24(木) 23:26:25#include<stdio.h>
void print(char *string, int n){while(n-- && *string)putchar(*string++);}
int main(){
print("bakasyoujiki",4);
return 0;
}
0936デフォルトの名無しさん
2007/05/24(木) 23:32:24[2] 問題文(含コード&リンク):
例題と使用するhtmlファイルです。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4051.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4050.zip
HTMLファイルのタグを除去する('<'と'>'で囲まれた部分を除いて出力する)
プログラムを次のように書け。
(1)getlineを用いて行ごとに処理する。
(2)連続する空白文字(ブランク、タブ、改行文字)は1つだけにする(他は削除する)
ヒント:空白文字を続けないようにするには、直前の文字を覚えておくのが一つ
の方法である。
[3] 環境:
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc3.4
[3.3] 言語: C
[4] 期限: 5月24日23時59分
できれば簡単なコードにしていただけると嬉しいです。
期限ぎりぎりで申し訳ありませんが、よろしく御願いします。
0937依頼者
2007/05/24(木) 23:43:50ありがとうございました
0938デフォルトの名無しさん
2007/05/25(金) 01:56:48(^3^) <これでいいかYo!?
int main() {
int flag = 0, count = 0;
char line[1024];
while(getline(line, sizeof(line))) {
char *m, *n;
for(m = n = line; *m; ++m) {
if(*m == '<') while(*++m && *m != '>');
else {
char c = *n++ = *m;
if(c == ' ' || c == '\t') while(c == m[1]) ++m;
}
}
*n = '\0';
if(*line && *line != '\n') printf("%d: %s", ++count, line);
}
return 0;
}
0939デフォルトの名無しさん
2007/05/25(金) 02:11:010940和田っちあっちゃん
2007/05/25(金) 20:07:24[2] 問題文(含コード&リンク):
<条件>
・ビリヤード台がおいてある
・台の左下端の座標は(0,0)、右上端の座標は(2,1)とする
・位置(x0、y0)に手玉
・手玉の初速度(v0x,v0y)
・手玉の位置、初速度はscanfをつかって入力する
<問題>
・手玉はどこに衝突するか?
・衝突位置の座標を表示する
・ポケットにおちることは考えなくてもよい
・手玉の大きさ、摩擦等は考えない
・20回のバンクを考慮して21カ所解答
[3] 環境
C言語で
[4] 期限: [2007年6月1日まで]
[5] その他の制限: if,while,for構文まで
おねがいします。。
0941デフォルトの名無しさん
2007/05/25(金) 20:17:17[2] 問題文(含コード&リンク):
4人分の身長と体重のデータを二次元配列に格納し、平均身長、体重、BMIを求めよ。
ただしBMI=体重÷身長の二乗。大きさがN,Mの二次元配列a[][]をつかい、次のように初期化する。
float a[5][2]={{165.6,70.3,0},{156.0,60.3,0},{170.1,82.5,0},{180.8,67.8,0},{0,0,22.0}
結果は次のようにせよ
h w BMI
1 165.6 70.3 ?
2 156.0 60.3 ?
3 170.1 82.5 ?
4 180.8 67.8 ?
平均 ? ? ?
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio
[3.3] 言語: C
[4]5月28日11時50分まで
for-loopを使って解くとよいと書いてありました。
どうかお願いします
0942デフォルトの名無しさん
2007/05/25(金) 21:17:22[5][2]では初期化できないだろ。
[5][3]の写し間違い?
0943デフォルトの名無しさん
2007/05/25(金) 21:21:31N、Mはdefineで適当に定義してもいいと教授は言ってたけれど
自分は5、3でやってたけどできなくて・・・
0944デフォルトの名無しさん
2007/05/25(金) 21:50:45凄く高度なのですが、数値を全角で表示するなんて、俺にはムリポ
中華a[n][2]はBMIを入れるのか?、5番目のデータは身長が0だから表示されないのか?
BMIの式に身長の単位が(m)である事を明記してくれよ。
近い物は出来たのでお目汚しにどうぞ、数値は半角で表示が例と異なります。
#include<stdio.h>
#include<math.h>
int main(void){
char n,num=0;
float a[5][3]={{165.6,70.3,0},{156.0,60.3,0},{170.1,82.5,0},{180.8,67.8,0},{0,0,22.0}};
float sumh=0,sumw=0,sumb=0;
printf(" h w BMI\n");
for(n=0;n<5;n++){
if(a[n][0]==0) continue;
num++;
a[n][2]=a[n][1]/pow(a[n][0]/100,2);
sumh+=a[n][0];sumw+=a[n][1];sumb+=a[n][2];
printf("%4d%6.1f%6.1f%6.1f\n",n+1,a[n][0],a[n][1],a[n][2]);
}
printf("平均%6.1f%6.1f%6.1f\n",sumh/num,sumw/num,sumb/num);
return 0;
}
0945デフォルトの名無しさん
2007/05/25(金) 22:17:44有難うございました間に合いました。
0947ぼるじょあ ◆hZ8e4Wjqvw
2007/05/26(土) 11:18:47スレが終わる前に訂正だYO! …orz
void sort(double *data, int data_num){
int i, j;
double tmp;
if(data==NULL || data_num<1) return;
for(i=0;i+1<data_num;i++){
for(j=0;j+1<data_num-i;j++){
if(data[j]>data[j+1]){
tmp=data[j];
data[j]=data[j+1];
data[j+1]=tmp;
}
}
}
}
0948デフォルトの名無しさん
2007/05/26(土) 16:45:56ib=0x0F0F
答えはどのようになるのでしょうか?
0949デフォルトの名無しさん
2007/05/26(土) 17:04:34ib &= bitMaskUpper4OfLower8;
0950デフォルトの名無しさん
2007/05/26(土) 17:06:010951デフォルトの名無しさん
2007/05/26(土) 17:08:360952デフォルトの名無しさん
2007/05/26(土) 17:20:29ありがとございます
iaを0にするの場合は
ic=ia & ××××
で&をつけ
iaを1にするだと
ic=ia
0953デフォルトの名無しさん
2007/05/26(土) 17:21:46ic=ia | ××××
iaを反転するときは
ic=ia ^ ××××
という感じでいいのでしょうか?>>952は途中で送ってしまいましたすいません
0954デフォルトの名無しさん
2007/05/26(土) 18:09:33よろしくおねがいします
0955日本語は適切に
2007/05/26(土) 18:22:05ia = 0;
>iaを1にするだと
ia = 1;
>iaを反転するときは
ia = ! ia;
0956デフォルトの名無しさん
2007/05/26(土) 18:27:49変数のiaの上位8ビットを0x00にしなさい、という問題で
どのようにして答えを書くべきなのでしょうか?
ib = ia & 0x0F0A
でいいのでしょうか?
0957ぼるじょあ ◆hZ8e4Wjqvw
2007/05/26(土) 18:38:54(・3・) エェー 解説してみるYO!
mask=0x0080;
ia | mask; // ビットをセットするYO!
~(~ia | mask); // ビットをクリアするYO!
ia ^ mask; // ビットを反転するYO!
上位8ビットを0x00にするなら次の通りだYO!
mask=0xff00;
ib = ~(~ia | mask);
0958ぼるじょあ ◆hZ8e4Wjqvw
2007/05/26(土) 18:44:52mask = 0x00ff;
ib = ia & ~mask;
でもおkだYO!
0959デフォルトの名無しさん
2007/05/26(土) 18:45:10変数iaが16ビットであるという前提はどこから?
0960デフォルトの名無しさん
2007/05/26(土) 18:48:18すいません、プログラムではなくて答えを教えて頂ければ幸いです
0961ぼるじょあ ◆hZ8e4Wjqvw
2007/05/26(土) 18:52:21(・3・) エェー >>957 の方法なら ia は何bitでもいいYO!
>>958 だと sizeof(mask)>=sizeof(ia) じゃないとうまくいかないことがあるYO!
0962デフォルトの名無しさん
2007/05/26(土) 18:54:03>(・3・) エェー >>957 の方法なら ia は何bitでもいいYO!
おいおい、これはなんだよ。
>上位8ビットを0x00にするなら次の通りだYO!
>mask=0xff00;
0963ぼるじょあ ◆hZ8e4Wjqvw
2007/05/26(土) 19:12:57(・3・) エェー なるほど! そういう意味かYO!
難しいYO!
mask=0xff<<(sizeof(ia)*CHAR_BIT-8);
ib = ia & ~mask;
但し sizeof(mask)>=sizeof(ia) && sizeof(ia)==sizeof(ib) の時、限定だYO!
0964ぼるじょあ ◆hZ8e4Wjqvw
2007/05/26(土) 19:24:21int ia =0x0F0A, ib;
ib=((unsigned int)ia<<8)>>8;
0965デフォルトの名無しさん
2007/05/27(日) 02:21:36>上位8ビットを0x00にするなら次の通りだYO!
>mask=0xff00;
>ib = ~(~ia | mask);
0x00FFと &取ればよくね?
0966デフォルトの名無しさん
2007/05/28(月) 16:06:03表示だけでいいです。すいませんでしたm(_ _)m
0967デフォルトの名無しさん
2007/05/28(月) 20:37:32作成せよ.
% ./kadai6-4
引数(正の整数) を指定してください.
% ./kadai6-4 1 2
引数(正の整数) を1 つだけ指定してください.
% ./kadai6-4 17
1 から17 までの2 乗和は1785 です.
%
0968デフォルトの名無しさん
2007/05/28(月) 21:12:52[2] 問題文(含コード&リンク):
浮動小数点型データを5個入力して、最大値、最小値、平均を求めよ
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio
[3.3] 言語: C
[4]6月1日
基礎なのについていけない・・・・・専門学校と一般校の差でしょうか・・・・
ポインタを使って解くのを参考 らしいです。
お願いします。
0969homoじょあ ◆5OLf4yFnuM
2007/05/28(月) 21:25:49(・3・) エェー 酷いの作ったYO
#include <stdio.h>
#include <stdlib.h>
int func(int n){
if(n == 1) return 12;
return n*10+2 + func(n-1);
}
int main(int argc, char *argv[]){
int n;
if(argc < 2){
puts("引数(正の整数) を指定してください.");
}else if(argc > 2){
puts("引数(正の整数) を1 つだけ指定してください.");
}else{
n = atoi(argv[1]);
if(n <= 0) return -1;
printf("1から%dまでの2乗和は%dです\n", n, func(n));
}
return 0;
}
0970ぼるじょあ ◆hZ8e4Wjqvw
2007/05/28(月) 21:35:12(・3・) エェー やってみたYO!
#include<stdio.h>
int main(void){
double value, maximum, minimum, total;
int i;
for(i=0;i<5;i++){
printf("Input value : ");
scanf("%lf", &value);
if(i==0){
maximum=minimum=value;
total=0.0;
}
if(maximum<value) maximum=value;
if(minimum>value) minimum=value;
total+=value;
}
printf("Maximum:%.5e Minimum:%.5e Average:%.5e\n", maximum, minimum, total/5);
return 0;
}
0971ぼるじょあ ◆hZ8e4Wjqvw
2007/05/28(月) 21:37:33(・3・) エェー 12+22+32+…n2 っていうのは本当は二乗和の事でいいのかYO!
#include<stdio.h>
int main(int argc, char *argv[]){
int i, n, sum;
if(argc>2){
printf("引数(正の整数) を1 つだけ指定してください.\n");
return 1;
}
if(argc==1 || sscanf(argv[1], "%d", &n)!=1 || n<=0){
printf("引数(正の整数) を指定してください.\n");
return 1;
}
for(i=1,sum=0;i<=n;i++) sum+=i*i;
printf("1 から%d までの2 乗和は %d です.\n", n, sum);
return 0;
}
0973967
2007/05/28(月) 21:39:440974homoじょあ ◆5OLf4yFnuM
2007/05/28(月) 21:42:340975ぼるじょあ ◆hZ8e4Wjqvw
2007/05/28(月) 21:46:40(・3・) エェー 失礼。>>970 は忘れてくれYO!
あと「ポインタ使って解くのを参考」について教えてくれYO!
>>972
(・3・)ノシ いょう兄弟 このスレも終盤だけど最後までがんばるYO!
0977968
2007/05/28(月) 21:53:26ポインタ変数を使用して、下記のデータを配列に格納した後に、その最大値を求めなさい
20,40,50,10,30
という問題を参考にしろと書いてありました。
0978homoじょあ ◆5OLf4yFnuM
2007/05/28(月) 21:55:380979ぼるじょあ ◆hZ8e4Wjqvw
2007/05/28(月) 21:59:49(・3・) エェー こんな感じかYO!
#include<stdio.h>
int main(void){
double value[5], *pmax, *pmin, total=0.0;
int i;
pmax=pmin=&value[0];
for(i=0;i<sizeof(value)/sizeof(value[0]);i++){
printf("Input value : ");
scanf("%lf", &value[i]);
if(*pmax<value[i]) pmax=&value[i];
if(*pmin>value[i]) pmin=&value[i];
total+=value[i];
}
printf("Maximum:%f Minimum:%f Average:%f\n", *pmax, *pmin, total/i);
return 0;
}
0980デフォルトの名無しさん
2007/05/28(月) 22:13:02[1] 授業単元:コンピュータリテラシ
[2] 問題文(含コード&リンク): タートルグラフィックを使ってドラゴン曲線を再帰曲線として描画せよ。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:わかりません…
[3.3] 言語:C
[4] 期限:5月29日迄
期限が差し迫っていて申し訳ないですが、どうかよろしくお願いします。
0981968
2007/05/28(月) 22:17:24実行すると結果がdate:が4個出るんですけどここを消したいんですが
どこを消したらいいかわからない・・・・・・・
最後に教えてもらえませんか?
0982ぼるじょあ ◆yBEncckFOU
2007/05/28(月) 22:19:11(・3・)
0983デフォルトの名無しさん
2007/05/28(月) 22:22:110984ぼるじょあ ◆hZ8e4Wjqvw
2007/05/28(月) 22:59:19(・3・) エェー コアの部分はこんな感じになるYO!
表示されるRとLが90度方向転換する向きになるYO!
#include<stdio.h>
void dragon_line(int left_time, int turn){
if(left_time<=0) return;
dragon_line(left_time-1, 'R');
/*
tg_fd(10.0);
if(turn=='R') tg_rt(90.0);
else tg_lt(90.0);
tg_fd(10.0);
*/
putchar(turn);
dragon_line(left_time-1, 'L');
}
int main(int argc, char *argv[]){
dragon_line(4, 'L'); // 4次のドラゴン曲線
return 0;
}
0985ぼるじょあ ◆yBEncckFOU
2007/05/28(月) 23:13:380986ぼるじょあ ◆hZ8e4Wjqvw
2007/05/28(月) 23:25:23ドラゴン曲線ってなんだろうと思ってググったら
そのものがでてきたなんていえないYO!
0987デフォルトの名無しさん
2007/05/29(火) 00:20:59課題�@
配列x[4][4]に整数が格納されている。以下のプログラムを作れ。
�@x[i][j]の i+j=0ならy[i][j]=x[i][j]/16
�Ai+j=1なら y[i][j]=x[i][j]/12
�B 2<=(小なりイコールです)i+j<=5(小なりイコールです)なら y[i][j]=x[i][j]/32
�C i+j>5なら y[i][j]=x[i][j]/100
�D入力された配列x[i][j]と変換された配列y[i][j]を出力しなさい。
x[4][4]={260,45,-16,5,-79,36,-2,-7,0,-16,3,-2,-8,-4,5,-4}
ただし,小数点第2位まで示せ。
課題�A
y[i][j]=x[i][j]*z[i][j]を計算して出力せよ。
z[i][j]={16,12,32,100,12,32,100,100,32,100,100,100,100,100,100,100}
do,if,for,while習いました。
お願いしますm(_ _)m
0988デフォルトの名無しさん
2007/05/29(火) 00:54:42例題
5人の人の身長を昇順にソート
#include<stdio.h>
#define NUMBER 5
void swap(int *x、int*y)
{int temp=*x;
*x=*y;
*y=temp;
}
void sort(int data[]、int n)←data[]ってどういう意味ですか?
{ int k=n-1;
while(k>=0){ int i、j;
for(i=1、j=-1;i<=k;i++)←何でj=-1なんですか?
if(data[i-1]>data[i]){j=i-1;
swap(&data[i]、&data[j]);
}k=j;←?
}}
int main(void)
{int i;
int height[]={178、175、173、165、179};
sort(height、NUMBER);←?
for(i=0;i<NUMBER;i++)
printf("%2d:%4d\n"、i+1、height[i]);
return 0;}
お願いします(;_;)
0989ぼるじょあ ◆QKmqNb.ats
2007/05/29(火) 02:26:450990980
2007/05/29(火) 07:53:52ありがとうございます!
すみません、自分でもググったんですが見つからなかったんです…。
手間かけさせてすみませんでした。本当に助かりましたm(_ _)m
0991デフォルトの名無しさん
2007/05/29(火) 18:29:26>バブルソートの意味がわかりません。
そういう名前のソートアルゴリズム
http://www.google.co.jp/search?hl=ja&q=%E3%83%90%E3%83%96%E3%83%AB%E3%82%BD%E3%83%BC%E3%83%88&lr=
>void sort(int data[]、int n)←data[]ってどういう意味ですか?
サイズ不定の配列を渡す事を示す
>for(i=1、j=-1;i<=k;i++)←何でj=-1なんですか?
-1にしたかったんだろ
>}k=j;←?
kにjを代入してる
>sort(height、NUMBER);←?
宣言されているsort関数の呼出
0992デフォルトの名無しさん
2007/05/29(火) 21:31:24[2] 問題文(含コード&リンク):
キーボードから正の整数値を入力して、その数の下1桁の数字を表示する
プログラムの作成
(例:2004が入力されれば4を出力する。)
実行結果(・・・の部分はキーボードからの入力)
・正の整数を入力してください: ・・・
・その数の最後の桁は「5」です。
[3] 環境
[3.1] OS:Windows vista business
[3.2] コンパイラ名とバージョン: visual studio2005
[3.3] 言語: C
[4] 期限: ([2007月06日4日まで]
[5] その他の制限:ほとんど習っていません。
0993デフォルトの名無しさん
2007/05/29(火) 22:01:53#include <stdio.h>
#include <string.h>
int main(void)
{
int a;
char s[11], c;
printf("正の整数を入力してください:");
scanf("%d", &a);
sprintf(s, "%d", a);
c = s[strlen(s) - 1];
printf("その数の最後の桁は「%c」です。", c);
}
0994webmaster@気まぐれアナスイ
2007/05/29(火) 22:03:49ζ
!(+Φ_Φ)つ√ζ
+⊂. + 〆∂ {Ж}
"〆∂∂
〆〆
.:"
0995デフォルトの名無しさん
2007/05/29(火) 22:19:49[2] 問題文(含コード&リンク):
以下の計算方式を利用して二元一次連立方程式の解を求めるプログラムを作成せよ。
なお最初にパラメータを入力するように入力部を作成すること。また行列式の判定を必ず行うこと。
ax+by=p
cx+dy=q a,b,c,d,p,qは定数、x,yは変数とする。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: わかりません。
[3.3] 言語: C++
[4] 期限: [2007年6月1日10:00まで]
[5] その他の制限:
全然わかりませんお願いします。
0996992
2007/05/29(火) 22:39:28作っていただいて本当に申し訳ないんですが、printf,scanf,int型ぐらいしか習って
いないので、それらのみで作って戴けないでしょうか?
0997デフォルトの名無しさん
2007/05/29(火) 22:53:17俺は>>93じゃないよ。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4106.txt
0998デフォルトの名無しさん
2007/05/30(水) 00:50:560999デフォルトの名無しさん
2007/05/30(水) 00:57:021000デフォルトの名無しさん
2007/05/30(水) 00:57:4910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。