[過去ログ] プログラミングのお題スレ Part20 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
36(9): 2021/06/30(水)18:30 ID:fCthiOXz(1) AAS
お題: 年、月、週の初めの曜日を表す値(0=日曜日, 1=月曜日)を入力するとその月のカレンダーを出力する。
例
入力: 2021 6 0
出力:
日 月 火 水 木 金 土
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
省2
38: 2021/07/01(木)03:39 ID:fmzZ+/Bo(1/2) AAS
>>36
Kotlin
外部リンク:paiza.io
39(4): 2021/07/01(木)08:32 ID:rhoqKmqn(1/2) AAS
>>36 Ruby
str = '2021 7 0'
y, m ,s = str.scan(/\d+/).map(&:to_i)
a = '日月火水木金土'.chars.rotate(s)
a << [" "] * ((Time.new( y, m, 1 ).wday - s) % 7)
1.upto(31){|d|
break if Time.new( y, m, d ).month != m
a << '%2d' % d
}
a.flatten.each_slice(7){|w| puts w.join(' ') }
40(1): 2021/07/01(木)15:44 ID:fmzZ+/Bo(2/2) AAS
>>36
Kotlin
paiza.ioでHTML出力にして画像表示
外部リンク:paiza.io
42: 39 2021/07/01(木)19:49 ID:rhoqKmqn(2/2) AAS
>>36 Ruby
str = '2021 7 0'
y, m, s = str.scan( /\d+/ ).map( &:to_i )
( '日月火水木金土'.chars.rotate(s) + [' '] * (( Time.new( y, m, 1 ).wday - s ) % 7) + (1 .. [31, 30, 29, 28].find{|d| Time.new( y, m, d ).month == m }).to_a.map{|d| '%2d' % d } ).flatten.each_slice(7){|w| puts w * ' ' }
43(2): ◆QZaw55cn4c 2021/07/01(木)20:48 ID:Es0JxggH(1/2) AAS
>>36
>週の初めの曜日を表す値(0=日曜日, 1=月曜日)を入力する
その条件、いるのですか?
51: 2021/07/02(金)22:18 ID:IHzKftMK(1) AAS
>>36
haskell
外部リンク:ideone.com
63(1): 39 2021/07/04(日)08:11 ID:iOGAyFs7(1) AAS
>>36 Ruby
お題の仕様を拡張してみた
前後の月の日付も週単位で表示
・前月日付は週はじめから最小1日から最大7日
・翌月日付は週末まで最小0日から最大6日
require 'date'
str = '2021 7 0'
y, m ,s = str.scan( /\d+/ ).map( &:to_i )
a = '日月火水木金土'.chars.rotate(s)
sw = (Time.new( y, m, 1 ) - s % 7).wday
省4
64(1): 39 2021/07/05(月)00:26 ID:e4Vm80Jj(1/2) AAS
>>36 Ruby
>>63
> sw = (Time.new( y, m, 1 ) - s % 7).wday
は間違いでした
require 'date'
str = '2021 7 0'
y, m, s = str.scan( /\d+/ ).map( &:to_i )
m1 = Date.new( y, m, 1 )
sw = m1.wday - s % 7
pmd = m1.prev_day.mday
省5
113: 2021/08/14(土)12:38 ID:LgiNTbaj(1) AAS
>>36 octave
外部リンク:ideone.com
function [c, w] = f(y, m, dow)
c = calendar(y, m);
w = {'日' '月' '火' '水' '木' '金' '土'};
if dow == 1
a = (c')(:);
b = [-1 6](1 + (a(1) == 1));
c = reshape(circshift(a, b), flip(size(c)))';
w = circshift(w, -1, 2);
省6
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.284s*