X



プログラミングできる人来てください
■ このスレッドは過去ログ倉庫に格納されています
0001以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 22:58:17.008ID:w57JzstGd
ループに入って来た時、a=1の時はa=25、a=25の時はa=1にしたい
If a=1
a=25
If a=25
a=1

みたいにするとループしてるから25になったり1になったりしてしまうのを直したい
0002以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 22:58:47.322ID:UqbJNG/fr
たぶん答えは3くらいになる
0003以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:00:00.353ID:2ANgfh5lM
何がしたいかわからない
0004以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:00:23.028ID:KDdwvpA10
代入演算子と判定文の区別ついてる?
0005以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:00:31.703ID:w57JzstGd
1回代入したらフラグをtrueにして、もう1回代入させないみたいにできるけど、もっといいやり方ないかな?
0006以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:00:32.778ID:YghYE+qo0
a = 26 - a
0007以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:00:43.152ID:dIAtXOuF0
言語としたいことを明確に
0012以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:04:43.366ID:lnCT2q9xp
Ifの中の命令文に変換と計算の行への移動の2種を入れたらいいんじゃないの
0013以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:06:36.446ID:UPEZT0Pz0
>>5
ループ中でその判定を繰り返し行う事に意味がない事に気がつくべき

あと>>6は1と25以外のとき問題が出るから気をつけて
0016以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:08:05.161ID:UPEZT0Pz0
>>14
初期値の調整なら外でやるべきでは?
0017以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:08:14.732ID:Lg/ayKKfa
>>6
これはひろゆきが見て向いてないと思った奴に似てるな
0018以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:08:24.432ID:818reLF/0
breakで抜ければいいんじゃないの
0019以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:08:58.115ID:36YMfBoM0
なんでそんなことしたいの
0020以下、無断転載禁止でVIPがお送りします
垢版 |
2022/05/23(月) 23:09:27.582ID:CnI8P0UI0
とりあえずコード載せろよ
0021以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:09:35.026ID:Dk5qsE1V0
>>19
1か25が欲しいから
0022以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:09:48.614ID:Uh9eA21R0
ちゃんと教本読めよ
書いてあんだろ基本構文
0023以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:10:11.070ID:UPEZT0Pz0
まあ何がしたいのかに依存するのに言わないから答えは発散するよね

頭が悪いやつの質問にありがち
0026以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:11:43.888ID:lnCT2q9xp
Fortranだけど
10 計算式

if a=1 then
a=25
goto 10
end if

if a=25 then
a=1
goto 10
end if
0028以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:12:53.949ID:yu0yuGoh0
>>27
これは恥ずかしい
日本語が理解できてなさそう
0029以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:13:27.322ID:lzH6dHPj0
え、

if a==1 or a==25:
swap()

スワップすればいいんじゃないか
0030以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:14:30.938ID:KDdwvpA10
>>27
aのとる値が1と25以外にもあるかもよ
0033以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:16:13.042ID:Uh9eA21R0
>>31
果たして>>1にできるかな...?
0035以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:18:03.663ID:j4Nkxqdn0
IF分の後に出力して
その後いったん初期化すればいいんじゃねえの
0036以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:18:10.919ID:ACh8Qcwv0
単にelseifではないのか
0038以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:20:06.450ID:KDdwvpA10
>>34
入力側で弾く前提なのか、1と25以外の例外処理があるのか仕様確認中なんだけど
0041以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:23:30.882ID:dr600m86d
>>27
プログラム最適化の法則って聞いたことない?
0042以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:24:40.418ID:lzH6dHPj0
>>6

この書き方じゃ分かりにくいだろ

1、25という数字が重要であるってことを
読み手に伝える必要がある

a = 25 -a じゃそれがわからん
0043以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:25:32.059ID:jRTq6iuN0
そもそも >>1 を読んだだけで
どういうロジックが必要で
どういう仕様にしたらいいのか整理がついてないのが判る
0046以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:26:43.211ID:Uh9eA21R0
>>44
ggrks
0047以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:26:46.991ID:KDdwvpA10
競プロの頭でモノを語るやつ居るからな
賢いけど厄介なタイプ
0048以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:28:04.732ID:jRTq6iuN0
そんで最初に言ってるループがどういうループなのかを説明する必要があるだろう
それを言わずして答えとなるコードを書いても、多分大元の要件を満たしてなさそうだな
って想像が働く
0050以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:29:54.353ID:lzH6dHPj0
>>42

追記

じゃ、具体的にどうすればいいかという話だが
以下のようなコメントを書けばいい

//aが1の時26-aは25だから、a25になる
//aが25の時26-aは1だから、aは1になる
//なぜそうするのかは不明。とりあえず動いた
a = 26 -a
0052以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:31:41.307ID:T9hKHmXZ0
else ifなんて大体どの言語にもあると思うが
0053以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:32:35.288ID:13KZXpF00
update(1) = 25
update(25) = 1
update(a) = a

// updateOnce(a, changed)
updateOnce(a, true) = (a, true)
updateOnce(a, false) = (update(a), true)

パターンマッチはこんな感じで書けるぜ
0054以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:32:56.926ID:YghYE+qo0
cudaで画像処理アルゴの仕事してるけど速度でcuda intrinsicsの最適化の上をいこうとするとこんなの比じゃないくらいキモい自作インライン関数多用するぞ
0055以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:34:44.083ID:lzH6dHPj0
>>54

速度重視のコードだと
やっぱそうなのか・・・

俺は速度重要じゃないから
基本可読性重視だわ
軽量ループの重複すらある
0056以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:36:27.522ID:5kBVuriD0
キモいのが必要なときがあるのは分かるが
キモいから必要最低限にしような
0057以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:37:30.959ID:EWKqNQIY0
可読性と再利用性とテストを重視する分野ならこう

const switchNM = (n, m) => x => {
  if ( x === n ) return m;
  if ( x === m ) return n;
};

const switch = switchNM(1, 26);
switch(a);
0058以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:37:38.776ID:YghYE+qo0
>>55
ptxとかいうアセンブラもどきすら使ったりしてるから可読性は死んでるな
コメントで必死に説明する感じ
0059以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:38:42.451ID:EWKqNQIY0
そんで return x; 忘れてた~っていうのがテストで検出されるわけよてへぺろ
0060以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:38:49.552ID:lzH6dHPj0
>>58

ソース読むのまじでキッツそうだなそれ
0061以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:41:31.595ID:WBup5kHI0
>>6
これじゃ1がやりたいこと出来ないのに称賛されてるのわらう
0062以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/23(月) 23:45:30.723ID:YghYE+qo0
>>60
そもそも普通のcudaカーネル自体がだいぶ読みにくいしもう地獄だよ
まあ楽しいんだけど
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況