アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
円柱上で、少しねじれたマトリックス状に並んだ測定ポイントを順番に測定するためのスクリプトです。スクリプトは、Cを使うUWSCというのを使用してそれを介して実行しています。UWSCのサポートサイトを検索しましたがforeachが見つからないので、こちらでお願いしています。
わからないところは、配列をforで繰り返すとき、値が連続する時はオッケーなのですが、飛び飛びだと繰り返しが出来ません(当然でしょうけど・・)。
これはforeachという関数を使うそうですが、学習したての初学者で使い方がわからず困っています。
下の例ではどのようにしたらよいのでしょうか?教えてくださいませ。
------------------
Dim 配列[3][6],行,列

配列[0][0]="1行目"+"第1ライン"
配列[0][1]="1行目"+"第2ライン"
配列[0][2]="1行目"+"第3ライン"
配列[0][3]="1行目"+"第4ライン"
配列[0][4]="1行目"+"第5ライン"
配列[0][5]="1行目"+"第6ライン"

配列[1][0]="2行目"+"第1ライン"
配列[1][1]="2行目"+"第2ライン"
配列[1][2]="2行目"+"第3ライン"
配列[1][3]="2行目"+"第4ライン"
配列[1][4]="2行目"+"第5ライン"
配列[1][5]="2行目"+"第6ライン"

配列[2][0]="3行目"+"第1ライン"
配列[2][1]="3行目"+"第2ライン"
配列[2][2]="3行目"+"第3ライン"
配列[2][3]="3行目"+"第4ライン"
配列[2][4]="3行目"+"第5ライン"
配列[2][5]="3行目"+"第6ライン"

For 行=1 To 1//これは2回目。1回目はFor 行=0 To 0 です。1回目は For 列=1 to 5 で問題なく出来ます。

For 列=1, 3, 5//←??この最後の正しいスクリプトがわかりません。意図は、2行目の列(第1ライン~第6ライン)のうち、[0]、[2]、[4]で指定するライン(第1ライン、第3ライン、第5ライン)を測定せずにとばして、[1]と、[3]と、[5]で指定するラインだけを測定したいのです。
//何でかというと、例えば図のように、第1ライン~第6ラインが真っ直ぐでなく、円筒の裏側にも回り込んでいるので、回り込んだ方は円筒を裏側にしてから測定した方が便利だからです。(図で●はこちら側の測定点、△は裏側の測定点のつもりです。)

メインの測定用スクリプト

next
next
----------------
よろしくお願いします。

「配列で飛び飛びの値を指定してループしたい」の質問画像

A 回答 (3件)

Cの範囲で、汎用的(かつ安直)方法としては、配列を経由するというのがあります。




int loopIndex[] = {0, 1, 2, 5, 6, 7, 9, 10};
for(i = 0; i < sizeof loopInex / sizeof loopIndex[0]; i++)
{
// loopIndex[i] をインデックスにして処理
}

これで、(i は) 0, 1, 2, 3, ... と増えますが
loopIndex[i] は、0, 1, 2, 5, 6, 7, 9, 10 (ここまで)と変化します。
実際のインデックスは、配列の初期値として指定できるので、どういうパターンでも実現可能です。
(配列の初期値として、書ける範囲なら)
    • good
    • 0

何をしたいのか、文を読んでもさっぱりなので、No.1のような回答しか付かないのでしょう。


C言語なら、for (大文字は使わない) の文法は
for ( 最初に実行する式 , ループの継続判定式(falseになったら終了する) , ループの最後まできたら実行する式 ) ;
ですから、1つとびに実行したいなら、「ループの最後まできたら実行する式」を i+=2 のような式にすればよいです。
    • good
    • 0

C には foreach もなければ Dim もないしさらにいえば


For 行=1 To 1
なんて書き方もしません.

この回答への補足

そんなことを尋ねてません。間違いならなおしてくれません!それで有益なことを教えてくださいよ。こんな無駄なコメントだけしないでほしいです。

補足日時:2011/12/09 16:47
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!