sakusaker7 の回答履歴
- processingについて
1)横480ピクセル、縦800ピクセルの実行ウィンドウ上に、その時の時:分:秒が「18:05:01」のように表示されるようにする。 2)時計の背景に、「色」、「画像」、「図形の描画による柄」のいずれかを設定する。 3)if文を使用し、 「マウスの左ボタンがクリックされている時」には、その時の年月日が表示されるように 「マウスの右ボタンがクリックされている時」には、別の何かが起きるようにしよう。 なお、「マウスのボタンが何もクリックされていない時」には、1)のようにデジタル時計が表示されていること。 また、クリックの状態から指を離したら、画面の状態は元に戻るようにすること。 上記の条件でプログラミングしないといけないのですが、何度考えても上手く実行されません。この程度のレベルが出来なくて恥ずかしい限りなのですが、誰か手助けをしていただけないでしょうか? 下記が自分の書いたプログラミングになります。(右クリックの条件を自分は”線を描く”ように設定しました。) PFont font; PImage img; void setup(){ size(480, 800); fill(0); font = loadFont("xxxxxxxxxxx.vlw"); textFont(font); img = loadImage("xxxxxxxxxxxx.jpg"); image(img, 0, 0); } void draw(){ text(nf(hour(), 2 + "/" + nf(minute(), 2) + ":" + nf(second(), 2), 150, 245); if(mousePressed == true){ if(mouseButton == LEFT){ text(month() + "/" + day() + "/" + year(), 150, 270); }else if(mouseButton == RIGHT){ stroke(23, 9, 89); strokeWeight(2); line(mouseX, mouseY, pmouseX, pmouseY); } } }
- 締切済み
- kusorock
- その他(プログラミング・開発)
- 回答数1
- Processingでの10進数表示について
初めて質問させていただきます。プログラミングについては、全くの初心者です。 Processingで10000からのカウントダウンタイマーを作りたいと思い、様々なサイトを参考にさせていただき、次のようなプログラムを作りましたが、16進数での表示となっており、これを10進数表示に変える方法がどうしても分かりません…。 /** * Countdown(int) * */ import processing.video.*; MovieMaker mm; PFont font; String t; int cont; void setup(){ size(1200, 480); mm = new MovieMaker(this, 1200, 480, "Countdown.mov", 1, MovieMaker.VIDEO, MovieMaker.LOSSLESS); frameRate(100); background(1); smooth(); textSize(400); cont = 10000; } void draw(){ background(0); t = hex(cont, 5); if(cont < 16){ fill(255, 0, 0); } text(t,50,400); if(cont > 0){ cont -= 1; } mm.addFrame(); } void keyPressed() { if (key == ' ') { mm.finish(); println("save movie."); exit(); } } 色々と調べて、どうもhexの部分が良くないのではと思っているのですが、これをどのように変えても上手く行きません。 無知なもので、大変お恥ずかしい質問かと思いますが、ご教示のほどよろしくお願いいたします。
- ベストアンサー
- ele340646
- その他(プログラミング・開発)
- 回答数2
- Processingでの10進数表示について
初めて質問させていただきます。プログラミングについては、全くの初心者です。 Processingで10000からのカウントダウンタイマーを作りたいと思い、様々なサイトを参考にさせていただき、次のようなプログラムを作りましたが、16進数での表示となっており、これを10進数表示に変える方法がどうしても分かりません…。 /** * Countdown(int) * */ import processing.video.*; MovieMaker mm; PFont font; String t; int cont; void setup(){ size(1200, 480); mm = new MovieMaker(this, 1200, 480, "Countdown.mov", 1, MovieMaker.VIDEO, MovieMaker.LOSSLESS); frameRate(100); background(1); smooth(); textSize(400); cont = 10000; } void draw(){ background(0); t = hex(cont, 5); if(cont < 16){ fill(255, 0, 0); } text(t,50,400); if(cont > 0){ cont -= 1; } mm.addFrame(); } void keyPressed() { if (key == ' ') { mm.finish(); println("save movie."); exit(); } } 色々と調べて、どうもhexの部分が良くないのではと思っているのですが、これをどのように変えても上手く行きません。 無知なもので、大変お恥ずかしい質問かと思いますが、ご教示のほどよろしくお願いいたします。
- ベストアンサー
- ele340646
- その他(プログラミング・開発)
- 回答数2
- C言語での桁落ちの以下のプログラムを教えてください
C言語の本の問題で答えが書いてなく困っております。 f(x)=xの5乗-ルート(1+xの10乗)+1/{2×ルート(1+xの10乗)}の式が与えられ x=0,1,2・・・50 における f(x) の値を求める場合のプログラムを教えてください。 注**そのまま計算した場合と式を変形して正確に計算した場合を比較せよ(一つのプログラムで両方計算).
- 締切済み
- akitaken121
- その他([技術者向] コンピューター)
- 回答数3
- 指定した文字列を含む行から、指定した文字列を
含む行まで、全ての行を抽出して別ファイル(名前は元ファイルと同じ)としたいのです。 対象ファイルに結果を上書きでもかまいません。 指定したフォルダの中にある複数のフォルダ各々に1つずつ入っているテキストファイルが対象になります。 例) 東京都 新宿区 <start123AAA> 東京都 港区 <end>AAABBB 東京都 目黒区 どのファイルにも必ず<start と<end の文字列があります。(必ず1組です) <start の文字列を含む行から <end の文字列を含む行までを 抽出したいのです。 (欲しい結果↓) <start123AAA> 東京都 港区 <end>AAABBB フリーのエディタソフトのgrep、grepのマクロ、バッチでできないものかと試してみているのですが どうしてもうまくいきません。 抽出したい範囲、削除する範囲には禁則文字?が入っているのでバッチは難しいのでしょうか? できればバッチで処理できればなと思っているのですが、うまくいきません。 (<>!""/ あたりが入っています。別の文字に置き換えることは可能です) 範囲を抽出ではなく、 <startを含む行の一つ上の行から前を全て削除 <endを含む行の一つしたの行から後を全て削除 する方法や VBAで、スタート行をとエンド行をSearchして抽出する方法など ご教授いただきたくお願い致します。
- ベストアンサー
- nonnon555
- その他(プログラミング・開発)
- 回答数2
- 指定した文字列を含む行から、指定した文字列を
含む行まで、全ての行を抽出して別ファイル(名前は元ファイルと同じ)としたいのです。 対象ファイルに結果を上書きでもかまいません。 指定したフォルダの中にある複数のフォルダ各々に1つずつ入っているテキストファイルが対象になります。 例) 東京都 新宿区 <start123AAA> 東京都 港区 <end>AAABBB 東京都 目黒区 どのファイルにも必ず<start と<end の文字列があります。(必ず1組です) <start の文字列を含む行から <end の文字列を含む行までを 抽出したいのです。 (欲しい結果↓) <start123AAA> 東京都 港区 <end>AAABBB フリーのエディタソフトのgrep、grepのマクロ、バッチでできないものかと試してみているのですが どうしてもうまくいきません。 抽出したい範囲、削除する範囲には禁則文字?が入っているのでバッチは難しいのでしょうか? できればバッチで処理できればなと思っているのですが、うまくいきません。 (<>!""/ あたりが入っています。別の文字に置き換えることは可能です) 範囲を抽出ではなく、 <startを含む行の一つ上の行から前を全て削除 <endを含む行の一つしたの行から後を全て削除 する方法や VBAで、スタート行をとエンド行をSearchして抽出する方法など ご教授いただきたくお願い致します。
- ベストアンサー
- nonnon555
- その他(プログラミング・開発)
- 回答数2
- lispのマクロ定義について
例えば (setq x 1) とします。 また引数をインクリメントするマクロincの定義を (defmacro inc (var) `(setq var (1+ var))) とします。 さてここで (inc x) とすると 2 が返ってきます。 この時、マクロが構築する展開形は (setq x (1+ x)) ですよね? では、もしincの定義が (defmacro inc (var) `(setq ,var (1+ ,var))) ならばマクロが構築する展開形はどうなりますか? (inc x)とすると(xの値は1)展開形は (setq 1 (1+ 1)) となりエラーになると思います。 しかしこれはエラーにならず、ちゃんと2が返ってきます。 バッククオートのなかの , がついた要素はバッククオートの影響を受けないはずなのに , を書かない時と同じになるのはおかしいと思います。 なぜこんなことが起きるのでしょうか? 誰か教えてください、お願いします。
- ベストアンサー
- puntero
- その他(プログラミング・開発)
- 回答数2
- 条件にあてはまる変数を抽出したい
Perl初心者です。お願いいたします。 下記のような動きを実現したいのですが、どのような方法があるでしょうか。 できる限りすっきり書きたいのですが、自分で書きますと全パターンを記述していく・・等しか思いつきませんでした。お分かりになる方お教えいただけますと助かります。 $a1、$a2、$a3、$a4、$a5、$a6の6種類のデータがあり、いずれも「1」または「2」が代入されます。 その時に「1」が代入されたもののうち、aの後ろの数字が大きいほうの変数を抽出したいです。 たとえば、$a1、$a2、$a3、$a4、$a5、$a6 のデータが、1、2、2、1、1、2 であれば、「1」のうち数字が大きいのは$a5 なので $TOP = $a5; 、としたいです。 宜しくお願いします。
- LISPでフィルタープログラムを作るには。
DOS(やUNIX)では、CやRubyなどを使い c:\> sort < in.txt | uniq | myFilter.rb > out.txt のようにフィルタープログラムを作れるのですが、LISPではどうしたらいいのかわかりません。 関連本にはリスト処理や再帰の例題や解説はあるのですが、この方面はほとんど見たことがありません。 質問は、標準入力から一行のテキストデータを受け取り、処理後標準出力に出力するコードはどのようなものなのだろうか、ということです。あまりにも初歩的なことで申し訳ありませんが、ご教示いただければとてもうれしいです。
- 締切済み
- takayama1950
- その他(プログラミング・開発)
- 回答数1
- lispのwhile
lispの特殊形式whileを以下のように定義します。 (while 判定条件 本体…) 第一引数である判定条件を評価し真ならば本体を評価しもういちど判定条件を評価、偽ならば本体を評価しない。 この時次のコードでよくわからない部分があります (defmacro image (var list &rest forms) `(let (($list$ ,list) ($r$ nil) (,var nil) ) (while ($list$ (nreverse $r$)) (setq ,var (pop $list$)) (push (progn ,@forms) r) ))) ($list$ (nreverse $r$)) この文は 偽(つまりnil) になりえるのですか? $list$はpopを繰り返すのでループを繰り返せばnilになるでしょう。 しかし (nreverse $r$) はpushを繰り返すのでnilにはなりえないと思います。 また、もしnilになりえたとしても (while (nil nil)) は (while (nil)) と同値なのでしょうか? ちなみにこれはlispの参考書のコードそのままです。 読み進めていくうちにだんだん難しくなってきました。 もうどれだけ考えてもわからないので、気持ち悪い思いはしながらもどんどん先に進んでいます。 こんな勉強法でいいんでしょうか? 不安になります。
- ベストアンサー
- puntero
- その他(プログラミング・開発)
- 回答数4
- リストを逆順にする関数(LISP)
「初めての人のためのLISP[増補改訂版]」のP150のリストを逆順に関数がよくわかりません。 以下がその関数です。 (defun nreverse (x) (nrev2 x nil)) (defun nrev2 (x r) (cond ((null x) r) (t (nrev2 (cdr x) x) (rplacd x r) ))) xがnilになるまで再帰を繰り返し、((null x) r) で再帰を戻りますがなぜs (rplacd x r)でリストが逆順になるんでしょうか。例えばxを(a b c)とすると x:(a b c) r:nil ↓ x:(b c) r:(a b c) ↓ x:(c) r:(b c) ↓ x:nil r:(c) ↓ rplacd (c) (b c) ↓ rplacd (b c) (a b c) ↓ rplacd (a b c) nil となるのですが、これじゃあ全然リストは逆順になりませんよね。 誰が教えてください、お願いします。 ちなみにrplacd は第一引数のcdrを第二引数に変換する関数です。
- ベストアンサー
- puntero
- その他(プログラミング・開発)
- 回答数4
- python __del__()に関して
「Programming Python 4th Edition」(O'REILLY) P.466に 以下のコードを実行すると 本来tmp.set(5)で6番目のRadiobuttonが選択された状態で初回表示されるはずだが radio1()終了時にtmp.__del__()が呼ばれて tmpに保持されている値がunsetされることにより Radiobuttonの初回表示が狂う (global行のコメントアウトをやめると正しく動作するようになる) といったことが書いてあり、実際にコードを実行すると確かにそのようになるのですが tmp.__del__()が呼び出される理由が理解できません。 __del__()が呼び出されるのはオブジェクトへの参照がなくなった時であって tmpの値(IntVarオブジェクト)はRadiobuttonのコンストラクタに渡されており、Radiobuttonオブジェクト内部で参照され続けるので、__del__()が呼ばれることはないはずだ、と素人考えでは思えるのですが。 お分かりになる方が居らっしゃればどうか教えて下さい。 ------------------------------------------------------------ from tkinter import * root = Tk() def radio1(): >>>>#global tmp >>>>tmp = IntVar() >>>>for i in range(10): >>>>>>>>rad = Radiobutton(root, text=str(i), value=i, variable=tmp) >>>>>>>>rad.pack(side=LEFT) >>>>tmp.set(5) radio1() root.mainloop() (>>>>は空白に読み替えてください)
- 締切済み
- HOKweb
- その他(プログラミング・開発)
- 回答数2
- 「初めての人のためのLISP[増補改訂版]」で
「初めての人のためのLISP[増補改訂版]」のP.46の練習問題をやっていくと (setq A nil) nil (setq B '(87 58 90)) (87 58 90) (setq C '(I B M)) (I B M) (null t) nil (null A) t (null (null A)) nil (cadr B) 58 (+ (car B) (caddr B)) 177 (cadr C) B (set (car C) (cdr B)) (58 90) (car C) I (atom C) nil となりますが、 なぜ (atom C) でnilが返ってくるのですか? "C"はアトムではないのですか?
- ベストアンサー
- puntero
- その他(プログラミング・開発)
- 回答数3
- perlを使ってファイル分割
ーーーーーーーーーーーー SRR_1 X1 Y1 SRR_1 X2 Y2 ~ SRR_1 Xn Yn SRR_2 X1 Y1 SRR_2 X2 Y2 ~ SRR_3 X1 Y1 ~ SRR_xxx X1 Y1 ーーーーーーーーーーー このようなタブ区切りのファイルを、一列目のSRR以降の数字が変わるごとに以下のようにファイルを分割したいと思っています。 SRR_1.txt ーーーーーーー X1 Y1 X2 Y2 ~ Xn Yn ーーーーーーー SRR_2.txt ーーーーーーー X1 Y1 ~ Xn Yn ーーーーーーー perl初心者ですが、どうかよろしくお願いします。
- 変換について
お世話になっております。 下記要件を満たす記述をご教授頂けますでしょうか。 <概要> アンケートデータを結合してアウトプットします。 ・アンケートデータ 1~10までの項目を当てはまるものだけ回答してます。 例)Aさん:1/5/6/8 Bさん:3/4/7/8/9/10 ・アウトプット形式 1~10のカラムがあり、回答された所を1とし、回答されてないものを0とする。 例)Aさん:1/0/0/0/1/1/0/1/0/0(1,5,6,8を1とし、それ以外を0とする) Bさん:0/0/1/1/0/0/1/1/1/1(3,4,7,8,9,10を1とし、それ以外を0とする) よろしくお願い致します。
- 変換について
お世話になっております。 下記要件を満たす記述をご教授頂けますでしょうか。 <概要> アンケートデータを結合してアウトプットします。 ・アンケートデータ 1~10までの項目を当てはまるものだけ回答してます。 例)Aさん:1/5/6/8 Bさん:3/4/7/8/9/10 ・アウトプット形式 1~10のカラムがあり、回答された所を1とし、回答されてないものを0とする。 例)Aさん:1/0/0/0/1/1/0/1/0/0(1,5,6,8を1とし、それ以外を0とする) Bさん:0/0/1/1/0/0/1/1/1/1(3,4,7,8,9,10を1とし、それ以外を0とする) よろしくお願い致します。
- 要らない配列を無くしたい。Perl
要素のない配列を消したいです。 do\n be\n usual\n become\n get\n look\n watch\n このような複数行の文があり"a"が入っている行だけ配列に突っ込みたいと思っています。 自分が試した方法として。 @line = split(/\n/,$content); とりあえず改行で区切り配列にぶち込んでいき。 foreach $line (@line){ unless ($line =~/a/){ $line = undef; } } その次に"a"が入っている以外の配列にundefを入れるようにしていました。 しかしこれだとundefが入っている配列がたくさん出来てしまい納得がいきません。 要素のない配列を消したいです。 どなたかご教授お願いします。
- ベストアンサー
- teachmegoogle
- Perl
- 回答数5
- 正規表現 最長マッチが、機能しない。
# 正規表現 最長マッチが、機能しない。 # # Windows XP(sp3) ActivePerl # # This is perl 5, version 12, subversion 3 (v5.12.3) built for MSWin32-x86-multi-thread # (with 9 registered patches, see perl -V for more detail) # # Copyright 1987-2010, Larry Wall # # Binary build 1204 [294330] provided by ActiveState http://www.ActiveState.com # Built Feb 9 2011 14:38:22 # use strict; use utf8; use Encode; my $doc = "(L)12×(H)34×(W)56\n"; $doc =~ s%(\([LHW]\)(\d+))([^×cm])%$1cm$3%ig; # ←この部分 print encode("cp932", $doc); {出力結果} (L)1cm2×(H)3cm4×(W)56cm
- pythonで組合せ、順列
pythonで、a=[4,5,6],b=[7,8],c=[9,10],x=a+b+cというリストがあり、 aの順列から1つ(a1)、bの順列から1つ(b1)、cの順列から1つ(c1)を選択し、 それらをxx=a1+b1+c1とするすべてのxxを求めるためにはどうすればいいですか? xxの例 [[6,4,5],[7,8],[10,9]]
- ベストアンサー
- noname#139450
- Python
- 回答数1
- Perlでのテキスト処理について
Perlでのテキスト処理について質問です。 テキストファイルの中身が下記のようになっています。 【テキスト編集前】 --------------------------------------- test ,abc ,AB ,VI ,SS ,ma ---1行目 test ,abc ,AC ,PI ,VS ,ma ---2行目 test ,abc ,BA ,SS ,VS ,ma ---3行目 test ,abc ,BA ,VI ,VS ,ma ---4行目 test ,cde ,AA ,VI ,SS ,mb ---5行目 test ,cde ,CC ,PE ,VS ,mb ---6行目 test ,cde ,BC ,PI ,SS ,mb ---7行目 test ,cde ,AC ,PI ,SS ,mc ---8行目 --------------------------------------- 2列目(abc/cde)と6列目(ma/mb/mc)が同じ行に対しては 1行にまとめて出力したいと思っています。 この時、1列目、4列目、5列目はマージした形にし (同一文字は一度だけ出力、同一でない文字は/区切りで出力)、 2列目、6列目は同一文字をそのまま出力し、 3列目に関しては、該当する行の先頭行の文字列を 出力したいと思っています。 下記が当方の希望しているPerl実行後の出力結果です。 【テキスト編集後】 --------------------------------------- test ,abc ,AB ,VI/PI/SS ,SS/VS ,ma test ,cde ,AA ,VI/PE/PI ,SS/VS ,mb test ,cde ,AC ,PI ,SS ,mc --------------------------------------- このような編集をPerlで実行したいと思っているのですが、 どのような記述をすれば実行できるのか教えて頂けないでしょうか。 当方、Perlを始めたばかりで基本的なことを 伺っているのかもしれませんが すみませんが、ご了承ください。 宜しくお願いいたします。