[過去ログ] プログラミングのお題スレ Part13 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
729: 2019/03/17(日)12:19 ID:gm8A83sV(1)調 AAS
自転車修理屋さんが機械に強いけどコードなんて、かけなさそう
730
(1): 2019/03/17(日)12:38 ID:TUY5K+QC(1/2)調 AAS
>>723 Perl5

for (<DATA>) {
 ($l, $o, $r) = split;
 @l = $l =~ /(\d?)(\d)/;
 @r = $r =~ /(\d?)(\d)/;
 $a1 = $l[0] + $r[0];
 $a0 = $l[1] + $r[1];
 @a1 = $a1 =~ /(\d?)(\d)/;
 @a0 = $a0 =~ /(\d?)(\d)/;
 $a = 10*$a1 + $a0;
 $" = '';
 print <<"EOF";
@l
$o@r
---
@a1
@a0
---
$a

EOF
}
__DATA__
29 + 15
29 + 5
731
(1): 2019/03/17(日)12:40 ID:TUY5K+QC(2/2)調 AAS
>>730 の実行結果

~ $ perl 13_723.pl
29
+15
---
3
14
---
44

29
+5
---
2
14
---
34

せっかくのスペース調整が詰まっちゃって残念なのでアンカーでポップアップして見てね
>>731
732: 2019/03/17(日)12:41 ID:PfKDQB+U(1)調 AAS
>>725 C++
https://ideone.com/Mvx9Mp
733: 2019/03/17(日)13:19 ID:k04EM+xl(3/4)調 AAS
>>723
掛け算に対応したり、1桁どうしの計算用フォーマット作ったりしてたら規模がでかくなった(・ω・`)

1
* 2
-----
2

10
* 0
-----
0

Haskell

https://ideone.com/SCzGKq
734: 2019/03/17(日)13:39 ID:yIqzgq0g(1)調 AAS
>>681 Common Lisp
https://ideone.com/Mutq4v
735
(1): 2019/03/17(日)18:42 ID:7j/Zhhp5(1)調 AAS
>>723 ネタ回答: WolframAlpha API / node
// index.js
const {get} = require('http');
const appid = '<<YOUR WolframAlpha APP ID>>';
process.stdin.on('data', data => {
get(`http://api.wolframalpha.com/v2/query?appid=${appid}&input=${encodeURIComponent(data.toString().trim())}&podstate=Result__Step-by-step+solution&format=image&output=json`, res => {
res.setEncoding('utf8');
let body = '';
res.on('data', chunk => {body += chunk;});
res.on('end', () => {
get(JSON.parse(body).queryresult.pods.filter(({title}) => title === 'Results')[0].subpods.filter(({title}) => title === 'Possible intermediate steps')[0].img.src, res => {
res.on('data', data => {process.stdout.write(data)});
});
});
});
});
$ echo 29+15 | node . > ./test1.gif
https://i.imgur.com/QxolfNz.gif

$ echo 29+5 | node . > ./test2.gif
https://i.imgur.com/D0r3sSg.gif

$ echo 29*15 | node . > ./test3.gif
https://i.imgur.com/imvQO5g.gif


試しに一桁×一桁やってみたらなんだか微妙な計算過程に…
$ echo 5*5 | node . > ./test.gif
https://i.imgur.com/8z3kZPf.gif


