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

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2006/01/09(月) 04:38:32
int max = MAX_LINE;
はこの場合
int max=255;

if(!strncmp(argv[i],"-",1)) /*i番目に格納された文字列の比較*/
{
if(argv[i] > max)
{
のロジックを
atoi(&argv[i][1])>max
にするべき
多分
953デフォルトの名無しさん:2006/01/09(月) 04:40:20
[1] 授業単元:
[2] 問題文 あるプログラムを途中なのですがVKKの計算という部分が上手くいきません。
動くのですが出力されたデータを見ると明らかに数値が違うものが出ます。
書き方がおかしいのだと思いますがどう書き直したらいいか教えてもらえないでしょうか。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C
[4] 期限: 1月10日
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1419.txt

よろしくお願いします
954デフォルトの名無しさん:2006/01/09(月) 04:42:36
>>953
そもそもVKKってなんだよ?
このスレにエスパーいねーぞ
955デフォルトの名無しさん:2006/01/09(月) 04:44:13
%e→%fにでも
あとファイルIOは必ずファイルが開けなかった時の動作を記述するべき

そんな事より940わかる方はお願いしますorz
956デフォルトの名無しさん:2006/01/09(月) 04:47:47
>952様
int max = MAX_LINEのMAX_LINEは既に#defineで255と定義済みなので、問題ないかと思うのですが
使い方が間違ってるのでしょうか・・・
また、952様のアドバイスどおりに変えてみたのですが、やはり同じでした
957デフォルトの名無しさん:2006/01/09(月) 04:57:47
>>956
正直読む気なくてあれだったけど

if(!strncmp(argv[i],"-",1)) /*i番目に格納された文字列の比較*/
{
if(atoi(&argv[i][1]) > max)
printf("指定できる行数の上限は255行までです\n");
として
hoge -275 nurupo.txt
とすると
指定できる行数は〜って飛んでくれるみたいよ
ちゃんと引数に-をいれてるかね
958デフォルトの名無しさん:2006/01/09(月) 05:02:48
>957様
何度も申し訳ないです。
引数には、-もいれてあります。
http://proxy.f2.ymdb.yahoofs.jp/users/ccb552f0/bc/%a5%de%a5%a4%a5%c9%a5%ad%a5%e5%a5%e1%a5%f3%a5%c8/head.txt/head.txt.c?bc5lBOEBKCOAJ.5c
こちらにソースを全てアップさせていただきました。
こちらを一度みていただいて、255の上限を超えた場合はエラーを表示して、exit(1)で終了。
その次に、コマンドライン引数の数は一つか二つのみ許可するような方法を教えていただければと思います。
こんな時間にすみません・・・
959デフォルトの名無しさん:2006/01/09(月) 05:08:59
>>958
ちゃんと自分の環境では
hoge -267 nurupo.txtとするとエラー吐いてくれる様だね
あとコマンドラインの引数の個数だけど
int main(int argc,char *argv[])

argcに引数の個数
実際特殊で引数をしてなくても自分の位置を引数として1個とっている。
であるから、hoge -1 nurupo のように起動した場合
自分の位置(パス)
-1
nurupo
と引数が3個と認められargcには3が入るはずである。

この場合headが受けられる引数の限界は
head -n filename
自分のパス
-n
filename
の3個のみであるので、

もし引数が不正であった場合if(n!=3) exit(-1);
としてしまえばいいだろうか
960デフォルトの名無しさん:2006/01/09(月) 05:11:10
ttp://wisdom.sakura.ne.jp/programming/c/c32.html
コマンドラインの引数についてはここを参照するとグッド
961デフォルトの名無しさん:2006/01/09(月) 05:12:51
やべ眠くて思考まわんなす^ω^;
支離滅裂な説明風味でごめんよorz
962デフォルトの名無しさん:2006/01/09(月) 05:27:36
>959様
何から何までご丁寧に本当にありがとうございます。
行数のほうはきちんと動くようになりました。
こんな遅い時間にまでお付き合いいただき本当にありがとうございます
963デフォルトの名無しさん:2006/01/09(月) 06:31:32
[1] 授業単元:人工知能
[2] 問題文(含コード&リンク):
13台分の車両の長さの線路とその中心に3台分の転車台(くるっと回して向きを反転させる)があり、その上
に、1台の機関車と1〜7の番号が付けられた7台の客車の8両編成の列車が最初は右向きに配置されているとする。
この状態から転車台を使って、左向きに配置された状態(左から順に、機関車、客席1、2、‥)にする問題を
考える。ただし次のようなルールがある。
・機関車と客車は自由に切り離し可能であり、1回の転車で可能な台数は1〜3台である(ただし、線路の長さの関係
で、どんな状況でも1〜3台可能というわけではないことに注意。)
・転車台で向きを反転させる部分の中に、必ず機関車が含まれていなければならない。
・機関車には前後の向きはあるが、客席にはない。
目標状態に至るまでの手順を縦型探索、横型探索、A*アルゴリズムにより探索するプログラムを作成せよ。
ヒューリスティック値は各自でいろいろ設定してみて、最適なものを探してみること。また、状態を保持する
リストは配列のように保持可能な要素数が固定されているものでなく、ポインタなどを利用して保持可能要素数を
動的に変更可能なものを使用すること。
[3] 環境
 [3.1] OS:WindowsXP [3.2] borland bcc55 [3.3] 言語: C言語
[4] 期限: 1/19
初期状態
+++++++++++++++++++++++++++++++
|7|6|5|4|3|2|1|機関車|
+++++++++++++++++++++++++++++++
|←5台分→|←3台分 →|←5台分→|

初期状態から転車させた状態
+++++++++++++++++++++++++++++++
|7|6|5|4|3|機関車|1|2|
+++++++++++++++++++++++++++++++

目標状態
++++++++++++++++++++++++++++++++
|機関車|1|2|3|4|5|6|7|
++++++++++++++++++++++++++++++++
964デフォルトの名無しさん:2006/01/09(月) 07:02:34
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク): 下記参照
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:Borland C++
 [3.3] 言語:C言語
[4] 期限:2006年1月11日15時まで
[5] その他の制限: 特になし
(1)「2進数」⇔「10進数」変換するプログラムを作りなさい。
(2)(1)から「16進数」に変換できるようにプログラムを拡張しなさい。
965デフォルトの名無しさん:2006/01/09(月) 07:04:09
またお前か
966デフォルトの名無しさん:2006/01/09(月) 08:44:48
[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):CPUの動作速度を表示するプログラムを作成せよ
[3] 環境
 [3.1] OS:Windows(NT/2000/XP/2003)
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語:C
[4] 期限:[2006年1月10日午前11時]
[5] その他の制限:特になし(コンソールアプリで充分だそうです)
967デフォルトの名無しさん:2006/01/09(月) 08:47:54
問題写し間違えました
「CPUの動作クロック」です

すみません
よろしくおねがいします
968デフォルトの名無しさん:2006/01/09(月) 09:36:40
>>970取った方次スレ立てて下さい
969デフォルトの名無しさん:2006/01/09(月) 09:52:09
>>966-967
ここを参考に作るといいよ
ttp://yosirin9.hp.infoseek.co.jp/tips/no2/tips_no2.htm
ちなみにサンプルプログラムにバグがあって、

sub eax, cycle.LowPart
sub edx, cycle.HighPart

sub eax, cycle.LowPart
sbb edx, cycle.HighPart
だから注意
(ミクロな時間計測なら問題出ないんだけどね)
970デフォルトの名無しさん:2006/01/09(月) 09:59:45
>>966
#include <Windows.h>
#include <stdio.h>
int main(void)
{
unsigned long l, h;
_asm{
cpuid
rdtsc
mov l, eax
mov h, edx
}
Sleep(1000);
_asm{
cpuid
rdtsc
sub eax, l
sbb edx, h
mov l, eax
mov h, edx
}
printf("%I64d\n", (__int64)h << 32 | (__int64)l);
return 0;
}
971デフォルトの名無しさん:2006/01/09(月) 10:05:10
972デフォルトの名無しさん:2006/01/09(月) 10:10:07
マテ。なぜ news7?
973デフォルトの名無しさん:2006/01/09(月) 10:15:07
974837:2006/01/09(月) 10:47:50
どなたか>>837をお願いいたします・・・
975デフォルトの名無しさん:2006/01/09(月) 11:20:14
○○法で求めよって問題は、その方法がわかっていても説明がない場合は答えない
あっても答えないことの方が多いが
976デフォルトの名無しさん:2006/01/09(月) 11:46:19
>>884
ΩΩΩ<な、なんだってー!?
977デフォルトの名無しさん:2006/01/09(月) 13:10:13
ワロタ
978デフォルトの名無しさん:2006/01/09(月) 13:11:50
return 関数の呼び出しと 3というポインタの参照か。>>884
979デフォルトの名無しさん:2006/01/09(月) 14:55:36
>>978
平均だから (a + b + c) / 3


#include <stdio.h>
#include <math.h>

double get_av(double a, double b, double c); //プロトタイプ宣言

double get_av(double a, double b, double c{
return( (a + b + c) / 3);
}

main(){

double a, b, c;
double ans;

printf("浮動少数型の引数入力\n")
scanf("%d%d%d", &a, &b, &c);

ans = get_av(a, b, c);

printf("%lf", &ans);

}
980デフォルトの名無しさん:2006/01/09(月) 14:56:39
scanf("%d%d%d", &a, &b, &c);
         ↓
scanf("%lf%lf%lf", &a, &b, &c);
981デフォルトの名無しさん:2006/01/09(月) 14:58:21
>>979
× printf("%lf", &ans);
○ printf("%lf", ans);
982デフォルトの名無しさん:2006/01/09(月) 15:10:04
>>979
メイン関数より上に書くならプロトタイプ宣言いらないんじゃね?
あとmath.h不要じゃね?


プロジェクト '2ch - Win32 Debug' 用の中間ファイルおよび出力ファイルを削除しています。
--------------------構成: 2ch - Win32 Debug--------------------
コンパイル中...
770.cpp
d:\program\win32\2ch\770.cpp(6) : error C2143: 構文エラー : ')' が '{' の前に必要です。
d:\program\win32\2ch\770.cpp(16) : error C2146: 構文エラー : ';' が、識別子 'scanf' の前に必要です。
d:\program\win32\2ch\770.cpp(22) : warning C4508: 'main' : 関数に戻り値の型が指定されていません。戻り値を void 型と見なします。
cl.exe の実行エラー

2ch.exe - エラー 2、警告 1
983884 (=883):2006/01/09(月) 15:22:17
なんか今になって話題になってるな。
テンプレに従わない質問者に小さなはったりをかましただけだったのだが。
984884 (=883):2006/01/09(月) 15:27:21
しかもちゃんと笑いどころがわかってるヤツと寝ぼけてるヤツがいるな…
985デフォルトの名無しさん:2006/01/09(月) 15:28:41
ネタにマジレス返してる979
986デフォルトの名無しさん:2006/01/09(月) 15:40:56
しかもまともにプログラムが書けてない>>979
987デフォルトの名無しさん:2006/01/09(月) 15:47:12
985 == 986
988デフォルトの名無しさん:2006/01/09(月) 15:47:55
低脳ほど教えたがりな罠
989デフォルトの名無しさん:2006/01/09(月) 15:49:11
ここですか?884をフォローするスレというのは?
990デフォルトの名無しさん:2006/01/09(月) 15:50:09
987 == 979
991デフォルトの名無しさん:2006/01/09(月) 15:51:54
同じようにいじられた過去を持つ>>985 >>986
992デフォルトの名無しさん:2006/01/09(月) 15:53:20
>>990
sage使ってない時点で
993884 (=883):2006/01/09(月) 16:25:33
俺的には >>978 がかなりファンキーだと思うんだけど
みなさんはスルーですか。
994デフォルトの名無しさん:2006/01/09(月) 16:30:54
ベタだな。
995デフォルトの名無しさん:2006/01/09(月) 16:46:29
スタイルの議論でreturn(...)は関数呼び出しに見える。ってのがあるのでそれを使った。
ポインタの参照は2項演算をわざとスルーしたので、反省している。
こっちのネタもスタイルの議論でよくある a**bって書くな、 a * *bと書け。ってのから発想した。

ベタなのはしょうがないんだ(^^;;
996デフォルトの名無しさん:2006/01/09(月) 16:49:59
埋めついでに書くと、>>884 に対する反応でもっともおもしろいのは
>>886 だな
997デフォルトの名無しさん:2006/01/09(月) 17:01:13
次スレのご案内
C/C++の宿題を片付けます 57代目
http://pc8.2ch.net/test/read.cgi/tech/1136768567/
998デフォルトの名無しさん:2006/01/09(月) 17:41:35
あと2埋め
999デフォルトの名無しさん:2006/01/09(月) 17:41:43
ネタ回答集とかだれかまとめてくれんかねぇ・・・。
1000デフォルトの名無しさん:2006/01/09(月) 17:46:26
ume
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。