Wr5 の回答履歴
- C言語 遺伝的アルゴリズムでのエラーについて
再度質問させていただきます。 以下のプログラムを実行するとsegmentation faultが出たり出なかったりします。 いまいち原因が分からないので回答お願いします。 ちなみに目的としては、 0~1の乱数が複数個与えられたときに、与えられた乱数を2つのグループに分け、その2グループの差ができるだけ小さくなるようにする。 といったものです。 よろしくお願いします。 #include<stdio.h> #include<stdlib.h> #include<time.h> //染色体の数 #define Number_of_ch 10 //エリート選抜の割合 #define Selection 0.3 //交叉率 #define Cross_ratio 0.7 //突然変異率 #define Mutation_ratio 0.2 //ループ回数 #define Number_of_loop 100 int main(int argc , char *argv[]) { int f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,x,y,z; long int Number_of_gene = argc-1;//遺伝子の数 int chromosome[Number_of_ch][Number_of_gene],distmin[Number_of_gene];//染色体と遺伝子 int best_chromosome[Number_of_gene],Number_of_cross=0,ch_1=0,ch_2=0,point=0,temp=0,temp_1=0,temp_2=0,abc=0,loop=0; double real_Number[Number_of_gene] , dist[Number_of_ch]; double best = 100.0; double sum0 = 0.0 , sum1 = 0.0 ; //入力値の記録 for(i=0 ; i<Number_of_gene ; i++){ real_Number[i] = atof(argv[i+1]); } srand((unsigned)time(NULL)); //染色体の初期化 for(j=0 ; j<Number_of_ch ; j++){ for(k=0 ; k<Number_of_gene ; k++){ chromosome[j][k] = rand() % 2;//0 or 1のグループ分け } } //----------------------ループ開始------------------------ while(loop < Number_of_loop){ //差分 for(l=0 ; l<Number_of_ch ; l++){ for(m=0 ; m<Number_of_gene ; m++){ if(chromosome[l][m] == 0){ sum0 = sum0 + real_Number[m]; } else{ sum1 = sum1 + real_Number[m]; } } if(sum0 > sum1){ dist[l] = sum0 - sum1; } else{ dist[l] = sum1 - sum0; } } //評価と記憶 for(n=0 ; n<Number_of_ch ; n++){ if(dist[n] < best){ best = dist[n]; for(o=0 ; o<Number_of_gene ; o++){ best_chromosome[o] = chromosome[n][o]; } } } //ソート for(p=0 ; p<Number_of_ch ; p++){ for(q=1 ; q<Number_of_ch-p+1 ; q++){ if(dist[q-1] > dist[q]){ for(r=0 ; r<Number_of_gene ; r++){ distmin[r] = chromosome[q][r]; chromosome[q][r] = chromosome[q-1][r]; chromosome[q-1][r] = distmin[r]; } } } } //エリートの選抜 for(s=Number_of_ch*Selection ; s<Number_of_ch ; s++){ for(t=0 ; t<Number_of_gene ; t++){ chromosome[s][t] = best_chromosome[t]; } } //交叉 Number_of_cross = Number_of_ch * Cross_ratio; for(u=0 ; u<Number_of_cross ; u++){ ch_1 = (Number_of_ch-1) * (rand()/32767); ch_2 = (Number_of_ch-1) * (rand()/32767); point = (Number_of_gene-1) * (rand()/32767); for(x=point ; x<Number_of_gene ; x++){ temp_1 = chromosome[ch_1][x]; for(y=0 ; y<Number_of_gene ; y++){ if(chromosome[ch_1][x] == chromosome[ch_2][y]){ temp_2 = chromosome[ch_2][x]; chromosome[ch_2][x] = chromosome[ch_2][y]; chromosome[ch_2][y] = temp_2; } for(z=0 ; z<Number_of_gene ; z++){ if(chromosome[ch_2][x] == chromosome[ch_1][z]){ chromosome[ch_1][x] = chromosome[ch_1][z]; chromosome[ch_1][z] = temp_1; } } } } } //突然変異 for(f=0 ; f<Number_of_cross ; f++){ for(g=0 ; g<Number_of_gene ; g++){ if(rand()/32767 < Mutation_ratio){ abc = (Number_of_gene-1) * (rand()/32767); temp = chromosome[f][g]; chromosome[f][g] = chromosome[f][abc]; chromosome[f][abc] = temp; } } } loop = loop + 1; } //結果の出力 printf("# best = %f \n",best); for(h=0 ; h<Number_of_gene ; h++){ printf("%d",best_chromosome[h]); } printf("\n"); }
- ベストアンサー
- C・C++・C#
- y_ssoccerking
- 回答数3
- C#でstop()が使えない。
http://kana-soft.com/tech/sample_0012_3.htm#WebBrowser_Stop このHPを参考にstop()メソッドを使おうとしたのですがSTOP()に下記のエラーが出ます。 'System.Windows.Forms.WebBrowser' に 'stop' の定義が含まれておらず、型'System.Windows.Forms.WebBrowser' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 VS2010を使用し、.NETは4なので問題なく使えると思うのですが原因不明です。 以下ソースです。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace busywait4 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { webBrowser1.Navigate("http://yahoo.co.jp");//もう一度、アクセスしなおす。 } int i; private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { webBrowser1.stop(); }
- ベストアンサー
- C・C++・C#
- satisfied999
- 回答数2
- e-sataとUSBバスパワーの接続
初めての投稿です。 一つの外付けHDDにe-sataを使ってのデータ通信、usbからの電源供給は可能かネットで調べたのですが、答えが見つからなかったので質問させてください。 自分が持っているノートパソコンはMouse Computer(型番不明)のcore i5, RAM 8GBです。 今は128GBのSSDをOS用に使っているのですが、容量に不満があるためHDDもこのパソコンに収納し、デュアルドライブとして使おうと考えてます。 というのも、普段のネットサーフィン、軽い仕事(Officeや写真関係)はもちろんのことながら、動画編集等重い作業もするので、SSDの速さは最大限活用したいと思っています。 ノートパソコンで持ち歩くことが多く、外付けHDDでは少し不便です。そしてUSB接続ではやはり速度がいまいちなため、パソコンについているe-sataを活用できたらと思っています。 光学ドライブをHDD用のドライブに交換できるらしいですが、できれば残しておきたいです。ハイブリッドドライブもあるようですが、結構な値段がするのでなかなか手が伸びません。同じく大容量のSSDも高額なため手が届きません。今ある物でできるとこまでやりたいと思っています。 USBコネクタは二つで、一つが使えなくなるのは覚悟の上です。 やりたいことは、1TB(5400rpm)もしくは500GB(7200rpm)のHDD(どちらも2.5インチ、5V)を、e-sataを通してパソコンと常時接続(できればHDD本体もノートパソコン内に収納)して、電源供給はACアダプターからではなく、ノートパソコンのUSBバスパワーで電源だけを供給できるようにしたいです。HDDはデータ用として使い、OSはノートパソコン本体にSSD(128GB)を内蔵SATA接続して使う予定です。 そこで疑問なのが ・e-sataをデータ、USBを電源のみとして接続することは可能なのか ・USBからの電源供給量はデータ通信速度によって変わるのか ・変わるとしたらe-sata接続時に電源供給量を変更可能なのか ・電源供給をUSBバスパワーからではなく、他の手段(ノートパソコン本体からのみ)もあるのか。(光学ドライブから電源だけもらうことは可能?) 接続するには少しの分解も必要かと思いますが ・最終的にコード、HDDをノートパソコン本体内に収納することは可能か です。 日本語も文章も散らかっててすいませんが、ご回答よろしくお願い致します。
- ベストアンサー
- ドライブ・ストレージ
- jurealone
- 回答数4
- QNAP NAS FTPS接続ができない
QNAP TS-112 の FTPサーバ機能を有効にしました。(添付画像参照) 設定としては プロトコルタイプ:FTP(標準) もしくは FTP over SSL/TLS(Explicit) ポート番号:21 別のネットワークから接続テストをしてみました。 FTP(標準)のときは、接続&ファイルリスト受信までできるのですが、 FTP over SSL/TLS(Explicit)のときは、接続できるのですが、ファイルリスト受信ができていないようです。 下記のログから、データコネクションができてないと思われます。 ルータのUPnP機能は有効となっているため、番号指定のポート解放はしていません。 (通常のFTPは接続できているので、ポート解放については問題ないと思います) FTPSでデータコネクションできていない理由がわかりません・・・ 何か解決策がありましたらご教授願いたいです。 よろしくお願いいたします。 FFFTPで接続したときのログです。 設定:アクティブモード、FTPS(Explicit)で接続にのみチェック ---------------------------- FTP over Explicit SSL/TLS (FTPES)を使用します. ホスト xxx.xxx.com (xxx.xxx.xxx.xxx (21)) に接続しています. (TCP/IPv4) 接続しました. (TCP/IPv4) 220 NASFTPD Turbo station 1.3.2e Server (ProFTPD) [yyy.yyy.yyy.yyy] >AUTH TLS 234 AUTH TLS successful >PBSZ 0 200 PBSZ 0 successful >PROT P 200 Protection set to Private >USER admin 331 Password required for admin >PASS [xxxxxxxxxxxx] 230 User admin logged in >FEAT 211-Features: MDTM MFMT UTF8 AUTH TLS MFF modify;UNIX.group;UNIX.mode; MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*; LANG en-US* PBSZ PROT REST STREAM SIZE 211 End >XPWD 257 "/" is the current directory >TYPE A 200 Type set to A >PORT zzz,zzz,zzz,zzz,7,94 200 PORT command successful >LIST 425 Unable to build data connection: Connection timed out コマンドが受け付けられません. ファイル一覧の取得を中止しました. ファイル一覧の取得に失敗しました. ----------------------------
- ベストアンサー
- ドライブ・ストレージ
- tonanpe3
- 回答数1
- ・・・は未解決です、の対策を教えてください
開発環境はVC++です。C言語のヘッダーファイルやソースファイルをプロジェクトに入れてビルドすると・・・ state = speex_encoder_init(&speex_nb_mode); この部分でspeex_nb_modeは未解決ですとエラーがでます。 speex_nb_modeここの定義位置へ移動すると、speex.hが開きます。 このspeex.hは当然プロジェクトに入れてあります。 ちなみにspeex.hの記述は /** Default narrowband mode */ extern const SpeexMode speex_nb_mode; となっています。 解決策を教えてください。 初心者ですのでそのへんよろしくお願いします。
- ・・・は未解決です、の対策を教えてください
開発環境はVC++です。C言語のヘッダーファイルやソースファイルをプロジェクトに入れてビルドすると・・・ state = speex_encoder_init(&speex_nb_mode); この部分でspeex_nb_modeは未解決ですとエラーがでます。 speex_nb_modeここの定義位置へ移動すると、speex.hが開きます。 このspeex.hは当然プロジェクトに入れてあります。 ちなみにspeex.hの記述は /** Default narrowband mode */ extern const SpeexMode speex_nb_mode; となっています。 解決策を教えてください。 初心者ですのでそのへんよろしくお願いします。
- OS無しのノートパソコン
OSはubuntuを使いたいので、OSなしのノートPCがほしいのですが 価格.comを探したけど見つかりません。 こんな商品はないでしょうか? 無いとすればうまい方法がありますでしょうか? 皆さんの知恵を頂けましたらうれしいです。
- プログラミングおかしいところ探してください
#include<iostream> using namespace std; int main() { int i = 0; char a[128]; cout << "やあ" << endl; cin >> a; while (i<= strlen(a)){ if (a[i] == 'ワ'&&a[i + 1] == 'ン'){ cout << "ニャア"; i = i + 2; } else if (a[i] == 'わ'&&a[i + 1] == 'ん'){ cout << "にゃあ"; i = i + 2; } else{ cout << a[i]; i++; } } return 0; } キーボードから入力された文字に「ワン」「わん」があれば「ニャア」「にゃあ」と言い換えるプログラムを組もうとしたのですが、デバックするとエラーが出ます。 'Project2.exe' (Win32): 'C:\Users\kazuaki\Documents\Visual Studio 2013\Projects\Project2\Debug\Project2.exe' が読み込まれました。シンボルが読み込まれました。 'Project2.exe' (Win32): 'C:\Windows\System32\ntdll.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。 'Project2.exe' (Win32): 'C:\Windows\System32\kernel32.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。 'Project2.exe' (Win32): 'C:\Windows\System32\KernelBase.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。 'Project2.exe' (Win32): 'C:\Windows\System32\msvcp120d.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。 'Project2.exe' (Win32): 'C:\Windows\System32\msvcr120d.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。 プログラム '[5180] Project2.exe' はコード 0 (0x0) で終了しました。 何がまずいのでしょうか。
- 締切済み
- C・C++・C#
- okaradoughnut
- 回答数3
- スレッドの終了コード
VC6.0でダイアログアプリケーションを作成しています。 デバッグモードで終了させると、アウトプットウィンドウに スレッド 0x1124 終了、終了コード 0 (0x0)。 スレッド 0x1408 終了、終了コード 0 (0x0)。 スレッド 0x1118 終了、終了コード -1 (0xFFFFFFFF)。 スレッド 0x108C 終了、終了コード 0 (0x0)。 という内容が出力されるのですが、 終了コードが-1というのは異常終了になりますか? その場合、スレッド0x118を特定することはできるでしょうか? よろしくお願いいたします。
- 8.1に13800円は高いか安いか?
先ほど調べてみたのですが、私のwindows7から8・1にアップグレード、インストールしようとした場合 13800円の支払いが必要みたいです。 パソコンは今まだ、そんなに詳しくない初心者になりますが みなさんは、どうされているのでしょうか? 8や8・1に変更されているのでしょうか? お金をかけてまで、したほうがいいのか?このままでも十分なのか?教えていただきたいです。
- ベストアンサー
- Windows 7
- noname#195497
- 回答数8
- このカテゴリーでこんな質問で恐縮です
PowermacG5 Serial No. YM336R27NVR Ethernet ID 000A95B9BCD6 1.8GHz/512MB にメモリー 1GB 2Rx8 PC2-6400F-555-11 をスロットに差し込もうと思ってもさせません。 このメモリーはこのmacから抜いたような記憶があるのですが・・・ 記憶違いでしょうか。 ちなみにこのメモリーはどのようなmac用のものでしょうか。
- ベストアンサー
- ハードウェア・サーバー
- mac000
- 回答数1
- IEがどうして危ないの?
昨日、IEが危ないのでMSが修正するまで使用するなの警告が発表されたとニュースで観ました。 けど、どうしてブラウザが危険に関係するのですか? 素人の私としては、ネット表示のプロセスは、 (1)プロバイザ→(2)回線→(3)PC→(4)ブラウザ→(5)画面表示 この流れによってネット画面が表示されているように思います。 よって、危険な通信がされるのであれば、(1)~(3)の間で危険な通信を遮断すればいいのではないのでしょうか? どうして、ブラウザが危険なのかが解りません。 教えて下さい。
- ベストアンサー
- その他([技術者向] コンピューター)
- kfjbgut
- 回答数11
- スレッドの終了コード
VC6.0でダイアログアプリケーションを作成しています。 デバッグモードで終了させると、アウトプットウィンドウに スレッド 0x1124 終了、終了コード 0 (0x0)。 スレッド 0x1408 終了、終了コード 0 (0x0)。 スレッド 0x1118 終了、終了コード -1 (0xFFFFFFFF)。 スレッド 0x108C 終了、終了コード 0 (0x0)。 という内容が出力されるのですが、 終了コードが-1というのは異常終了になりますか? その場合、スレッド0x118を特定することはできるでしょうか? よろしくお願いいたします。
- 人類が月以外の惑星に降り立つ可能性
賛否両論あるのですが、歴史上一応、人類は月に着陸したということですが、 今後、人類が月以外の惑星に降り立つ、可能性はあるのでしょうか。
- ベストアンサー
- 天文学・宇宙科学
- toranekodaisuki
- 回答数9
- redmineのネットワークドライブのリポジトリ
redmineのリポジトリ設定がうまくいきません。 file:///D:/test/trunk とかローカルドライブだとうまくいくのですが、 file:///Z:/test/trunkなどネットワークドライブを指定するとうまくいきません。 パスの指定方法がおかしいのでしょうか? エラーはこんな感じです。 Error parsing svn output: #<REXML::ParseException: No close tag for /lists/list> 途中略 ... No close tag for /lists/list Line: 4 Position: 81 Last 80 unconsumed characters: Output was: <?xml version="1.0" encoding="UTF-8"?> <lists> <list path="file:///Z:/trunk"> Rendered common/error.html.erb within layouts/base (2.0ms) Completed 404 Not Found in 561.0ms (Views: 118.0ms | ActiveRecord: 43.0ms)
- 締切済み
- その他([技術者向] コンピューター)
- kairu0719
- 回答数3
- Product Codeの変更法は?
Visual Studioを使用してSetup Projectを作りました その.msiファイルを使ってインストールすると『別のバージョンの製品が既にインストールされています ・・・・・・』とのエラーが表示されます 今回作ったソリューシュンは、実は以前に作成した別のソリューションを流用して作ったものです だからProduct Codeが重なってしまっているのでしょう【私の推測】 Product Codeを変更すれば問題解決するだろうと思い、Setup Projectのプロパティを表示してみましたが、それらしい項目が見当たりません そこで質問です Visual Studioで作成したSetup ProjectのProduct Codeを変更する操作は何の様にすれば良いのでしょうか? アチコチ検索しましたが全く分かりません 宜しくご指導お願い申し上げます