lachesis-r の回答履歴

全86件中1~20件表示
  • ソースコードの簡略化

    ただいま、Turbo C++ 2006 を使っているのですが、 以下のコードを簡略化するような処理はありますでしょうか? Edit1->Text = ini->ReadString("String", "Edit1",""); Edit2->Text = ini->ReadString("String", "Edit2",""); Edit3->Text = ini->ReadString("String", "Edit3",""); Edit4->Text = ini->ReadString("String", "Edit4",""); Edit5->Text = ini->ReadString("String", "Edit5",""); 検索はしてみましたが、どうも検索の仕方が下手で、 なかなかいいページが見つかりませんでした・・・。

    • repop
    • 回答数4
  • セルA1 と セル A4 の数値を直線にするには?

    セルA1=10 セルA4=40 という数値が入力されている場合、 セルA2とセルA3それぞれにEXCELの関数を入力し、 A1~A4の区間を直線にするには どのような関数があるのでしょうか? 今回の様な数値の場合、 A1=10 A2=20 A3=30 A4=40 と成りますが関数を使用する場合、 A2とA3にはどの様な数式が入るのでしょうか?

  • 除算がなぜかできません(pascal)

    フィボナッチ数列の連続する項の差の比  z(n) = { f(n-1) - f(n-2) } / { f(n) - f(n-1) } 、 これのz(n-1),z(n)の差の絶対値がある定数以下になった時(100項まで)に計算を終了するプログラムを作ったのですが、何度コンパイルしても上の式の除算部でエラーが起きてしまいます。 どこがおかしいのかご教授ください。 program Toi3 (input,output); const dif = 1.0 * exp(-6); var n : integer; result : real; function f(n:integer):integer; begin if(n>=0)and(n<=1) then f:=1 else f:=f(n-1)+f(n-2); end;{f} function z(n:integer):real; begin z := {f(n-1) - f(n-2)}/{f(n)-f(n-1)} end; begin n:=2; while (n=100) or (result<dif) do begin n:=n+1; result:= abs(z(n)-z(n-1)) end; if n=100 then begin result:= abs(z(100)-z(99)); if result<dif then begin writeln('収束した') end else begin writeln( z(100),'収束しなかった') end end else begin writeln('収束した') end end. エラー: 17 z := {f(n-1) - f(n-2)}/{f(n)-f(n-1)} E 18460--------------------------------^--- Replaced '/' with a identifier In function z: w 18270 variable n is never used

    • rurur
    • 回答数2
  • キーボード、マウス操作を自動化するソフト

    キーやマウスの操作を記憶させ自動化したいのですが、そのようなソフトはありますか?エクセルで入力されている社員データ(A列に社員番号、B列に社員名、C列に住所)があります。そのデータを社員マスターに登録していくのですがセルA1をコピーしてマスター画面の社員番号に貼り付け→セルB1をコピーしてマスター画面の社員名に貼り付け→セルC1をコピーしてマスター画面の住所に貼り付け→登録ボタン→A1をコピーして・・・といった操作を繰返し行います。この操作を記憶させておけば入力の負担を軽減したいのですが、それが実現できるソフトはありますか?

  • Verilog-HDLのFF記述について

    先程アップしたのは、図が変になってしまいました。 改めて質問します。 1つのFF(非同期リセット)をVerilog-HDLで記述すると、以下のように記述出来ますよね? always @ ( posedge CLK or negedge RESET ) begin if ( !RESET ) begin Q <= 1'b0 ; xQ <= 1'b1 ; end else begin Q <= D ; xQ <= ~D ; end end この1つのFFをalways文を2つ使って記述出来るんですか? ご回答宜しくお願いします。

  • 画像処理のラプラシアンフィルタについて

    ラプラシアンフィルタを利用したエッジ抽出を現在行っているのですが (i,j)*4-(i,j-1)-(-i,j)-(i+1,j)-(i,j+1) このように計算した値を-の場合は0にして,255を超える場合は255にするという処理を行い それ以外は計算して出た値を使うので間違いはないでしょうか? エッジ抽出というと二値で出力されそうなイメージがあるのですが…

    • TpyLgW
    • 回答数3
  • 画像処理のラプラシアンフィルタについて

    ラプラシアンフィルタを利用したエッジ抽出を現在行っているのですが (i,j)*4-(i,j-1)-(-i,j)-(i+1,j)-(i,j+1) このように計算した値を-の場合は0にして,255を超える場合は255にするという処理を行い それ以外は計算して出た値を使うので間違いはないでしょうか? エッジ抽出というと二値で出力されそうなイメージがあるのですが…

    • TpyLgW
    • 回答数3
  • 画像処理のラプラシアンフィルタについて

    ラプラシアンフィルタを利用したエッジ抽出を現在行っているのですが (i,j)*4-(i,j-1)-(-i,j)-(i+1,j)-(i,j+1) このように計算した値を-の場合は0にして,255を超える場合は255にするという処理を行い それ以外は計算して出た値を使うので間違いはないでしょうか? エッジ抽出というと二値で出力されそうなイメージがあるのですが…

    • TpyLgW
    • 回答数3
  • Verilogでメモリに初期値を記憶する方法

    VHDL言語で次のようにしてRAMエリアに初期値を記憶しましたが, Verilogで同じことをinitialで行おうとしてもうまくいきません。 どうすればよいかアドバイスを下さい。 type ram_type is array (0 to 3) of std_logic_vector (7 downto 0); -- RAM : 4 Byte signal RAM : ram_type:= ("00010010", "10010001","00001111","10001001");

  • verilog ~ や() について特に気をつけなくちゃいけないことってありますか??

    a,bともに正の数(15bit目が0のとき)のみしか計算が合いません。いろいろ試した結果「~」か「()」に問題があるのではないかと思っています。(優先順位はちゃんと考慮してプログラムを組んだつもりなのですが…)なにかこれらについて知らずに見落としていることがあるのではないかと思っています。もしくはほかに問題があるのでしょうか?おしえてgoo!!教えてください!内容は以下です ******************************** //module mul.v //`timescale 1ns/10p module mul(a,b,q); input [15:0] a,b; output [32:0] q; wire [15:0] _a,_b; wire [32:0] q; assign _a= a; assign _b= b; assign q =((a == 16'h8000) || (b == 16'h8000))?33'h1ffffffff: ((a[15] == 0) && (b[15] == 0))?_a * _b: ((a[15] == 0) && (b[15] == 1))?~(_a * (~_b+1))+1: ((a[15] == 1) && (b[15] == 0))?~((~_a+1) * _b)+1: ((a[15] == 1) && (b[15] == 1))?(~_a + 1) * (~_b + 1): _a * _b; endmodule **************************************************************** 以下演算結果、NOTが使われたときのみqの上位16bitの結果が計算と合わない(関数電卓で確認) ****************************************************************   300 c = 010 a = 0000000000000000 b = 0010011001100101 q = 000000000000000000000000000000000 310 c = 010 a = 0001000100010001 b = 0110001001100011 q = 000000110100011110001101110010011 320 c = 010 a = 0010001000100010 b = 1000011100001010 q = 000010010000000010100001101010100 330 c = 010 a = 0011001100110011 b = 0010001010000000 q = 000000110111001100101111110000000 340 c = 010 a = 0100010001000100 b = 0010000100100000 q = 000001000110101010100110010000000 350 c = 010 a = 0101010101010101 b = 0100010110101010 q = 000010111001110001001001101110010 360 c = 010 a = 0110011001100110 b = 1100110010011101 q = 001010001110110000001010010001110 370 c = 010 a = 0111011101110111 b = 0011111010010110 q = 000011101001101001101000110111010 380 c = 010 a = 1000100010001000 b = 1011100000010011 q = 001100010001010111110001000011000 390 c = 010 a = 1001100110011001 b = 0011100000001101 q = 000100001101000010100010011000101 400 c = 010 a = 1010101010101010 b = 1101011001010011 q = 010001110111000010111000100011110 410 c = 010 a = 1011101110111011 b = 1101110101101011 q = 010100010010111101110011000101001 420 c = 010 a = 1100110011001100 b = 0010101011010101 q = 000100010010000111101110110111100 430 c = 010 a = 1101110111011101 b = 0100101000000010 q = 001000000001000111001110110111010 440 c = 010 a = 1110111011101110 b = 0011111010101110 q = 000111010100000000000100111000100

    • sususun
    • 回答数1
  • verilog 符号付加減算(最上位符号拡張)について教えてください

    verilog初心者で、(2の補数形式)符号付加減乗算器を作成しています。 …が符号拡張のところで解決できずにいます f(--;) もとの数a,bの最上位ビット(符号ビット)を16ビット分(乗算器に あわせ)増やすことは理解できたのですが、それをどうverilog 記述すればいいのかわかりません。下記にある記述ではエラーと なってしましました。 0拡張や、演算結果の最上位ビットだけを符号ビットにしてみたりし たのですが、これではダメとのことで もうどうやったらいいのか わからなくなってきました。(TT); どなたか教えてください。 m(_ _)m -------------------------------------------------------------- module kadai(a,b,c,q); input [15:0] a,b; input [2:0] c; output [32:0] q; wire [32:0] q; assign q =(c == 3'b000)?{16{a[0]},a}+{16{b[0]},b}: (c == 3'b001)?{16{a[0]},a}-{16{b[0]},b}:      (c == 3'b010)?{16{a[0]},a}*{16{b[0]},b}; endmodule ---------------------------------------------------------------- {16{a[0]},a}や{16{a[0]},b}という表現がいけないようなのですが… よろしくお願い致します。

    • sususun
    • 回答数3
  • verilog 符号付加減算(最上位符号拡張)について教えてください

    verilog初心者で、(2の補数形式)符号付加減乗算器を作成しています。 …が符号拡張のところで解決できずにいます f(--;) もとの数a,bの最上位ビット(符号ビット)を16ビット分(乗算器に あわせ)増やすことは理解できたのですが、それをどうverilog 記述すればいいのかわかりません。下記にある記述ではエラーと なってしましました。 0拡張や、演算結果の最上位ビットだけを符号ビットにしてみたりし たのですが、これではダメとのことで もうどうやったらいいのか わからなくなってきました。(TT); どなたか教えてください。 m(_ _)m -------------------------------------------------------------- module kadai(a,b,c,q); input [15:0] a,b; input [2:0] c; output [32:0] q; wire [32:0] q; assign q =(c == 3'b000)?{16{a[0]},a}+{16{b[0]},b}: (c == 3'b001)?{16{a[0]},a}-{16{b[0]},b}:      (c == 3'b010)?{16{a[0]},a}*{16{b[0]},b}; endmodule ---------------------------------------------------------------- {16{a[0]},a}や{16{a[0]},b}という表現がいけないようなのですが… よろしくお願い致します。

    • sususun
    • 回答数3
  • 直線検出のハフ変換プログラム(delphi)

    ただいまdelphiで直線検出のハフ変換のプログラムを書いているのですが、コンパイルし、実行しようとするとスタックオーバーフローになってしまいます。 おそらく2次元配列のcounterの部分だと思うのですが、どなたか回避の仕方お分かりになるでしょうか? ご存じの方いらっしゃいましたら教えて下さい。 下記にハフ変換の部分のコードを載せます。 他にも何か気付いた点ありましたらご指摘お願いいたします。 ○直線検出のハフ変換○ var i, j, k, n: Integer; rx, ry: Integer; clr: tcolor; R: longint; counter_max: Integer; THETA_RESOLUTION, RHO_RESOLUTION, LNUMBER_MAX: Integer; pai: Double; theta, rho: Integer; theta_max, rho_max, count: Integer; theta_cut, rho_cut: Integer; counter:array[0..1023,0..1999] of Integer; //直線検出のためのカウンタ sn:array[0..1023] of Double; //sin cs:array[0..1023] of Double; //cos begin THETA_RESOLUTION:=1024; //thetaの範囲は0から1023まで RHO_RESOLUTION:=2000; //rhoの範囲は-1000から999まで LNUMBER_MAX:=15; //検索する電線の数は15まで pai:=PI / THETA_RESOLUTION; //π÷THETA_RESOLUTION for i:=0 to 1023 do //sinとcosのテーブルを用意 begin sn[i]:=Sin(pai*i); cs[i]:=Cos(pai*i); end; //ハフ変換の実行// for rx:=0 to 639 do begin for ry:=0 to 479 do begin clr:=image1.Canvas.Pixels[rx,ry]; R:=colortorgb(clr); if(getrvalue(R)=0)and(getgvalue(R)=0)and(getbvalue(R)=0) then //黒である for theta:=0 to 1023 do begin rho:=Trunc(rx*cs[theta]+ry*sn[theta]+0.5); counter[theta,rho+1000]:=counter[theta,rho+1000]+1; end; end; end; //ハフ逆変換の実行// for n:=0 to 14 do begin //counterが最大になるtheta_maxとrho_maxを求める// counter_max:=0; for theta:=0 to 1023 do begin for rho:=-RHO_RESOLUTION div 2 to RHO_RESOLUTION div 2-1 do begin if(counter[theta,rho+RHO_RESOLUTION div 2] > counter_max) then begin counter_max:=counter[theta,rho+RHO_RESOLUTION div 2]; theta_max:=theta; rho_max:=rho; count:=counter_max; end; end; end; //counter[theta_max,rho_max]の近傍を0にする// for i:=-20 to 20 do begin for j:=-10 to 10 do begin theta_cut:=theta_max+i; rho_cut:=rho_max+j; if(theta_cut < 0) then begin theta_cut:=theta_cut+THETA_RESOLUTION; rho_cut:=-rho_cut; end else if(theta_cut > THETA_RESOLUTION-1) then begin theta_cut:=theta_cut-THETA_RESOLUTION; rho_cut:=-rho_cut; end; counter[theta_cut,rho_cut+RHO_RESOLUTION div 2]:=0; //削除する end; end; //ハフ逆変換した結果の表示// if(theta_max<>0) then //垂線の線を描く begin for rx:=0 to 639 do begin ry:=Trunc((rho_max-rx*cs[theta_max])/sn[theta_max]+0.5); if(ry>=480)or(ry<0) then continue; image1.Canvas.Pixels[rx,ry]:=RGB(255,0,0); end; end; if(theta_max<>THETA_RESOLUTION div 2) then //水平の線を描く begin for ry:=0 to 479 do begin rx:=Trunc((rho_max-ry*sn[theta_max])/cs[theta_max]+0.5); if(rx>=640)or(rx<0) then continue; image1.Canvas.Pixels[rx,ry]:=RGB(255,0,0); end; end; //直線を形成するピクセルが60個未満になったら表示しない// if count<60 then break; end; end;

  • verilog 符号付加減算(最上位符号拡張)について教えてください

    verilog初心者で、(2の補数形式)符号付加減乗算器を作成しています。 …が符号拡張のところで解決できずにいます f(--;) もとの数a,bの最上位ビット(符号ビット)を16ビット分(乗算器に あわせ)増やすことは理解できたのですが、それをどうverilog 記述すればいいのかわかりません。下記にある記述ではエラーと なってしましました。 0拡張や、演算結果の最上位ビットだけを符号ビットにしてみたりし たのですが、これではダメとのことで もうどうやったらいいのか わからなくなってきました。(TT); どなたか教えてください。 m(_ _)m -------------------------------------------------------------- module kadai(a,b,c,q); input [15:0] a,b; input [2:0] c; output [32:0] q; wire [32:0] q; assign q =(c == 3'b000)?{16{a[0]},a}+{16{b[0]},b}: (c == 3'b001)?{16{a[0]},a}-{16{b[0]},b}:      (c == 3'b010)?{16{a[0]},a}*{16{b[0]},b}; endmodule ---------------------------------------------------------------- {16{a[0]},a}や{16{a[0]},b}という表現がいけないようなのですが… よろしくお願い致します。

    • sususun
    • 回答数3
  • verilogでデマルチプレクサの作り方

    verilog初心者です。 ISEにてロジックを作成しているのですが、 verilogでデマルチプレクサをつくりたいのですが良い参考資料が 見当たらない為困っています。 module SEL(CLK, S, OUT); input CLK; input [2:0] S; output [3:0] OUT; といったような構成なので このクロック信号をセレクト結果によって たとえば s=000 OUT[0]=CLK OUT[1]=0 OUT[2]=0 OUT[3]=0 s=001 OUT[0]=0 OUT[1]=CLK OUT[2]=0 OUT[3]=0 といったようにしたくて、case文等を使用して 出力させようと記述してみたものの、エラーでパラで出力できない と表示されます。 何卒アドバイスをお願いします。

  • Verilog-HDLによる設計において

    現在Z8085のCPUを設計しており、テンポラリレジスタにラッチする部分でなかなか上手くいきませんので質問させていただきます。 always文を使用したステートマシンにより制御しようとしているのですが次のようなWarningが出ます。 Warning: Latch IR[0]$latch has unsafe behavior Warning: Latch IR[1]$latch has unsafe behavior            : Warning: Latch IR[7]$latch has unsafe behavior Warning: Latch TMP1[0]$latch has unsafe behavior Warning: Latch TMP1[1]$latch has unsafe behavior            : Warning: Latch TMP1[7]$latch has unsafe behavior Warning: Latch TMP2[0]$latch has unsafe behavior Warning: Latch TMP2[1]$latch has unsafe behavior            : Warning: Latch TMP2[7]$latch has unsafe behavior Warning: Latch NEXT_STATE[0]$latch has unsafe behavior Warning: Latch NEXT_STATE[1]$latch has unsafe behavior <ソース> module CPU_TMP( CLK, nRST, FROM_DCD, IR, TMP1, TMP2, STATE, NEXT_STATE ); input CLK;//クロック input nRST;//リセット input [7:0] FROM_DCD;//入力命令 output [7:0] IR;//命令レジスタ output [7:0] TMP1;//テンポラリレジスタ1 output [7:0] TMP2;//テンポラリレジスタ2 output [1:0] STATE;//現在のステート output [1:0] NEXT_STATE;//次のステート reg [7:0] IR; reg [7:0] TMP1; reg [7:0] TMP2; reg [1:0] STATE; reg [1:0] NEXT_STATE; //状態 parameter S0 = 2'b00; parameter S1 = 2'b01; parameter S2 = 2'b10; parameter SD = 2'b11; //命令 parameter INRA = 8'h11; parameter MVIA = 8'h22; parameter JMP = 8'h33; always @( posedge CLK ) begin     if( nRST == 0 )       STATE <= SD;     else       STATE <= NEXT_STATE; end always @( STATE ) begin    case( STATE )      SD : begin            IR <= 0;            TMP1 <= 0;            TMP2 <= 0;            NEXT_STATE <= S0;          end      S0 : begin            IR <= FROM_DCD;            case( FROM_DCD )              INRA : NEXT_STATE <= S0;              MVIA : NEXT_STATE <= S1;              JMP : NEXT_STATE <= S2;            endcase          end      S1 : begin              TMP1 <= FROM_DCD;              NEXT_STATE <= S0;          end      S2 : begin              TMP2 <= FROM_DCD;              NEXT_STATE <= S0;          end endcase end endmodule どのようにしたらこのWarningを消すことができるでしょうか。

    • 03j25
    • 回答数1
  • PS3とテレビの映像設定について

    みなさんこんにちは。 現在PS3をSONYのWEGA(32型:D4端子付き)にD端子ケーブルで接続してしています。この接続ですと出力される映像はD4という認識だったのですが、テレビのコンポーネント画面左上部に出る表示画像方式は1125i(調べてみたところ1125iはD3とのこと※)となっているのです。 ※参考にしたサイト↓  http://www.geocities.jp/bokunimowakaru/std-hdmi.html ちなみにPS3本体側の映像出力設定はD4に当てはまる750Pにもチェックしてあり、そのことでモニターに異常は出ていません。 どうしてD4まで可能な端子に接続しているのに、テレビ側が 1125iという表示になっているのでしょうか? できれば、ちゃんとD4の映像を出力したいのですが。 わかることがありましたら、ぜひ教えていただきたいと 思い質問させていただきました。 みなさん、どうぞよろしくお願いいたします。

    • noname#211807
    • 回答数4
  • PS3とテレビの映像設定について

    みなさんこんにちは。 現在PS3をSONYのWEGA(32型:D4端子付き)にD端子ケーブルで接続してしています。この接続ですと出力される映像はD4という認識だったのですが、テレビのコンポーネント画面左上部に出る表示画像方式は1125i(調べてみたところ1125iはD3とのこと※)となっているのです。 ※参考にしたサイト↓  http://www.geocities.jp/bokunimowakaru/std-hdmi.html ちなみにPS3本体側の映像出力設定はD4に当てはまる750Pにもチェックしてあり、そのことでモニターに異常は出ていません。 どうしてD4まで可能な端子に接続しているのに、テレビ側が 1125iという表示になっているのでしょうか? できれば、ちゃんとD4の映像を出力したいのですが。 わかることがありましたら、ぜひ教えていただきたいと 思い質問させていただきました。 みなさん、どうぞよろしくお願いいたします。

    • noname#211807
    • 回答数4
  • Delphi デバッグ方法

    Delphi6Proを使用しています。 実行時のみ発生するエラーなのですが、 例外が発生するとログファイルに出力する様に組んであります。 (ApplicationEvents1Exceptionでトラップ) コンパイル後のプログラムを実行すると 「'' is not a valid integer value」が出力されています。 これだけでは直接原因しか判らず、変数や場所の特定ができません。 推測するとどうもStringgridの値をstrtointで数値変換している当たりが怪しそうなのですが、該当箇所が多数あり全てにとラップを仕掛けるのは大変効率が悪く困っています。 何か良い方法をご存じでしたら宜しくお願い致します。

  • verilogで配列の任意の8bitを取り出す方法

    配列の中の任意の8bitを取り出すのに、  hoge[fuga:fuga + 8] と書きましたが、エラーになってしまいました。 配列の添え字には、変数は記述できないのでしょうか? とすると、他にどの様な書き方があるのでしょうか? 教えてください。よろしくお願いします。 (verilog初心者です)