質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

5回答

1144閲覧

for while などでたまに遭遇するんですが

ryuuichi2014

総合スコア115

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/03/22 02:27

for while などでたまに遭遇するんですが。

繰り返しの処理をいれていてある配列を順に処理していくとします。

そこである「目標の数値」を毎回if文で判断し、その「目標の数値」が出てきたら

繰り返しのひとつ前の数値が欲しいときってありますよね。

皆さんはどうしていますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

ベストアンサー

こんにちは。

たまにしかないので、逆にいつも悩みますよね。
そのような時は、往々にして先頭はループを回す必要がないので下記のようなコードが使えます。

C#

1int last=0; 2for (int i=1; i < foo.Length; last=i, ++i) 3{ 4 : 5 if (目標) 6 { 7 lastを使って処理; 8 } 9}

あまり、C#では見かけないforの使い方ですが、C/C++で便利に使ってます。
この構文ならcontinue使えますし。
(foreachじゃないことが不満なのですが、効率を優先。)

投稿2016/03/22 02:47

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryuuichi2014

2016/03/22 06:16

last初めて見ました!ありがとうございます!
guest

0

直前の数字を保持する変数をつくります。
1.pl

perl

1my $prev; 2for ($i = 0; $i < 10; $i++) { 3 if ($i % 3 == 1) { 4 print $prev . " ". $i . "\n"; 5 } 6 $prev = $i; 7}

実行例

$ perl 1.pl 0 1 3 4 6 7

投稿2016/04/02 13:38

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんな感じではいかがでしょうか。
Debug.Printのところが、
一つ前の答えです。

vb

1Dim values() As String 2Dim value As Variant 3Dim answer As String 4 5values = Split("aaa,bbb,ccc,ddd,eee,fff", ",") 6 7answer = "" 8For Each value In values 9 10 If value = "ddd" Then 11 Debug.Print answer 12 Exit For 13 End If 14 15 answer = value 16Next

投稿2016/03/22 15:00

ToruHokari

総合スコア33

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ループの一番最後で保存すればいいのでは?

PHP

1while(条件) { 2 // 処理 3 $saved = $保存したい変数; 4}

投稿2016/03/22 02:34

shi_ue

総合スコア4437

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryuuichi2014

2016/03/22 06:16

すいません、ちょっとコードがよくわかりませんでした。 ありがとうございます。
guest

0

ループの前に変数を設定しておき、直前の数値をその変数に記録しておき、「目標の数値」が出た時にその変数の値を結果にする。

java

1int temp = 適当な数値; 2while(条件){ 3 temp = 数値; 4}

投稿2016/03/22 02:31

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryuuichi2014

2016/03/22 06:18

直前の数値をその変数に記録 とありますが、これだとひとつ前の数値を取得できるでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問