あと割り算はAPIからでは計算過程のURL取れなかった
736: 2019/03/17(日)19:54 ID:k04EM+xl(4/4)調 AAS
>>735
こうやって足し算の筆算とは言え、人間の思考過程をプログラムで再現してみると小学生から結構複雑な処理してるんだなと思う。
もっと人間の処理に近づけるなら文字列として認識して、1桁目を数字に変換して〜みたいになるんだろうけど。
737
(1): 2019/03/17(日)22:48 ID:t+AGMGYK(1)調 AAS
>>494
(CSVはコンマ区切りの値だよ)
738
(1): [age] 2019/03/17(日)23:32 ID:wEirTeMQ(1/2)調 AAS
>>737
カンマを逆から読むとマンコですよ
739: [age] 2019/03/17(日)23:33 ID:wEirTeMQ(2/2)調 AAS
致命的なミスを犯しました
740: 2019/03/17(日)23:35 ID:QL30OvU4(1)調 AAS
許さないからな
741: 2019/03/18(月)00:38 ID:9+FFV4Nx(1)調 AAS
>>494 >>496 Perl5
use feature say;
@data = <DATA>;
chomp @data;
@tags = split' ', shift @data;
%idx = map{$_ => $n++} @tags;
@sum = 0 x $n;
for (@data) {
 @fs = split' ';
 for (0..$n-1) {
  $v = $fs[$_];
  if ($v =~ /^(\d+\.\d*|\d*\.\d+|\d+)$/) {
   $sum[$_] += $v;
  } else {
   warn "変なデータが紛れ込んでいます_ノ乙(、ン、)_`$v'\n";
  }
 }
}
for (@tags) {
 say "$_ の合計 = ", $sum[$idx{$_}];
}
__DATA__
カラム1 カラム2 カラム3 カラム4
1,0 2.0 3.0 4.0
2.1 3.1 4.1 5.1

