【C#入門】ユーザーから複数の値を1行で入力する方法をわかりやすく解説
C#でユーザーから複数の値を受け取るには、Console.ReadLine() をループ処理と組み合わせて使うのが基本です。ここでは、行列(マトリックス)の要素を順番に入力するケースを例に、具体的な方法を解説します。
基本的な考え方
たとえば、行列の各要素を取得したい場合、Console.ReadLine() を二重の for ループの中で呼び出し、Convert.ToInt16() などで文字列を数値に変換しながら配列に格納します。
Console.Write("\nEnter elements - Matrix 1 : ");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
arr1[i, j] = Convert.ToInt16(Console.ReadLine());
}
}
このように書くことで、行と列の組み合わせごとに値を1つずつ読み込み、2次元配列へ順に代入していくことができます。
サンプルコード
以下は、3×3 の行列に対してユーザーから値を入力してもらう完全なサンプルプログラムです。
using System;
namespace Demo {
public class Program {
public static void Main(string[] args) {
int[] arr1 = new int[10, 10];
int i, j;
Console.Write("\nEnter Matrix elements: ");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
arr1[i, j] = Convert.ToInt16(Console.ReadLine());
}
}
}
}
}
実行結果
Enter Matrix elements:
プログラムを実行すると「Enter Matrix elements:」と表示され、合計9回(3行×3列分)値の入力を求められます。入力された値はすべて arr1 配列に格納されます。
補足:スペース区切りで1行から複数の値を読み込む方法
上記の方法では値を1つずつ改行して入力する必要があります。もし「10 20 30」のようにスペース区切りで1行にまとめて入力したい場合は、Console.ReadLine() で読み込んだ文字列を Split() メソッドで分割し、int.Parse() や Convert.ToInt32() で変換するのが便利です。
string[] inputs = Console.ReadLine().Split(' ');
int a = int.Parse(inputs[0]);
int b = int.Parse(inputs[1]);
int c = int.Parse(inputs[2]);
用途に応じて、ループで逐次読み込む方法と、Split() で一括解析する方法を使い分けるとよいでしょう。
-
Python Tkinterで複数のラベルを1行に表示する方法
Python Tkinterで複数のラベルを1行に表示したい場合、ラベルのpack()メソッドを使い、すべてのラベルを同じ側(side)に揃えて配置することで実現できます。この記事では、実際のコード例を通じて、複数のラベルを横一列に並べて表示する方法をわかりやすく解説します。実装手順必要なライブラリをインポートし、tkinterフレームのインスタンスを作成します。geometry()メソッドを使って、ウィンドウのサイズを設定します。「Label 1」という名前のラベルを作成し、フォントを設定したうえで、背景色を指定してラベルを目立たせます。次に、ラベルのpack()メソッドで side=LEF
-
複数の画像からPDFを作成する2つの簡単な方法|Windows・オンラインツール対応
PDF文書は、どのデバイスでも同じ表示結果になる、最も信頼性の高いデジタル文書形式のひとつです。しかし、PDF文書の作成や管理は決して簡単ではありません。本記事では、複数の画像から新しいPDF文書を作成する方法に焦点を当てて解説します。このような画像PDFは、小規模ビジネスにおけるカタログ作成はもちろん、旅行や休暇の思い出をストーリーとしてまとめて共有するのにも最適です。画像たっぷりのPDFは、スマートフォン、PC、Kindleなど、あらゆるデバイスで閲覧できます。 複数の画像からPDFを作成するのはとても簡単で、大きく分けて2つの方法があります。さらに本記事では、PDF作成後にページを並べ替