JRの運賃計算プログラムを作成(VBで)しています。
今は駅数などが少ないので北海道版を作成中なのですが…

とりあえず、
・各線区(函館本線など)に線区コードを付け区別する
・各駅に駅コードを付ける
として運賃計算をさせようとしているのですが、経路をどう処理したらいいかと悩んでいます。
例えば、出発駅「釧路」 到着駅「札幌」 としたときには、
1、釧網本線→石北本線→函館本線
2、根室本線→石勝線→千歳線→函館本線
と複数の経路が発生します。

これをプログラム上で考えられる経路を自動で処理(表示)し、ユーザに経路を提示したい(選択させたい)のですがどのような方法がありますか??
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

全ルートをしらみつぶしに探す、これで北海道程度なら十分実用になります。


全国規模になればこの方法で手に負えないかもしれません。
ルート検索のロジックについてはいろいろ有りますから数学、コンピュータ関係の書籍を探して下さい。
    • good
    • 0

おはようございます。

#1です。
>このなかの「2」がどうすればいいのかが見当つきません…
具体的にプログラム(構文)について質問された方が宜しいですね。
その方が良い回答がつくはずです。
    • good
    • 0

経路探索であれば、A*(エースター)アルゴリズムや遺伝的アルゴリズムによるものが考えられます。

その他にも様々なアルゴリズムが提案されています。

それらについてはここよりも、
[技術者向] コンピューター > プログラミング > Visual Basic
のカテゴリにおられる方々の方が詳しいと思います。
    • good
    • 0

ご質問の趣旨は、運賃計算をしたいということではなく、プログラムを作りたいと言うところにあると質問文を読んだのですがかまいませんね?



「駅すぱあと」は有名なだけで使い物にならないし(こんなものまさか他人に勧められるようなものじゃないですねえ)、単に運賃計算しただけであればMars for DOSがあるわけですし。

となると、質問するカテゴリはここ鉄道・路線よりも、技術者向けPC>プログラミング>Visual Basic または >その他のほうが適していると思います。プログラムに長けた人の目に触れる機会が多くなりますから。
そのまま同じ質問を繰り返すとマルチポスト(多重投稿)ですから、誘導された経緯をごく簡単に触れて質問し直してはいかがでしょうか。
    • good
    • 0

こんにちは。


>どのような方法がありますか??
いろいろとありますが、もう少し具体的に質問して頂けるとよい回答がつくと思います。
それから、「駅すぱあと」というソフトや運賃検索(路線検索)サイトがあるのに、そういうものを作成しなければならない事情でもあるのでしょうか。

この回答への補足

ありがとうございます。

運賃計算のシステムを作成する理由としては、そのシステムを使用しながら
色々と応用したものを作成するために必要となっています。

具体的には・・・
 1.ユーザに出発駅と到着駅を入力させる
 2.システムは経路を自動計算し表示する
 3.ユーザはシステムが提示した経路(複数の場合)を選択する
 4.システムはユーザが選択した経路で運賃を計算し、表示する
 5.実際にこのあとに色々なことをするためにこのシステムが必要になっています
という処理をしたいのです(具体的になってないかもしれませんが…)

このなかの「2」がどうすればいいのかが見当つきません…
よろしくお願いします。

補足日時:2009/05/17 22:05
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QC言語のゲームのサンプルプログラムが置いてあって自由に修正できるサイト教えてもらえないでしょうか?

ゲームのサンプルプログラムが置いてあって自由に修正できるサイト教えてもらえないでしょうか?

Aベストアンサー

C言語、自体があまり初心者向けではないのですが、
Cを本気で学ぼうと考えるなら、書籍を購入する事をお勧めします。

