-
C#プログラムで配列内の「1」の出現回数を数える方法
この記事では、C#を使って配列内に含まれる「1」の個数をカウントする方法を解説します。基本的な考え方はシンプルで、配列の各要素を順番にチェックし、「1」と一致した回数を変数に記録していくだけです。処理の流れまず、カウント対象となる数字を配列に格納します。int[] num = new int[] {1, 25, 1, 55, 1};次に、foreachループで配列の全要素を走査し、要素が「1」と等しい場合は、出現回数を記録する変数(カウンター)をインクリメントします。foreach(int j in num) { if (j == 1) { &n
-
C#で文字列内の各文字の出現回数をカウントする方法
C#では、文字列に含まれる各文字が何回出現するかを簡単にカウントできます。本記事では、while文・for文・Replaceメソッドを組み合わせて、各文字の出現回数を求めるプログラムの作成方法を解説します。手順1:対象となる文字列を設定するまず、カウント対象となる文字列を用意し、コンソールに表示します。string str = Website; Console.WriteLine(String: +str);手順2:各文字の出現回数をカウントする次に、文字列内のすべての文字を順番に走査し、先頭の文字(str[0])と一致した回数をカウントする変数をインクリメントします。for (int j =
-
C#で数値の合計ビット数をカウントするプログラム
C#で数値の合計ビット数をカウントするプログラムここでは、ある数値が何ビットで構成されているか(合計ビット数)を求める方法を解説します。例として、数値「12」を取り上げます。まず、uint型の変数を宣言し、10進数リテラルを代入して初期化します。uint val = 12;12を2進数で表すと、次のようになります。1100上記の2進数は4桁、つまり4ビットです。このように、合計ビット数を求めるには Math.Log() メソッドを使用します。uint res = (uint)Math.Log(val, 2.0) + 1;Math.Log()メソッドは、第1引数に指定した値の対数を、第2引数に指
-
C#で数値のセットビット(1ビット)の合計をカウントする方法
セットビットとはセットビットとは、2進数表現において「1」になっているビットのことです。本記事では、C#を使用して、ある数値に含まれるセットビットの総数をカウントする方法を解説します。基本的な考え方例として、10進数の「11」を取り上げます。11を2進数で表すと次のようになります。10111011には「1」のビットが3つ含まれています。この数を求めるには、数値が0になるまでループを回し、最下位ビットが1かどうかを判定しながら、1ビットずつ右へシフトしていく方法が有効です。while (num > 0) { cal += num & 1; num >>=
-
【C#入門】文字列内の母音をカウントするプログラムの作成方法
母音と子音のチェック方法 C#で文字列に含まれる母音の数を数えるには、文字列を1文字ずつ走査し、各文字が母音かどうかを判定します。このとき、大文字と小文字の両方のパターンをチェックすることを忘れないようにしましょう。「Apple」と「apple」では同じアルファベットでも文字コードが異なるためです。 母音をカウントする場合は、「a」「e」「i」「o」「u」の各文字について、小文字と大文字それぞれをOR条件でつなげて個別に判定します。具体的には、以下のように記述します。 if (myStr[i] == a || myStr[i] == e || myStr[i] == i || myStr[i
-
C#で現在のスレッドの名前を表示する方法
C#で現在実行中のスレッドの名前を表示するには、Nameプロパティを使用します。スレッドに名前を付けておくと、マルチスレッドアプリケーションのデバッグやログ出力の際に、どのスレッドが処理を行っているのかを簡単に識別できるようになります。手順1:CurrentThreadプロパティで現在のスレッドを取得するまず、Thread.CurrentThreadプロパティを使って、現在実行中のスレッドの情報を取得します。Thread thread = Thread.CurrentThread;手順2:Nameプロパティでスレッド名を設定・表示する次に、thread.Nameプロパティを使ってスレッドの名前
-
C#でスレッドの優先度を表示する方法|Priorityプロパティの使い方
C#でスレッドの優先度を表示するには C#でスレッドの優先度を確認するには、Priorityプロパティを使用します。このプロパティは、OSがスレッドをどの程度の優先順位でスケジューリングするかを示す値を返します。 まず、CurrentThreadプロパティを使って、現在実行中のスレッドの情報を取得します。 Thread thread = Thread.CurrentThread; 次に、thread.Priorityプロパティを参照することで、そのスレッドの優先度を表示できます。 thread.Priority サンプルコード C#でスレッドの優先度を表示する完全なコード例を見てみましょう。
-
C#で入力した数値の因数(約数)をすべて表示するプログラムの作り方
この記事では、ユーザーが入力した数値の因数(約数)をすべて表示するC#プログラムの作り方を解説します。因数とは、その数を余りなく割り切ることができる整数のことです。たとえば、12の因数は「1、2、3、4、6、12」の6つになります。手順1:数値を入力するまず、因数を求めたい数値をコンソールから入力します。int.Parse()を使うことで、文字列として読み込んだ入力値を整数型に変換できます。Console.WriteLine(Enter the Number:); n = int.Parse(Console.ReadLine());手順2:ループで因数を判定する次に、1から入力された数値まで順
-
C#で文字列内のすべての部分文字列を検索するプログラム
C#では、Substring()メソッドを使うことで、文字列内のすべての部分文字列(サブストリング)を簡単に取り出すことができます。基本的な考え方たとえば、次のような文字列を考えてみましょう。Xyzこの文字列からすべての部分文字列を取得するには、部分文字列の長さを1から順に変えながら、開始位置を先頭から末尾までループ処理します。各位置に対してSubstring()メソッドを呼び出し、該当する部分文字列を抽出します。for (int start = 0; start <= str.Length - i; start++) { string substr = str.Substrin
-
C#で文字列に含まれる大文字と小文字の数をカウントするプログラム
C#で文字列内の大文字・小文字をそれぞれカウントするには、各文字を1つずつ判定していくのが基本です。ここでは、その具体的な実装方法をサンプルコード付きで解説します。 大文字を判定する条件 文字列の中から大文字(A〜Z)を見つけるには、以下の条件式を使用します。 myStr[i] >= A && myStr[i] <= Z 小文字を判定する条件 同様に、小文字(a〜z)を判定する場合は次の条件式を使います。 myStr[i] >= a && myStr[i] <= z サンプルコード 以下のコードを実行すると、指定した文字列に含まれる大文字と小文字の数をそれぞれ出力
-
C#でリンクリスト(LinkedList)のノードを検索する方法
C#のLinkedList<T>クラスには、指定した値を持つノードを検索するためのFindメソッドが用意されています。本記事では、リンクリストから特定のノードを検索し、そのノードの直後に新しい要素を追加する手順を、サンプルコードと実行結果付きで解説します。 リンクリストの作成と要素の追加 まず、新しいリンクリストを作成します。 LinkedList<string> myList = new LinkedList<string>(); 次に、AddLastメソッドを使って、リンクリストの末尾に6つの要素を追加します。 // リンクリストに6つの要素を追加 my
-
C#でホスト名とIPアドレスを表示するプログラムの書き方
C#でコンピュータのホスト名やIPアドレスを取得したい場面は、ネットワークアプリケーションの開発やシステム管理ツールの作成などでよくあります。本記事では、System.Net名前空間に用意されたクラスを使って、ホスト名とIPアドレスを簡単に取得・表示する方法を解説します。ホスト名を取得するホスト名を取得するには、Dns.GetHostName()メソッドを使用します。このメソッドは、ローカルコンピュータのホスト名を文字列として返します。String hostName = string.Empty; hostName = Dns.GetHostName(); Console.WriteLine(
-
C#で3つのソート済み配列から共通要素を見つけるプログラム
はじめにC#では、すでに昇順にソートされた3つの配列に含まれる共通要素を、効率的に求めることができます。各配列にインデックス(ポインタ)を1つずつ用意し、それらを同時に進めていく手法を使うことで、計算量 O(n1 + n2 + n3) の線形時間で処理できます。ここでは、その実装方法をわかりやすく解説します。アルゴリズムの流れまず、比較対象となる3つのソート済み配列を初期化します。int []one = {20, 35, 57, 70}; int []two = {9, 35, 57, 70, 92}; int []three = {25, 35, 55, 57, 67, 70};次に、whi
-
C#で文字列内のすべてのスペースを「%20」に置き換える方法
文字列処理を行う際、URLエンコードなどの場面でスペースを「%20」に置き換えたいことがあります。C#では、Replace()メソッドを使うことで、この処理を簡単に実現できます。Replace()メソッドとはReplace()メソッドは、Stringクラスに用意されているメソッドで、文字列内の指定した文字や部分文字列を、別の文字列にすべて置き換えます。構文は以下のとおりです。string result = 元の文字列.Replace(置き換え対象, 置き換え後の文字列);サンプル文字列の準備まず、スペースを含むサンプル文字列を用意します。str = Hello World !;この文字列には3
-
【C#】文字列を反転(逆順)するプログラムの書き方
C#で文字列を反転させる方法この記事では、C#を使って文字列を逆順に並べ替える(反転させる)プログラムを紹介します。まずは、サンプルとして使用する文字列を確認しましょう。myStr = Tom;手順1:文字列の長さを取得する文字列を反転させるには、まず対象となる文字列の長さを取得します。Lengthプロパティから1を引いた値を初期値にすることで、文字列の末尾のインデックスから処理を開始できます。// 文字列の長さを取得 int len; len = myStr.Length - 1;手順2:whileループで末尾から先頭へ文字を連結する次に、whileループを使い、インデックスが0以上である間
-
C#で配列を反転する方法【Array.Reverseメソッドの使い方】
C#で配列の要素を逆順に並べ替えたい場合は、Array.Reverseメソッドを使用します。このメソッドは、引数に渡した配列の要素の順序をその場で反転させるため、ループ処理を自分で書く必要がなく、非常に簡単です。 元の配列を用意する まず、反転対象となる配列を定義し、その内容をコンソールに表示してみましょう。 int[] arr = { 15, 16, 17, 18 }; // 元の配列 Console.WriteLine(Original Array= ); foreach (int i in arr) { Console.WriteLine(i);
-
C#で文字列内の単語を逆順に反転させるプログラムの書き方
C#では、LINQのReverse()メソッドを活用することで、文字列内の各単語を簡単に逆順に反転させることができます。本記事では、具体的なサンプルコードとともにその実装方法を解説します。処理の概要まず、例として次のような文字列を用意します。Hello Worldこの文字列に対して各単語を反転させると、結果は次のようになります。olleH dlroWこのように、単語の区切り位置はそのまま維持しつつ、それぞれの単語の中身だけが逆順になっている点がポイントです。サンプルコードSplit()メソッドで文字列を単語ごとに分割し、Select()内でReverse()を使って各単語を反転させています。最
-
C#でクライアントのIPアドレスを取得する方法を解説
C#でクライアント(ローカルマシン)のIPアドレスを取得するには、System.Net名前空間に含まれるDNS関連のクラスを利用します。基本的な流れは、「まずホスト名を取得し、そのホスト名からIPアドレスの一覧を取り出す」という2段階です。手順1:Dns.GetHostName()でホスト名を取得する最初に、Dns.GetHostName()メソッドを使って、実行中のマシンのホスト名を取得します。String hostName = string.Empty; hostName = Dns.GetHostName(); Console.WriteLine(Hostname: + hostNam
-
C#でスレッドのSleepメソッドを実装する方法
スレッドのSleepメソッドとはC#におけるThread.Sleepメソッドは、現在実行中のスレッドを指定した時間だけ一時停止(スリープ)させるためのメソッドです。処理に意図的な待ち時間を挿入したい場合や、一定間隔で処理を繰り返したい場合などに活用されます。引数にはミリ秒単位の時間を指定します。たとえば、2秒間スレッドを停止させたい場合は、次のように記述します。int sleepfor = 2000; Thread.Sleep(sleepfor);Sleepメソッドの主な使い方Thread.Sleep(1000) … 1秒間スレッドを停止するThread.Sleep(0) … 現在のタイムスラ
-
C#で下三角行列を表示するプログラムの作成方法を解説
下三角行列(Lower Triangular Matrix)とは、主対角線より上側にあるすべての要素が 0 である行列のことです。この記事では、C# を使って下三角行列を表示するプログラムの作り方を、サンプルコードと実行結果つきでわかりやすく解説します。 下三角行列の基本条件 下三角行列を作るポイントは、行番号 i と列番号 j を比較し、主対角線より上の要素だけを 0 に置き換えることです。具体的には、次のような条件分岐を使用します。 if (i >= j) Console.Write(A[i, j] + \t); else Console.Write(0\t); i