Cにて
■ このスレッドは過去ログ倉庫に格納されています
0001yan
NGNGお題は S[N][N]の2次元配列にて S[i][k]から見て斜めの
配列成分の合計を出したいのですが、わかりません。プロの人
さくっとおしえてください。できれば右上がり、右下がり両方。
0002>1
NGNG右下がり S[i+1][k-1]
0003yan
NGNG加算できるのでしょうか、S[i+1][k+1] なら右上だけですよね、左下
も同じようにやればいいんでしょうが、パラメーターをどのようにすれば
いいのか、、、
0004>2
NGNG0005>2
NGNG0006名無しさん
NGNG右下がり
for (n = 0; n < N; n++)
retval += a[(i + n) % N][(k + n) % N];
右あがり
for (n = 0; n < N; n++)
retval += a[(i + n) % N][(k - n + N) % N];
0007>1
NGNG6さんの方法の改良として2回に分けて mod演算を無くす
データを45度回転してしまう
とか色々考えられますが
0008説明不足だよ>1
NGNG■i@`jを中心に斜めの4点って意味?
S[i+1][j]+S[i-1][j]+S[i][j+1]+S[i][j-1]
■それとも角の効き目方式?
retval=S[i][j]
for(ii=i+1@`jj=j+1;ii < N && jj< N;ii++@`jj++)retval+=S[ii][jj];
for(ii=i-1@`jj=j+1;ii >=0 && jj< N;ii--@`jj++)retval+=S[ii][jj];
for(ii=i+1@`jj=j-1;ii < N && jj>=0;ii++@`jj--)retval+=S[ii][jj];
for(ii=i-1@`jj=j-1;ii >=0 && jj>=0;ii--@`jj--)retval+=S[ii][jj];
■ このスレッドは過去ログ倉庫に格納されています