~ $ perl 13_494.pl
変なデータが紛れ込んでいます_ノ乙(、ン、)_`1,0'
カラム1 の合計 = 2.1
カラム2 の合計 = 5.1
カラム3 の合計 = 7.1
カラム4 の合計 = 9.1
742: 2019/03/18(月)01:13 ID:4b49AUHf(1)調 AAS
>>738
マンコ・カパックは、インカ神話によるクスコ王国の初代国王である。
743: 2019/03/21(木)03:20 ID:ZuEvTwkR(1/2)調 AAS
>>723
Kotlin
https://paiza.io/projects/IQdiv40t3eXnM8CEXzF2Og
744: 2019/03/21(木)05:20 ID:ZuEvTwkR(2/2)調 AAS
>>675
Kotlin
https://paiza.io/projects/SlCrKgxVJRghtvESdUMR_A

リストの中の最小値をループして探し出しように作っただけなんだけど、こんなんで良いのか?
(MutableListなのでsort()しちゃうという手抜きワザもあったがそれだと表面上分岐が一つもない状態になるので止めた)。
745: 2019/03/21(木)11:30 ID:4Lv8Ku6J(1/2)調 AAS
>>494 Squeak Smalltalk。コンマを分割と見なしそれぞれについての和を出力させてみた

| fn |
fn := [:columnName |
FileStream oldFileNamed: 'data.txt' do: [:file |
| index sum |
index := (file nextLine subStrings: ' ') indexOf: columnName.
sum := 0.
[file atEnd] whileFalse: [
| next |
next := ((file nextLine subStrings: ' ') at: index) subStrings: ','.
sum := sum + (next size = 1 ifTrue: [next anyOne] ifFalse: [next])].
sum
]
].

fn value: 'カラム3'. "=> 7.1 "
fn value: 'カラム1'. "=> #(3.1 2.1) "
746
(7): 2019/03/21(木)13:37 ID:p+hkSRzH(1)調 AAS
お題
長方形の盤で左上から上下左右に一マスずつ移動して全てのマスを
辿る。
移動の順番を表した数字を向きと終点を表す文字(↑↓←→★、
上下左右終、UDLRG、^V<>Gなど)に変換する。

入力
1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11

出力
↓→→↓
→↑↓←
↓←→↓
★↑←←
747
(1): 2019/03/21(木)14:37 ID:Krn8F3T2(1)調 AAS
>>746 Perl5
@a = map{[split]} <DATA>;
for $y (0..$#a) {
 $h{$a[$y][$_]} = [$y,$_,''] for 0..$#a;
}
@s = keys %h;
%r = qw{-1,0 ↑ 1,0 ↓ 0,-1 ← 0,1 →};
for $i (1..@s) {
 if ($i == @s) {
  $d = '★'
 } else {
  $y = $h{$i+1}->[0] - $h{$i}->[0];
  $x = $h{$i+1}->[1] - $h{$i}->[1];
  $d = $r{"$y,$x"}
 }
 $h{$i}->[2] = $d;
}
($y, $x, $d) = @$_, $a[$y][$x] = $d for values %h;
use feature say;
say "@$_" for @a;
__DATA__
1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11

実行結果
~ $ perl 13_746.pl
↓ → → ↓
→ ↑ ↓ ←
↓ ← → ↓
★ ↑ ← ←
748: 2019/03/21(木)22:33 ID:4Lv8Ku6J(2/2)調 AAS
>>723 Squeak Smalltalk

| fn |
fn := [:int1 :int2 |
| strings width digits interms ans max line |
strings := {int1. int2} collect: #asString.
width := (strings detectMax: #size) size.
digits := strings collect: [:str |
(str forceTo: width paddingStartWith: $0) reversed asArray collect: #asString].
interms := (digits reduce: #+) collectWithIndex: [:interm :idx |
interm, (String new: idx-1 withAll: Character space)].
ans := interms polynomialEval: '10'.
strings atLast: 1 put: '+ ', strings last.
max := ((strings, {ans}) collect: #size) max.
line := String new: max withAll: $-.
(strings, {line}, interms, {line. ans} collect: [:str |
(str forceTo: max paddingStartWith: Character space) withoutTrailingBlanks
]) asStringWithCr
].

fn value: 987 value: 65. "=>
' 987
+ 65
----
12
14
9
----
1052' "
749
(1): 2019/03/22(金)05:04 ID:NMDgNTgg(1)調 AAS
>>746
Kotlin
https://paiza.io/projects/kKx0DA0gpsZ6He2ZxKSF_A
750: 2019/03/22(金)12:12 ID:bmKj2SZK(1)調 AAS
>>746 Squeak Smalltalk

| fn |

fn := [:str |
| map range sign goal position next atEnd |
map := str lines collect: [:line | line subStrings collect: #asInteger].
range := 1@1 extent: map first size @ map size.
sign := (0 asPoint fourNeighbors with: #(→ ↓ ← ↑) collect: #->) as: Dictionary.
goal := #★.
position := 1@1. next := 2. atEnd := false.
[atEnd] whileFalse: [
| found |
found := position fourNeighbors detect: [:neighPos |
(range containsPoint: neighPos) and: [((map at: neighPos y) at: neighPos x) = next]
] ifNone: [atEnd := true. Float nan].
(map at: position y) at: position x put: (sign at: found - position ifAbsent: goal).
position := found. next := next + 1.
].
(map collect: #join) asStringWithCr
].

fn value: '1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11'

"=>
'↓→→↓
→↑↓←
↓←→↓
★↑←←' "
751: 2019/03/22(金)20:50 ID:KB/r9SyN(1)調 AAS
>>746 octave
https://ideone.com/BacNm6
752: 2019/03/22(金)21:14 ID:97922Y7I(1)調 AAS
まだ見にくいなあ。線を繋いで矢印を入れることはできないかな。
753: 2019/03/22(金)21:41 ID:nZ/OoXFx(1/2)調 AAS
罫線
│┌─┐
└┘┌┘
┌┐└┐
★└─┘

直線部に矢印
│┌→┐
└┘┌┘
┌┐└┐
★└←┘

こんな感じ?
754
(2): 2019/03/22(金)21:43 ID:nZ/OoXFx(2/2)調 AAS
スタート部も矢印に出来るやん…

↓┌→┐
└┘┌┘
┌┐└┐
★└←┘
755: 747 2019/03/22(金)23:30 ID:DMg7GUli(1)調 AAS
code、プリーズ
756: 2019/03/23(土)01:24 ID:Bvojjkpo(1/2)調 AAS
>>754
Kotlin
https://paiza.io/projects/jjP3AHDkfJ4t_Lfsd3wmlA

>>749 を改造して作った。
757: 2019/03/23(土)01:27 ID:Bvojjkpo(2/2)調 AAS
罫線や矢印が半角で★が全角で表示されてしまうとずれるな。
ま、しょうがないか。
758: 2019/03/23(土)02:35 ID:FcxASXew(1)調 AAS
>>746 Common Lisp
https://ideone.com/7h7HT4
759
(1): 2019/03/23(土)05:47 ID:ZlGSstH0(1/2)調 AAS
>>754 Squeak Smalltalk

| fn |
fn := [:str |
| map range signs sign goal position from next atEnd |
map := str lines collect: [:line | line subStrings collect: #asInteger].
range := 1@1 extent: map first size @ map size.
goal := #★. signs := #(┌ ┌ ← → └ └ ┐ ┐ ↑ ↓ ┘ ┘) readStream.
sign := Dictionary new.
0 asPoint fourNeighbors combinations: 2 atATimeDo: [:combi |
sign at: combi copy put: signs next; at: combi reversed put: signs next].
position := 1@1. from := nil. next := 2. atEnd := false.
[atEnd] whileFalse: [
| found delta |
found := position fourNeighbors detect: [:neighPos |
(range containsPoint: neighPos) and: [((map at: neighPos y) at: neighPos x) = next]
] ifNone: [atEnd := true. Float nan].
delta := found - position.
(map at: position y) at: position x put: (sign at: {from ifNil: [delta negated]. delta} ifAbsent: goal).
position := found. from := delta negated. next := next + 1].
(map collect: #join) asStringWithCr
].

fn value: '1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11' .
"=>
'↓┌→┐
└┘┌┘
┌┐└┐
★└←┘' "
760: 2019/03/23(土)06:18 ID:ZlGSstH0(2/2)調 AAS
>>759 758の入力例を拝借

fn value: '1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9'.

"=>
'→→→→┐
┌→→┐↓
↑┌★↓↓
↑└←┘↓
└←←←┘' "

fn value: '1 4 5 8 9 12
2 3 6 7 10 11'.

"=>
'↓┌┐┌┐★
└┘└┘└┘' "

fn value: '1 4 5 6
2 3 8 7
16 14 9 10
15 13 12 11' .

"=> 繋げられるところまでで終点にする。
'↓┌→┐
└┘┌┘
16★└┐
15└←┘' "
761
(1): 2019/03/23(土)22:17 ID:4V4ijAbJ(1)調 AAS
S : Start
E : End
X : 行けない所

で、表す方がよいかも
762: 2019/03/23(土)23:35 ID:4ExQ31KE(1)調 AAS
縦読み
763: 2019/03/23(土)23:49 ID:5/UQAxw+(1)調 AAS
>>761
セックス!
764: 2019/03/24(日)01:17 ID:TWBa+gHA(1/2)調 AAS
>>746 C
https://ideone.com/dQ2NRt
行けないところがある場合■で表示した
765
(3): 2019/03/24(日)13:31 ID:Vlgf6sT0(1)調 AAS
お題 :次のようなジョブパラメータで表されるジョブ(製造工程)があります。全て完成するための最小時間とマシンスケジュールを求めてください。貧乏なので同じ番号のマシンは一台しかありません。{A, B}とあれば;Aマシン番号、B:所要時間

int job_param[JOBNUM][STP][2] = {
{{3, 10}, {4, 10}, {2, 12}, {0, 18}, {1, 4}},
{{1, 11}, {2, 6}, {3, 2}, {4, 8}, {0, 15}},
{{2, 10}, {4, 16}, {3, 2}, {1, 8}, {0, 14}},
{{2, 15}, {1, 12}, {0, 16}, {3, 6}, {4, 17}},
{{4, 14}, {0, 2}, {1, 15}, {2, 6}, {3, 10}}};
766
(2): 2019/03/24(日)13:50 ID:ynFGlX0q(1/2)調 AAS
>>765
順序に対する制限とかは?
それとなんで5つに分かれているのか?
全部一塊で25個のマシン番号と所要時間のペアがある状態だと順序の関係で何かまずいのか?
767
(2): 2019/03/24(日)13:56 ID:xOvhcY6B(1)調 AAS
>>766
5つのタスクでそれぞれ5つの工程があるってことだろう
768: 2019/03/24(日)14:40 ID:ynFGlX0q(2/2)調 AAS
>>767
その辺の制限やルールが書かれていないからどうやれば良いのかが分からない、ということ。

順序も何もかも(マシン番号と所要時間も)入れ替えて構わないなら0〜4のマシン全体に所要時間を平均的に
詰め込むだけになると思うが、わざわざジョブとか分けてるんだからどうやらそうではなさそうだよな。
どうやら順序や入れ替えには制限があるように見える。しかしその制限が書かれていない。
769
(1): 2019/03/24(日)17:03 ID:Ou399CfX(1/2)調 AAS
>>765
>>766
>>767
ジョブショップスケジューリング問題です。この問題はジョブや機械が増加すると調べなければならない組み合わせが爆発的に増加してしまうため、現実的な時間で最適解を求めることが難しいとされています(NP困難として知られています)。
マシンを配列順に使用することで1つの製品ができます。

私の実験では10分ぐらい待っても95で終わりませんでした。
770
(1): 2019/03/24(日)17:35 ID:Ou399CfX(2/2)調 AAS
>>769
途中結果
Solution 4
COST_TIME: 95
0 : ( 3, 0, 10), ( 4, 15, 25), ( 2, 27, 39), ( 0, 46, 64), ( 1, 65, 69)
1 : ( 1, 0, 11), ( 2, 40, 46), ( 3, 54, 56), ( 4, 57, 65), ( 0, 80, 95)
2 : ( 2, 16, 26), ( 4, 27, 43), ( 3, 44, 46), ( 1, 47, 55), ( 0, 65, 79)
3 : ( 2, 0, 15), ( 1, 16, 28), ( 0, 29, 45), ( 3, 47, 53), ( 4, 66, 83)
4 : ( 4, 0, 14), ( 0, 15, 17), ( 1, 29, 44), ( 2, 47, 53), ( 3, 57, 67)

MACHIN Schedule
0 : (46, 64), (80, 95), (65, 79), (29, 45), (15, 17)
1 : (65, 69), ( 0, 11), (47, 55), (16, 28), (29, 44)
2 : (27, 39), (40, 46), (16, 26), ( 0, 15), (47, 53)
3 : ( 0, 10), (54, 56), (44, 46), (47, 53), (57, 67)
4 : (15, 25), (57, 65), (27, 43), (66, 83), ( 0, 14)
771: 2019/03/24(日)20:02 ID:TWBa+gHA(2/2)調 AAS
>>770
https://imgur.com/upBqhWN.png

手動で調べたら90時間(単位は適当)まで縮んだ。最小時間か知らんが。
こういうのガントチャートっていうんだな
772: 2019/03/24(日)22:58 ID:3fqiTHWE(1)調 AAS
ちなみに、

>>746
の問題で、行列の周りに、番兵を作って、処理した人はいる?

漏れは、いつもこの手の問題では、番兵で周りを囲む
773: 2019/03/25(月)12:18 ID:7aW5s/71(1)調 AAS
……プログラミングやっててガントチャートしらないヤツもいるのか
勉強になった
774: 2019/03/25(月)12:23 ID:T0osdeZX(1/2)調 AAS
名前知らなかっただけでは?
775: 2019/03/25(月)12:26 ID:VWPF1Bqz(1)調 AAS
ロシア国防省「東アジアの地震の多い某国は数十年にわたり、地震を偽装した地下核実験を繰り返している」
2chスレ:liveplus
自衛隊の中に熊本人工地震を発生させた連中がいることは震源地が自衛隊駐屯地地下であることから自明。
http://open.mixi.jp/user/38378433/diary/1953066799
そればかりか、いま熊本の地下から出ている放射線量が「謎の赤丸急上昇中」だというのだ。
https://quasimoto2.exblog.jp/22729487/
今、自民党政権が、原発再稼働を進めている本当の理由は、核武装計画だけである。
経済的にとっくに破綻した原子力発電など、最初から眼中にないのだ。
東海アマブログentry-688.html
776: 2019/03/25(月)14:02 ID:FL0Sj0Av(1)調 AAS
いちいちガントチャートなんて銘打たんしな
進捗管理するときには普通に使うもんだ
777: 2019/03/25(月)14:57 ID:T0osdeZX(2/2)調 AAS
みんな名前知らないけど気づいたら作ってるようなものじゃないか?
778: 2019/03/25(月)21:13 ID:wbp6GG9F(1)調 AAS
ナップザック問題の一種じゃないの?
779
(2): 2019/03/26(火)00:12 ID:xyG5xdoY(1/2)調 AAS
お題1: 整数値に対して K, M, G 等の単位を付けて人間に読みやすく文字列に変換して出力する。(ls -lh の時の容量の出力と同じで良い)。2^10 = K, 2^20 = M, 2^30 = G とする。
 小数点以下を何桁にするかはご自由に。但しあまりあり過ぎると人間には分かり辛いので1桁か2桁が望ましい。

お題2: お題1の逆変換。但し欠落した下位桁があったとしても考慮しなくて良い。

お題3: お題1, お題2 の10^3 = K, 10^6 = M, 10^9 = G 版。

回答のプログラムはまとめた形でも良い。例えばお題1を処理する関数のオプションとして0を与えると2^10単位、1を与えると10^3単位にするなど。
また、K, M, G よりも上の単位ができても良い。
780
(1): 2019/03/26(火)03:32 ID:xI3rzKRA(1)調 AAS
いまどき容量系の接頭辞はKi, Mi, Gi使えや
781: 2019/03/26(火)03:42 ID:xyG5xdoY(2/2)調 AAS
>>780
そうしたければそうしてもいいよ。
782: 2019/03/26(火)13:05 ID:8ujFPLE9(1)調 AAS
お題1と3まとめてswitch-case文って
筋悪いですかねえ

あるいはお題1とお題2をまとめて、enum型でINVERSEとか作るとか、あるいは TRUE / FALSE で分岐とか
783: 2019/03/26(火)19:22 ID:NbUyZWCM(1)調 AAS
誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 95286
https://you-can-program.hatenablog.jp
784: 2019/03/27(水)00:34 ID:KJlt8YQv(1)調 AAS
>>779 c
https://ideone.com/N64nDG
・十分に小さい値のときしか動かない
・大きい値を与えたときの挙動もケアされない
785: 2019/03/27(水)23:48 ID:oM4knkxt(1)調 AAS
>>779
Kotlin
https://paiza.io/projects/BisWbp363VArN7FaHYwmoA

Long 型使って正の整数しか考慮してないので63bitまで。
786: さまよえる蟻人間 ◆T6xkBnTXz7B0 2019/03/28(木)00:18 ID:JS1PpMcc(1)調 AAS
Windows付属のshlwapi.dllにStrFormatByteSizeという関数があるようだね。
787: 2019/03/28(木)17:17 ID:vvqhH31/(1)調 AAS
>>765
乱数使ったプログラム書いてみたけど動かした瞬間90まで行くけど
そこから何分待っても動かなさそう
788
(1): 2019/03/30(土)20:23 ID:ghZBhzgh(1)調 AAS
お題
表示画面におさまる最大の正三角形を描画する
789: 2019/03/30(土)23:07 ID:DyxzEuK/(1)調 AAS
つまらん次
790
(1): 2019/03/31(日)08:20 ID:JrOSOdLx(1)調 AAS
>>788
最大の定義ぐらい書けよ…
791
(1): 2019/03/31(日)13:16 ID:m8dr8/PB(1)調 AAS
>>790
「たとえば表示画面が640x400なら、一辺が400の正三角形を描画する」ことではないのか
貴殿が想定する「最大の定義」とやらを示してもらえんかの?
792: 2019/03/31(日)13:25 ID:+5DxT57L(1)調 AAS
ん?
その場合、一辺は400*2/sqrt(3)になるんじゃない?
793: 2019/03/31(日)13:28 ID:EfWeZY5f(1)調 AAS
>>791
高さ400の正三角形だと一辺461.88じゃね?
794: 2019/03/31(日)15:30 ID:uX30LzG9(1)調 AAS
怒涛のツッコミw
795
(1): 2019/03/31(日)19:30 ID:KJRyWF55(1)調 AAS
コンソール画面なら、画面の横幅と縦幅を取得しなきゃならんから言語によってはめんどくさいだろうな
標準でcurses使える言語ってなにがあるかな
796: 2019/03/31(日)20:25 ID:P4y0w1jO(1)調 AAS
表示画面が球体だったら…
797: 2019/04/01(月)00:15 ID:ucc1UNjR(1)調 AAS
リーマン幾何の多様体上で計算しとけ

なお、サラリーマンのリーンマン じゃないからな。
798: 2019/04/01(月)01:51 ID://wZRuJn(1)調 AAS
でしゃばんな
799: 2019/04/01(月)03:15 ID:Mx+j7LaB(1/2)調 AAS
Windows環境だとdirectx叩くことになるのかな

VT100とかXとかは全く知らないけど DisplayWidth とか DisplayHeight とか使うのか
あるいは何らかのクラスのメンバー関数を呼ぶのか
800: 2019/04/01(月)03:16 ID:Mx+j7LaB(2/2)調 AAS
>>795
pdcursesがあるじゃないか(あらゆる環境で使えるとは言ってない
801
(1): 2019/04/15(月)22:24 ID:pFhU6MbP(1)調 AAS
エスケープシーケンスで座標指定とか文字色変更って、今はできないんだっけ?
802: 2019/04/15(月)23:06 ID:1nT5zSFt(1)調 AAS
エスケープシーケンス powershell
で、ググってみ
803: 2019/04/16(火)09:06 ID:wCqxjGzR(1/3)調 AAS
>>801
文字を出す端末による。

WindowsだったとしてもWSLでUbuntu動かした時のbashの端末では使えてるので多分設定次第なんだろうな。
逆に言うと設定によっては意図した通りに動かない。
804: 2019/04/16(火)16:33 ID:wCqxjGzR(2/3)調 AAS
お題
アミダくじの作成、表示、及び余力があれば実行

・縦線の本数と横線の最大本数は入力できるようにする。

・左右の縦線への横線だけでなく飛び越えて他の縦線へ移動する横線もオプションで作れるようにする。

・表示方法は罫線キャラクタを使っても良いがGUI等他の方法でも良い。

・実行時はアニメーションでも良いし、いきなり結果が出るだけでも良い。

・面倒なら作成して表示するだけで実行しなくても良い。
805: 2019/04/16(火)16:45 ID:GDkTCt4E(1/5)調 AAS
N88-BASIC(86)で出来そうな気がするが
806: 2019/04/16(火)17:51 ID:wCqxjGzR(3/3)調 AAS
・PC-8001で動作すること。

いや、動かんでもいい。
807: 2019/04/16(火)18:37 ID:GDkTCt4E(2/5)調 AAS
PRINT CHR$(12)
808: 2019/04/16(火)18:38 ID:GDkTCt4E(3/5)調 AAS
CONSOLE 80,25,0,1
だっけ
809: 2019/04/16(火)18:40 ID:GDkTCt4E(4/5)調 AAS
10 WIDTH 80,25
からか…
810: 2019/04/16(火)18:46 ID:GDkTCt4E(5/5)調 AAS
DEFINTA-Z:PRINT"HOW MANY COLUMNS":INPUTA:A0=160/A
811
(2): 2019/04/18(木)19:26 ID:pJc8eu0c(1)調 AAS
お題:要素数が同じふたつの数値配列を受け取り、要素ごとに足した配列を返す。
中級:同様に、三つの配列を受け取る。
上級:同様に、三つの配列を受け取り、掛けて割ったもの返す。

ocaml
https://ideone.com/GyC6yJ

octave
https://ideone.com/NwYyqs
812: 2019/04/18(木)21:28 ID:47ewAOC/(1)調 AAS
簡単過ぎる、次
813
(1): 2019/04/18(木)23:26 ID:izaVyiw1(1)調 AAS
>>811 Squeak/Pharo Smalltalk

#(1 2 3) + #(4 5 6). "=> #(5 7 9) "
#((1 2 3) (4 5 6) (7 8 9)) sum. "=> #(12 15 18) "
#(1 2 3) * #(4 5 6) / #(7 8 9). "=> {(4/7) . (5/4) . 2} "
814: 2019/04/19(金)00:02 ID:ODUYGH1G(1)調 AAS
お題そのものは簡単でも、マイナー言語での解き方を見るのは面白いね
815: 2019/04/19(金)00:09 ID:fWzUUJvd(1)調 AAS
自演乙
816
(1): 2019/04/19(金)07:15 ID:TxABBsFf(1/2)調 AAS
>>811
main = do
print $ zipWith (+) [1,2,3] [4,5,6]
print $ zipWith3 (\a b c -> a + b + c) [1,2,3] [4,5,6] [7,8,9]
print $ zipWith3 (\a b c -> a * b / c) [1,2,3] [4,5,6] [7,8,9]

Out:
[5,7,9]
[12,15,18]
[0.571428571428571,1.25,2.0]
817
(1): 2019/04/19(金)08:40 ID:TxABBsFf(2/2)調 AAS
>>813
Haskellでは%記号が分数を表すので、Data.Ratioをインポートして

import Data.Ratio

main = do
print $ zipWith (+) [1,2,3] [4,5,6]
print $ zipWith3 (\a b c -> a + b + c) [1,2,3] [4,5,6] [7,8,9]
print $ zipWith3 (\a b c -> a * b % c) [1,2,3] [4,5,6] [7,8,9]

Out:
[5,7,9]
[12,15,18]
[4 % 7,5 % 4,2 % 1]
818
(1): 2019/04/20(土)12:21 ID:R45IcBKG(1/2)調 AAS
お題:円の中心の座標と、円の半径の2乗が与えられる。
この円の円周上にある格子点の数を求めよ。

(X座標 Y座標 半径の2乗)
9/22 5/22 138125/242 => 7
7/38 5/38 785817263725/722 => 77
17/38 13/38 13603053979519731025/722 => 777
9/38 6/38 23959256988683736880737131790625/1444 => ?
12/38 7/38 23959256988683736880737131790625/1444 => ?
15/38 14/38 23959256988683736880737131790625/1444 => ?
819: 2019/04/20(土)18:57 ID:4zW2+iPl(1)調 AAS
また数学か・・・
820: 2019/04/20(土)19:51 ID:JrfgKJuX(1)調 AAS
しょっちゅう出てくるけどこれ宿題か?
821: 2019/04/20(土)23:55 ID:R45IcBKG(2/2)調 AAS
宿題じゃないんやけどなー
12/38 7/38 23959256988683736880737131790625/1444 => ? の答えと円周上の格子点一覧…俺が間違えてなければ
https://pastebin.com/pnGbWPfM
822
(1): 2019/04/21(日)00:12 ID:E83GoNC+(1)調 AAS
コードを出せコードを!
823: 2019/04/21(日)01:28 ID:TAIIcaTj(1)調 AAS
プログラムでの解き方が思い付かないわ
円の方程式に整数代入して満たすかみればいいのか?
824: 2019/04/21(日)02:14 ID:H/Se0iAi(1)調 AAS
解法を考えるのも回答能力のうちだからね
今の時代、参照・検索も当然 可だけれど
825
(1): 2019/04/21(日)06:09 ID:/+hkU7cH(1/2)調 AAS
>>817
割り算が%とか、そのモジュール書いた奴、頭腐ってんじゃないの?
826: 2019/04/21(日)13:14 ID:ay9waDdy(1)調 AAS
>>825

>>816 見てないの?
Haskellでは少数を返す割り算は「/」、整数を返す割り算は「`div`」と返す型で使い分ける。
「%」が返すのは分数型(Rational)
827: 2019/04/21(日)14:45 ID:/+hkU7cH(2/2)調 AAS
やっぱ頭腐ってるな。
828: 2019/04/24(水)20:43 ID:NALZs80Z(1/4)調 AAS
お題: 日本語の文章の句読点を , や . に置き換える。
ただし、, や . の直後には半角のスペースを置き、さらに改行の手前や文末のスペースは削除すること。

例:
In < これは、日本語の文章です。ふひひ。
Out > これは, 日本語の文章です. ふひひ.
1-
あと 174 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s