• 締切済み

配列

1, 1,2, 3,2,1, 1,2,3,4, 5,4,3,2,1, . . . これらの数字を配列のvd[1~100]に順番に入れていきたいんですけどどうしたらいいでしょう。 あとその反対の 1, 2,1, 1,2,3, 4,3,2,1, 1,2,3,4,5, . . . をvm[1~100]に順番に入れたいのですが、 ループさせてうまく配列に入れられないでしょうか。 わかるかた教えてください。 お願いします。

みんなの回答

  • Interest
  • ベストアンサー率31% (207/659)
回答No.1

面白そうなので考えてみました。 まず、 1, 1,2, 3,2,1, 1,2,3,4, 5,4,3,2,1, について。これを一般化した式で表すと、行番号を i とすれば、 (a) i が偶数ならば、第 i 行目の数列は 1,2,3,・・・,i である。 (b) i が奇数ならば、第 i 行目の数列は i,i-1,i-2,・・・,1 である。 あとはこれをプログラミング言語で書くだけですね。あえてソースコードの例を書くのは止めました。 残り半分はただ奇数と偶数を入れ替えるだけなので同じ処理で済むはず。 > わかるかた教えてください。 私は面白そうだから考えてみただけですが、nyandafullさんご自身はどう考えたのか書いてください。そうでないと、「課題の丸投げ」に該当する質問として削除されてしまいますよ。

nyandafull
質問者

お礼

ありがとうございます。 i行目が偶数奇数でくべつしてifでわけりゃいいんかなって考えてました。 ただi,i-1,i-2・・・っていうのが思いつきませんでした。 うまくループさせてみます。

関連するQ&A

  • 配列のことでなのですが

    配列で先頭から順番に文字列を格納していきたいのですがどのような方法があるでしょうか? ただforループなどで順番に繰り返すのではなくて、文字列を入力する度に配列の最後尾に文字列を格納していきたいのですが、 例えば for(i=0;i<=10;i++){ scanf("%s",hairetu[i]) } のような方法ではなく配列の中に文字列を前から順番に格納したいです。 詳しい方は知識をかしていただけるとありがたいです。

  • 配列の最終ポイントの調べかた。

    こんにちわ。 今日は「配列の最終ポイントの調べ方」がわからないで困っています。 たとえばこのような配列があるとします。 tempSTAFF(0)=上島さん tempSTAFF(1)=井上さん tempSTAFF(2)=飯田さん この場合、上記のように自分で格納した場合であれば、この配列の最終は(2)とわかりますが・・・。 反対に、この「2」を取得したい場合はどのようにすればいいでしょうか? ループして勝手に取り込んだ内容を別な場面で表示したい場合、何回ループして表示の処理をさせればいいのかわかりません。そのときにこの配列の最終ポイントがわかればループ回数を特定できると考えました。 宜しくお願いいたします。

  • 配列の使い方分かりません

    //整数型の配列を10個準備する。 //ループ文を用いてキーボードから値を10個入力する。(for文を用いる) //入力した値を出力する。 //ループ文を用いて入力値の合計と平均値を求める。(while文を用いる) 以上の課題が出されました。 配列の使い方が分からないので上手くできません。 説明付だとうれしいです。よろしくお願いします。

  • 配列の中に複数存在する数がいくつあるか

    お世話になります。配列の中に同じ数が存在する数がいくつあるかを調べたいのですが、途中でつまづいてしまいました。 例えば配列arrayの中に、0, 0, 5, 0, 5, 1, 5といった数が格納されているとしたら 複数ある数は0と5の2つなので、2を返す、というだけのプログラムです。 int n=array.length; int cnt=0; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ if(array[i]==array[j]){ cnt++; break; } } } return cnt; forループで配列0から同じ数を順番に調べ、もしヒットすればカウントを増やして内側のループをブレイクし、配列1からまた順番に調べようとしたのですが、 上の例の場合、配列0と配列1が同じ数(0)ですので、カウントが余計に増えてしまいます。 どのように組めばうまく動作するでしょうか。宜しくお願いします。

    • ベストアンサー
    • Java
  • :ストアドプロシージャ内での配列の使用:

    :ストアドプロシージャ内での配列の使用: 環境 アプリケーション側:C#.net データベース側:Oracle10g アプリケーションから文字列の配列を引数として渡し、 プロシージャ内でその配列の中身がなくなるまでループでUPDATE文を実行しようとしています。 引数例(文字列配列):para[] (para[0]='ねこ',para[1]='ねずみ',para[2]='たぬき',para[3]='人',…) While文1週目では「ねこ」を、2週目では「ねずみ」をSET句に格納したSQLを実行するのが目的です。 同じストアド内であれば、結果セットをカーソルに放り込み フェッチ&Whileで順番に取得する事ができますが、 外部から引数として渡された配列をストアド内ループで順番に取得するにはどうしたらよいのでしょうか? アプリ側で引数を特定してから渡せば配列個数文ストアドをコールするという手段が取れますが 配列数が多くなった時に遅くなりすぎるという問題があります。 どなたか詳しい方おりましたらご教授いただきたく思います。宜しくお願いします。

  • 配列

    数字を配列するときはfor()でできますが、文字を配列するときはどうすればいいのでしょうか? 教えてください。

    • ベストアンサー
    • Java
  • 配列の中に配列をセットし、呼び出したい

    配列@listの要素として@pickupの配列をセットしたいと思っています。 ループ文の中で繰り返し、$countというループの回数をカウントしている変数によってセットする場所を変えていきたいのです。 for($count=0;$count>100;$count++){ (中略しますが、ファイルを読み込み正規表現で値を吸い出しています) @pickup=("$1","$2","$3");#@pickupはループごとに中身が変わります。 @list[$count] = @pickup;#ここで@listの要素として@pickupをセット } 上記のように記述したとします。 print $list[80];とすると、@pickupの[0]の要素しか表示しません。 print @list[80];としても上に同じ。 質問1.どうやったら@list[$count]で配列の要素に配列を入れられますか? 質問2.その後どうやって配列の中の配列の要素を取り出せますか? イメージとしては@listの50番目の要素@pickupの0番目もしくは1番目の要素を取り出したいという感じです。

    • ベストアンサー
    • Perl
  • VB6 配列を初期化したい

    VB6でループさせて配列に値を入れて、計算させて最終的に求めたい値をRとします。そのときループで繰り返すためか同じ配列に値を入れてどんどん値がでかくなりRの値がおかしくなってしまいます; おそらく問題は一回前に入れた配列がそのままのこってしまってるからなのだと思うのですが; 配列の中の値をクリアする方法はないものでしょうか? 一応、配列=0として初期化しようとしても値は変わらず前のが残ったままになってしまっています; どなたかわかる方いらっしゃいましたらご回答宜しくお願いします その他何かいい方法があればそれも教えていただけたらと思います

  • 配列を使わずに、数字(連番)を使用した変数に値を代入したい。

    配列を使わずに、数字(連番)を使用した変数に値を代入したい。 お世話になっております。 配列を使わずに、数字(連番)を使用した変数($a1,$a2,$a3・・・)に、 forループを使って、値を代入したい。 #================================= for($i;$i<10;$i++){ $a??? = 10; #←ここがわかりません。 } #================================= どなたかご存知の方、ご教授ください。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 全配列に0を入力

    c言語で配列を宣言した後に、ループを使わずに 配列全体に0を入力したいのですが、そのような方法はありますか。 あれば、どのようにすればよいか教えてください。お願いします。

専門家に質問してみよう