-
Cレンズの焦点距離のプログラム
2つの浮動値が与えられます。レンズからの画像距離と物体距離。タスクは、レンズの焦点距離を印刷することです。 焦点距離とは何ですか? 光学システムの焦点距離は、レンズまたは曲面鏡の中心とその焦点との間の距離です。 以下の図を参考にして理解しましょう- 上の図で、iはオブジェクト、Fは形成されたオブジェクトの画像、fは画像の焦点距離です。 したがって、レンズからの画像の焦点距離を見つけるには、式は次のようになります- 1F =1O + 1I ここで、Fは焦点距離です。 Oはレンズと物体の合計距離です。 Iは、レンズとレンズによって形成される画像との間の合計距離です。 例
-
FCFSスケジューリングのためのCプログラム
n個のプロセス、つまりP1、P2、P3、.......、Pnとそれに対応するバースト時間が与えられます。タスクは、FCFSCPUスケジューリングアルゴリズムを使用して平均待機時間と平均ターンアラウンド時間を見つけることです。 待機時間と所要時間とは何ですか? 所要時間は、プロセスの送信から完了までの時間間隔です。 所要時間=プロセスの完了–プロセスの提出 待機時間は、ターンアラウンドタイムとバーストタイムの差です 待機時間=所要時間–バースト時間 FCFSスケジューリングとは何ですか? First Come、First Served(FCFS)はFirst In
-
Cのリンクリストを使用した優先キュー
データと優先度は整数値として与えられ、タスクは与えられた優先度に従ってリンクリストを作成し、結果を表示することです。 キューはFIFOデータ構造であり、最初に挿入された要素が最初に削除されます。優先度付きキューは、優先度に応じて要素を挿入または削除できるキューの一種です。キュー、スタック、またはリンクリストのデータ構造を使用して実装できます。優先キューは、次のルールに従って実装されます- 優先度が最も高いデータまたは要素は、優先度が最も低いデータまたは要素の前に実行されます。 2つの要素の優先度が、順番に実行される要素と同じである場合、それらはリストに追加されます。 優先度付きキュー
-
C /C++での優先キューの紹介
優先度キューは、割り当てられた優先度に従って要素が挿入または削除されるタイプのキューです。優先度は0〜10の範囲の整数値であり、0は最も優先度の高い要素を示し、10は次の要素を示します。最も低い優先度。優先キューを実装するために従うべき2つのルールがあります- 優先度が最も高いデータまたは要素は、優先度が最も低いデータまたは要素の前に実行されます。 2つの要素の優先度が、順番に実行される要素と同じである場合、それらはリストに追加されます。 スタック、キュー、リンクリストなどの優先キューを実装するために使用できる複数のデータ構造があります。この記事では、キューのデータ構造について説明しま
-
ラウンドロビンスケジューリングのためのCプログラム
n個のプロセスとそれに対応するバースト時間とタイムクォンタムが与えられます。タスクは、平均待機時間と平均ターンアラウンドタイムを見つけて結果を表示することです。 ラウンドロビンスケジューリングとは何ですか? ラウンドロビンは、特にタイムシェアリングシステム用に設計されたCPUスケジューリングアルゴリズムです。これは、ラウンドロビンプロセスで量子時間サイズに制限されるという1つの変更を加えたFCFSスケジューリングアルゴリズムに似ています。時間の小さな単位は、タイムクォンタムまたはタイムスライスとして知られています。タイムクォンタムの範囲は10〜100ミリ秒です。 CPUは、レディキューを
-
Cプログラム自体の印刷元
与えられたタスクは、書かれたCプログラム自体を印刷することです。 自分自身を印刷するCプログラムを作成する必要があります。したがって、Cのファイルシステムを使用して、「コード1.c」ファイルでコードを記述しているように、コードを記述しているファイルの内容を印刷できます。したがって、ファイルを読み取りモードで開いて読み取ります。ファイルのすべての内容を出力画面に出力します。 ただし、読み取りモードでファイルを開く前に、コードを書き込んでいるファイルの名前を知っておく必要があります。したがって、マクロであり、デフォルトで現在のファイルのパスを返す「__FILE__」を使用できます。 マクロ「
-
C /C++でのプロセス同期
プロセスの同期は、データの不整合を引き起こす可能性のある共有データへの同時アクセスの問題を克服するための手法です。協調プロセスとは、他のプロセスに影響を及ぼしたり、影響を受けたりして、プロセスデータの不整合につながる可能性があるプロセスです。したがって、データの整合性を保つには、プロセスの同期が必要です。 クリティカルセクションの問題 すべてのプロセスには、クリティカルセクションと呼ばれる予約済みのコードセグメントがあります。 。このセクションでは、プロセスは共通変数の変更、テーブルの更新、ファイルの書き込みなどを行うことができます。クリティカルセクションについて注意すべき重要な点は、あるプ
-
Cでfgets()/ gets()/ scanf()が後にある場合のscanf()の問題
この問題は、scanfの後にfgets()/ gets()/ scanf()が続く場合に何が機能するかまたは出力になるかを示しています。 fgets()/ gets()の後にscanf() 例 #include<stdio.h> int main() { int x; char str[100]; scanf("%d", &x); fgets(str, 100, stdin); printf("x = %d, st
-
最小コストパスのためのCプログラム
ここでは、Cの最小コストパスの問題を解決します。これは、各セルの移動コストが発生する2D行列で行われます。最小限の旅費で左上隅から右下隅へのパスを見つける必要があります。特定のセルから下および右下のセルのみをトラバースできます。 この特定の問題を解決するには、再帰よりも動的計画法の方がはるかに優れています。 与えられたコストマトリックスc ost [] []と位置(m、n) 、(0,0)から(m、n)に到達するための最小パスのコストを返す関数を作成する必要があります。(m、n)に到達するためのパスの合計コストは、そのパス上のすべてのコストの合計です。 (送信元と宛先の両方を含む)。 仮
-
終わりに到達するためのジャンプの最小数のためのCプログラム
その要素から前進できる最大ステップ数を示す非負の整数の配列が与えられます。ポインタは、最初は配列の最初のインデックス[0インデックス]に配置されます。あなたの目標は、最小のステップ数で配列のlastindexに到達することです。配列の最後に到達できない場合は、最大整数を出力します。 素朴なアプローチ initial {primary}コンポーネントから開始し、最初の要素からアクセス可能なすべてのコンポーネントを再帰的に呼び出します。最初から最後まで到達するためのジャンプの最小範囲は、最初からアクセス可能な要素から終了を達成するために必要なジャンプの最小範囲を使用して計算されます。 minJu
-
パターン検索のためのナイーブアルゴリズムのためのCプログラム
Cでのパターンマッチング −文字列が別の文字列に存在するかどうかを確認する必要があります。たとえば、文字列「algorithm」は文字列「naivealgorithm」内に存在します。見つかった場合、その場所(つまり、存在する位置)は次のようになります。表示されます。2つの文字配列を受け取り、一致が発生した場合は位置を返し、それ以外の場合は-1を返す関数を作成する傾向があります。 Input: txt = "HERE IS A NICE CAP" pattern = "NICE" Output: Pattern found at
-
パターン検索のためのラビン-カープアルゴリズムのCプログラム
Cでのパターンマッチング −文字列が別の文字列に存在するかどうかを確認する必要があります。たとえば、文字列「algorithm」は文字列「naivealgorithm」内に存在します。見つかった場合、その場所(つまり、存在する位置)は次のようになります。表示されます。2文字の配列を受け取り、matchingが発生した場合は位置を返し、それ以外の場合は-1を返す関数を作成する傾向があります。 Input: txt = "HERE IS A NICE CAP" pattern = "NICE" Output: Pattern fou
-
基数ソートのCプログラム
並べ替えアルゴリズム は、リストのコンポーネントを特定の順序で配置するアルゴリズムです。最もよく使用される順序は、番号順と辞書式順序です。 基数 sortは、非比較のソートアルゴリズムです。基数ソートアルゴリズムは、ソートされていないリストに最も適したアルゴリズムです。 同じ場所の値の個々の数字を最初にグループ化することにより、要素を並べ替えます。基数ソートの考え方は、最下位桁(LSD)から最上位桁(MSD)まで桁ごとにソートすることです。 、昇順/降順による。基数ソートは、特大の名前のリストをアルファベット順に並べ替えるときに数回使用される小さな方法です。具体的には、名前のリストは最初に
-
Cプログラムでの行列の乗算と正規化
行列の乗算 次に、行列乗算の手順について説明します。行列の乗算は、特定の条件を満たす場合にのみ実行できます。 2つの行列がPとQであり、それらの次元がP(a x b)とQ(z x y)であるとすると、b =xの場合にのみ、結果の行列を見つけることができます。その場合、結果の行列Rの次数は(m x q)になります。 アルゴリズム matrixMultiply(P, Q): Assume dimension of P is (a x b), dimension of Q is (z x y) Begin if b is not same as z, then exit
-
サブセット和のためのC/C ++プログラム(バックトラッキング)
バックトラッキングは、動的計画法の問題を解決するための手法です。それは段階的に進むことによって機能し、解決策につながらないパスを拒否し、前の位置にトラックバック(戻る)します。 サブセット和問題では、セットのサブセットが、このサブセットの要素が指定された数Kまで合計されるような方法であることがわかります。セットのすべての要素は正で一意です(重複する要素は存在しません)。 。 このために、サブセットを作成し、それらの合計が指定された数kに等しいかどうかを確認します。ソリューションを作成するためのプログラムを見てみましょう。 例 #include <stdio.h> #includ
-
活動選択問題のためのCプログラム
アクティビティ選択の問題は、一連のアクティビティとその開始時間と終了時間が与えられる問題です。そして、一度に1つのアクティビティを実行するために人が実行できるすべてのアクティビティを見つける必要があります。 この問題では、実行する次のアクティビティを選択するために欲張りアルゴリズムが指定されています。まず、欲張りアルゴリズムについて理解しましょう。 。 欲張りアルゴリズム は、問題の解決策を段階的に見つけることによって問題の解決策を見つけようとするアルゴリズムです。次のステップを選択するために、アルゴリズムは、最も有望であると思われるステップも選択しました。つまり、残りのステップと比較して
-
Cプログラムでの二分探索(再帰的および反復的)
二分探索 は、ソートされた配列内の要素(ターゲット値)の位置を見つけるために使用される検索アルゴリズムです。二分探索を適用する前に、配列をソートする必要があります。 二分探索は、これらの名前、対数探索、二分探索、半区間探索でも知られています。 作業中 二分探索アルゴリズムは、配列の中央の要素によって検索される要素を比較することによって機能し、この比較に基づいて、必要な手順に従います。 ケース1 − element =Middle、要素が見つかった場合はインデックスを返します。 ケース2 middle、middle+1インデックスからnまでのサブ配列内の要素を検索します。 ケース3 −
-
Cでさまざまなフォントとサイズの色付きメッセージを印刷する
C / C ++プログラミング言語では、ユーザーの要件に基づいて出力をカスタマイズする機能がユーザーに提供されます。 C /C++グラフィック関数はgraphics.hに含まれています ヘッダーファイル。このライブラリを使用すると、さまざまなオブジェクトを作成したり、テキストの色を設定したり、テキストのフォントとサイズを変更したり、出力の背景を変更したりできます。 ここで、c /c++プログラミング言語で出力のテキストを変更するためのすべての関数の動作を見てみましょう- setcolor() −この関数は、出力テキストの色を変更するために使用されます。 構文 setcolor(int)
-
C / C ++で日付の配列をソートする方法は?
日付の配列があるとします。ここでは、CまたはC++コードを使用してソートする方法を説明します。日付はクラスに格納されます(構造体はCでも使用できます)。 C++STLのソート機能を使用します。日付を比較するには、sort関数で使用される独自のcompare関数を作成する必要があります。より良いビューを得るために例を見てみましょう。 例 #include<iostream> #include<iostream> #include<algorithm> using namespace std; class Date { public:
-
C /C++の単項演算子
ここでは、C /C++の単項演算子を見ていきます。単項演算子は、単一のオペランドに作用して新しい値を生成する演算子です。単項演算子は次のとおりです。 演算子 説明 間接演算子(*) ポインタ変数を操作し、ポインタアドレスの値と同等のl値を返します。これは、ポインタの「逆参照」と呼ばれます。 演算子のアドレス(&) 単項アドレス演算子(&)は、そのオペランドのアドレスを取ります。アドレスオブ演算子のオペランドは、関数指定子またはビットフィールドではなくレジスタストレージクラス指定子で宣言されていないオブジェクトを指定するl値のいずれかです。 単項プラス演算子