「C言語〈1〉はじめてのCプログラミング プログラミング学習シリーズ」
倉 薫 (著)
アマゾン(http://www.amazon.co.jp/)の古本で400円で販売していました。
私が昔、他の人にC言語を教えるときに使った教材ですが非常に簡単でした。
「簡単」というのがポイントで初めてCを学ぶ方から非常に読みやすいと定評があった本です。

ただこれを読んだからといってすぐに市販されているようなゲームが作れるわけではありません。
C言語でゲームを作るのはかなり地道ですし下地になる知識が相当必要です。

とりあえず市販のコンパイラ(コンパイラというのはexe等を作るやつ)は
必要になってから買うので十分です。
先に説明した無償のコンパイラで市販レベルのソフトを作る事も可能なのです。
(市販のものと何が違うかというとマニュアル、ツール、ライブラリ等が付属している点)
やろうと思えばそのツールやライブラリもその無償のコンパイラで作れるわけですから。

また前回とかぶりますが
http://www.kumei.ne.jp/c_lang/bcc/index.html
でBCCというコンパイラをインストールし
http://www.kumei.ne.jp/c_lang/index_c.html
の1章から見ていって実際もexeにして実行してみてください。
このサイトも参考になります。

C言語、自体があまり初心者向けではないのですが、
Cを本気で学ぼうと考えるなら、書籍を購入する事をお勧めします。

「C言語〈1〉はじめてのCプログラミング プログラミング学習シリーズ」
倉 薫 (著)
アマゾン(http://www.amazon.co.jp/)の古本で400円で販売していました。
私が昔、他の人にC言語を教えるときに使った教材ですが非常に簡単でした。
「簡単」というのがポイントで初めてCを学ぶ方から非常に読みやすいと定評があった本です。

ただこれを読んだからといってすぐに市販されている...続きを読む

Q岐阜駅での乗り換え時間(高山本線→東海道本線)

 こんにちは。今月、友人達と富山から名古屋に行こうと思っています。岐阜駅で高山本線から東海道本線の名古屋方面の列車に乗り換えるのですが、私達の日程では時刻表で確認すると乗り換え時間が5分しかないんです。五分で高山本線から東海道本線のホームまで間に合うでしょうか?

Aベストアンサー

こんにちは。
岐阜駅は、高山本線と東海道本線のホームは隣接してい
ます。なので、5分なら、列車のダイヤが正確であれば
割と余裕ですし、3分でもいけると思います。
もし、遅れがあって乗り継ぐ予定の列車に間に合わなさ
そうなときは、車掌さんに相談してみてはいかがでしょ
うか。
参考に、岐阜駅の構内図をリンクしておきました。

参考URL:http://www.jr-central.co.jp/station.nsf/st_pic/gifu

QC言語・ゲーム作成で挫折気味の対処方法

こんばんは。ゲーム作成に関わらず、C言語で挫折気味の時、みなさんはどのように対処してきましたか?
以下、私の現在の状況を説明致します。

C言語でゲームを作成するという目的でC言語を勉強し、ゲーム作成の勉強をしていました。
C言語の書籍を一通り行い、DXライブラリを使用して、それに関するサイト(ゲームプログラミングの館等)を参考にしながらゲーム作成の勉強をしていました。
しかし、除々に分からなくなり、手がつけられなくなってしまいました。
ゲームを早く作成してみたいという気持ちが先走り、C言語の知恵が足りない(勉強期間:1ヶ月程度)のに
ゲーム作成に取り掛かろうとしたことがが原因のひとつだと思い、もう一度、C言語を勉強し直そうと考えています。
しかし、数ある書籍やサイトの中でどれがゲームプログラミングを学ぶのに適しているの分かりません。
みなさんがゲームプログラミングをするにあたって利用した書籍やサイトはどのようなものでしょうか?
また、同じようにC言語でゲームを作成している方にお聞きしたいのですが、C言語をどの程度勉強されてからゲーム作成に取り掛かったのでしょうか?

みなさんの意見を参考にして、勉強していきたいので、よろしければアドバイスをお願い致します。

こんばんは。ゲーム作成に関わらず、C言語で挫折気味の時、みなさんはどのように対処してきましたか?
以下、私の現在の状況を説明致します。

C言語でゲームを作成するという目的でC言語を勉強し、ゲーム作成の勉強をしていました。
C言語の書籍を一通り行い、DXライブラリを使用して、それに関するサイト(ゲームプログラミングの館等)を参考にしながらゲーム作成の勉強をしていました。
しかし、除々に分からなくなり、手がつけられなくなってしまいました。
ゲームを早く作成してみたいという気持ちが先...続きを読む

Aベストアンサー

私は、最初の頃は「SDL」を使って2Dゲームを作っていました。
その頃は、C言語は関数もあまり分かっていませんでした。
ですけど、勉強し直して「OpenGL」で3Dの簡単な動きなら動かせるようになりました。
今は作っていませんけど。

私が勉強に使った本を紹介します。
C言語の本
「図解C言語 ポインタの極意」
「新版 明解C言語 入門編」

C++言語の本
憂鬱なプログラマのためのオブジェクト指向開発講座

どのくらいC言語を理解しているか分かりませんけど、
分からないものが多く載っていて分かりやすい本を立ち読みをして、
探した方がいいと思います。

ゲームは2Dでしょうか?
それとも、3Dでしょうか?
3Dでしたら物理などが分からないと無理です。
物理の本(プログラムも載っています)
「ゲーム開発のための物理シミュレーション入門」

C++言語が分かれば、
「ゲームプログラマになる前に覚えておきたい技術」
がいいらしいです。

Q大至急です。 函館駅から滝川駅までの 運賃 教えてください。 特急込みですとです

大至急です。


函館駅から滝川駅までの
運賃 教えてください。
特急込みですとです

Aベストアンサー

そんな場合は以下のサイトが便利です。
 乗車運賃と自由席券、指定席券、グリーン券の各料金がわかります。

http://ekitan.com/

参考まで。

QC言語でプログラムを再起動

 UNIXで動くC言語のプログラムを作っています。
 その際、プログラムを再起動させたい時があります。
 しかし、C言語でプログラムを再起動させるってどうやればいいのかよくわかりません。
 何かよいやり方を知っている方、教えてください。
 よろしくお願いします。

Aベストアンサー

関数execl()を使えばよいと思います。
この関数は、fork()と組み合わせて、他のプログラムを
起動するのに使うのが普通ですが、
fork()せずにexecl()を呼ぶと、自プロセスを指定された
プログラムに置き換えます。ですので、ここで自分自身を
指定すれば、再起動したことになるはずです。

QJRの特急券の学割について質問です。 今度、最寄り駅→横浜(東神奈川経由)→八王子→甲府 という経路

JRの特急券の学割について質問です。

今度、最寄り駅→横浜(東神奈川経由)→八王子→甲府
という経路で甲府まで行こうと思っています。

その際、八王子-甲府間は特急あずさをつかうのですが、八王子甲府間は101kmを超えません。

でも最寄り駅から起算すると、101kmは超えます。

これって、八王子甲府間の特急券に学割は適用されますか???

ちなみに、最寄り駅から東神奈川までは定期区間内です…。ややこしくて調べてもイマイチよくわからなくなってしまったので質問させていただきます!
詳しい方教えてください(;_;)

Aベストアンサー

特急券と乗車券が一つになっていると考えてください。
学割が適応されるのは乗車券の部分です。
定期を使って東神奈川駅まで行ったとすると、乗車券は東神奈川駅から甲府まで購入することになります。
それには学割が適応されます。
東神奈川駅から甲府駅までのが学割申請をして、駅の窓口で切符を購入するだけです。

定期との連携に関しては窓口で確認してください。

QC言語でゲーム作り

フリーゲームに影響され、自分も作ってみたいと思いC言語勉強し始めました
趣味の範囲で、こつこつ頑張っていこうと思ってます

今現在、C言語の初初心者向けの本を一通り読み終えて次の本を読んでます
一応、一つの目標としてアクションゲーム(マリオみたいな)を作りたいんですが
C言語の他にどんなこと勉強すればいいでしょうか?

あと、C言語から次のステップに移るときは
やはり上級者向けの本は理解できるくらいまで頑張ってからでしょうか?

Aベストアンサー

とりあえずCだけではなく、C++まで一通り学習することをお勧めします。
PCゲームなのかどうか、Windows上のものなのかどうかわかりませんが、C/C++系の場合は、C++使っていることが多いので、C++知っているのと知らないのとでは、サンプルだとかライブラリとか理解できないかもしれないので。

仮にWindowsアプリだとして、API叩いてGDIで描画するか、DirectXを使うかというところもありますね。
2Dの横スクロールならGDIでも可能でしょうけど、後々のことを考えるとDirectX使えるように勉強したほうが、楽だしいろいろなことができるようになります。
DirectXはC++なので、やはりC++になります。

ちょっと戻ってしまいますが、Windowsアプリを作るのであれば、CやC++言語だけではだめで、WindowsAPIを使う必要があります。
まぁ一種のライブラリだと思えばよいですけど。

とりあえず、C/C++の入門書を一通りみて、どのような文法や制約などがあるか理解し(覚えなくてOK)、実際のサンプルソースなどをいじったり改良したりして実際の動作を見ていくのがよろしいかと。
コンソールでのC/C++がある程度わかってきたら、WindowsAPIやDirectXなどの入門書を見ていくといいのではないかとおもいます

とりあえずCだけではなく、C++まで一通り学習することをお勧めします。
PCゲームなのかどうか、Windows上のものなのかどうかわかりませんが、C/C++系の場合は、C++使っていることが多いので、C++知っているのと知らないのとでは、サンプルだとかライブラリとか理解できないかもしれないので。

仮にWindowsアプリだとして、API叩いてGDIで描画するか、DirectXを使うかというところもありますね。
2Dの横スクロールならGDIでも可能でしょうけど、後々のことを考えるとDirectX使えるように勉強したほうが、楽だ...続きを読む

Q自分は定期(JR鹿児島本線のF駅~JR長崎本線のK駅区間の定期です。)を使って、電車を利用しています

自分は定期(JR鹿児島本線のF駅~JR長崎本線のK駅区間の定期です。)を使って、電車を利用しています。

今度の昼、K駅から乗車し、F駅を通過し定期利用区間外にいくのですが、一度定期を利用し、F駅の改札から出て、朝のうちにあらかじめ買っておいた切符を利用して、駅内に入りなおし、目的地まで向かう計画にしているのですが……。

このような方法をとっても大丈夫なのでしょうか?それとも、できるだけお金をかけずに、これより簡単に目的地に向かう方法はあるのでしょうか?

ダラダラと書いてしまい申し訳ありません。回答よろしくお願いします。

Aベストアンサー

定期券の区間内で乗車し、区間外で下車する場合、
途中で降りずに下車駅で精算するのが最善の方法です。

・ 定期券の区間(K駅⇔F駅)
・ K駅で乗車 ⇒ F駅を通過 ⇒ X駅で下車

精算金額は、F駅⇒X駅 の運賃になります。
つまり、F駅でいったん降りて、X駅までの切符を買うのと同じ金額です。
もしF駅⇒X駅間を乗車中に車内検札が来た場合は、車内で精算してください。

一般に乗り越し精算と言いますが、厳密にいうと乗り越し精算ではなく、
定期券で乗れない区間の切符を新たに買うのと同じことになります。

乗り越し精算は、K駅⇒F駅の切符でX駅まで乗り越した場合に、
K駅⇒F駅の運賃と、K駅⇒X駅の運賃の「差額を精算」するものです。

QC言語のプログラム集

こんにちは。C言語のテキストにはプログラムとその説明が書いていますが、
このC言語のプログラムが多くのっているような本はありますか?本屋さんで探したのですが、プログラムがものすごく多くのっているようなものがなかったので、もしお分かりの方がおられましたが、本の紹介をお願いします。

Aベストアンサー

C言語ということでどうしても古い本になってしまいますが
下記URLのような本はどうでしょうか。
http://oku.edu.mie-u.ac.jp/~okumura/algo/
http://www.amazon.co.jp/%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%A1%E3%83%AA%E3%82%AB%E3%83%AB%E3%83%AC%E3%82%B7%E3%83%94%E3%83%BB%E3%82%A4%E3%83%B3%E3%83%BB%E3%82%B7%E3%83%BC-%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%89%88%E2%80%95C%E8%A8%80%E8%AA%9E%E3%81%AB%E3%82%88%E3%82%8B%E6%95%B0%E5%80%A4%E8%A8%88%E7%AE%97%E3%81%AE%E3%83%AC%E3%82%B7%E3%83%94-William-H-Press/dp/4874085601

ご参考になれば幸いです。

Q横浜駅→東京駅は東海道本線で乗る所要時間は

お仕事で、横浜と東京を電車で通勤時間にお聞きします。
往復される方も分かれば教えてくださいませんか?

実に私は横浜で住みたいため、勤務地は総武線快速の馬喰町駅が最寄りなんですが、通勤事情が悩みです。

Aベストアンサー

横浜→東京 は25分ですね
下記ページで確認してください

http://jr-central.co.jp/timetable/nr_doc/search.html


人気Q&Aランキング

おすすめ情報