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

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

新規登録して質問してみよう
ただいま回答率
85.47%
標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

C#

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

0回答

2404閲覧

for文の中で標準入力から値を取得して、変数に代入しようとすると処理が途中で止まってしまいます。

DAISUKE0549

総合スコア12

標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

C#

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

0クリップ

投稿2019/12/30 07:16

編集2019/12/30 08:42

##問題点
C#でfor文の中で標準入力から値を取得して、それを変数に代入する処理を書きました。
しかしループの途中で処理が処理が止まってしまいます。
標準入力からの入力値が原因ではないと考えています。

##入力値の形式と例
入力値の形式は以下のようなものです。
n m k
a1
a2
.....
am
1行目で3つの整数n,m,kが半角スペース区切りで入力されます。
その後続くm行でm個の整数が入力されます。

入力例1
5 2 2
1
2

入力例2
6 3 6
1
3
5

c#

1static void Main(string[] args) 2 { 3 string[] input = Console.ReadLine().Trim().Split(' '); 4 int n = int.Parse(input[0]); 5 int m = int.Parse(input[1]); 6 int k = int.Parse(input[2]); 7 bool[] IsThere = new bool[n]; 8 int[] places = new int[m]; 9 for (int i = 0; i < m; i++) 10 { 11 int r = int.Parse(Console.ReadLine().Trim()); //i = m -1の時にここでフリーズしてしまいます。 12 IsThere[r - 1] = true; 13 places[i] = r; 14 } 15 }

入力例1,2ともにi = m -1の時にフリーズしています。
原因についてご教授お願い致します。

以下追記になります。
ご参考になるかは分かりませんが実行時のコマンドプロンプトとVisual Studioの画面キャプチャになります。
入力例1
入力例2
入力例2コマンドプロンプト

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/12/30 07:32

いずれのケースもこちらでは再現されませんでした。 恐らく全く別要因の問題でしょう。
Zuishin

2019/12/30 07:37

データを出力する側が間違っているか、フリーズする場所が間違っている可能性はありますか?
y_waiwai

2019/12/30 07:37

VisualStudio使ってるならフリーズしたときに停止ボタン押せば、止まってるところがわかります。 どこで止まってるんでしょうか
hihijiji

2019/12/30 07:48

コマンドプロンプトが簡易編集モードになってる予感がします。
Zuishin

2019/12/30 08:46

ブレークポイントで止まっているようにしか見えません。
Zuishin

2019/12/30 08:46

日本語でやり取りできない人はこういうところで質問するのは無理だと思います。聞かれたことに答えられるようになってから利用してみてはどうでしょうか。
DAISUKE0549

2019/12/30 08:51

NotionalKettle様御回答ありがとうございました。 ソースコードと入力値をよく見直してみます。
Zuishin

2019/12/30 08:59

なぜ回答と思ったかわかりませんが、「再現しないからこれだけじゃわからないのでちゃんと質問しろ」という意見です。
退会済みユーザー

退会済みユーザー

2019/12/30 09:11

いや、これに関しちゃソースもテストしたデータも貼ってるし、「これじゃわからん」って声に対してSSも追加で貼ってるのでそこまでキツくあたるつもりはないのですが...(分からん人にはその他の要因かどうかも分からんでしょうし) あんまりキツい言葉で代弁して欲しくないかなと。まぁ回答にはなってないってのはあってますけど。
DAISUKE0549

2019/12/30 09:28

Zuishin様 データを出力する側が間違っているか、フリーズする場所が間違っている可能性はありますか? →フリーズする場所が間違っていました。  ブレークポイントの使い方に関して大きな勘違いをしていました。  ブレークポイントを画面の場所に設定して、ステップインを実行していったのですが途中でス  テップインが実行出来なくなったために質問した場所でフリーズしたと勘違いしてしましました。  申し訳ございませんでした。
Zuishin

2019/12/30 09:30

言葉がキツいかキツくないかだけの違いだと思いますが、余計なことでした。
DAISUKE0549

2019/12/30 09:34

for文の中とfor文の抜けたところで文字列を標準出力で文字列を出力するようにしたところ、質問個所ではフリーズしていないことが分かりました。 間違った質問や、要領を得ていない回答で皆様の貴重なお時間を浪費させてしまたったこと、不快な思いをさせてしまい大変申し訳ございませんでした。
Zuishin

2019/12/30 09:50

間違った質問や要領を得ないコメントは初心者にはよくあることですが、質問に複数の回答者から追記修正依頼がある中、他の人たちの依頼を完全に無視して自分の好きな人にだけお礼を述べるというのは、極めて失礼な行為と思います。 あなたが被災地にボランティアに行ったとしましょう。そして「どこからやりましょうか?」と声をかけたとしましょう。 その時、被災者があなたたちのグループを横目でチラッと見て、他の女の子だけのグループに丁寧なお礼を言ってそのままあなた達を無視して帰ったらどうでしょうか? そのままブツブツ言いながら他の人を助けに行き、被災者の言動をツイッターで晒す手もありますね。 しかし私は、本人に直接言う派です。 とりあえず私はもう回答しないので無視して構いませんが、他の人の質問には答えてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問