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

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

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

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

Q&A

解決済

2回答

1182閲覧

C#について教えてください。

starsecond

総合スコア13

C#

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

0グッド

0クリップ

投稿2022/11/16 07:09

前提

C#の勉強の中で、以下サイトで練習問題を問いています。
https://csharp.sevendays-study.com/problem4.html#problem5

Prob5-13の問題
3×3の二次元配列を作成し、それぞれに0から9の乱数を発生させ、実行例のように、その内容と、数値の最大値・最小値を表示させなさい。

エラーはなく、結果も表示されるのですが、最小値の方がたまに間違った値になってしまいます。
結果画像:イメージ説明
(この画像の場合最小値は0になってほしい)
どこが間違っているかご指摘いただけますと幸いです。

実現したいこと

正確な結果表示

発生している問題・エラーメッセージ

エラーメッセージ なし

該当のソースコード

ソースコード namespace ConsoleApp1 { class Program { static void Main(string[] args) { int[,] data = new int[3, 3]; Random rnd = new Random(); int m, n; int max = 0; int min = 0; for(m = 0; m < 3; m++) { for(n = 0; n < 3; n++) { data[m, n] = rnd.Next(0, 10); if (data[m, n] > max || max == 0) { max = data[m, n]; } if (data[m, n] < min || min == 0) { min = data[m, n]; } Console.Write(data[m, n] + " "); } Console.WriteLine(); } Console.WriteLine(); Console.WriteLine("最大値:{0}", max); Console.WriteLine("最小値:{0}", min); } } }

試したこと

if文の最小値の代入のところで条件を0以下と0未満で試してみましたが結果は変わりませんでした。

補足情報(FW/ツールのバージョンなど)

VisualStudio2019

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

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

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

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

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

guest

回答2

0

ベストアンサー

Text

1|| max == 0 2|| min == 0 3がバグの原因である。

投稿2022/11/16 07:15

atcoderyellow

総合スコア481

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

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

atcoderyellow

2022/11/16 07:16

maxは-1, minは10で初期化する。
starsecond

2022/11/16 07:24

ありがとうございます! ご指摘通り初期値を変更し、if文の値を初期値に合わせたら50回ほど試してすべて正確に表示されました!
guest

0

if (data[m, n] < min || min == 0)

min に0が入ったら問答無用でdata[m, n] の値が代入されてしまいますね

投稿2022/11/16 07:23

y_waiwai

総合スコア87774

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問