-
文字列の配列を逆にするCプログラム
この問題では、文字列の配列が与えられます。私たちのタスクは、文字列の配列を逆にするcプログラムを作成することです。 配列要素、つまり最後の要素を最初の値に逆にします。 問題を理解するために例を見てみましょう 入力 strarr[] = {"learn", "programming", "at", "tutorialspoint"} 出力 strarr[] = {"tutorialspoint", "at", "programming", "
-
C単一リンクリストの各ノード値を逆にするプログラム
この記事では、リンクリストが提供されています。私たちのタスクは、単一リンクリストの各ノード値を逆にするCプログラムを作成することです。 リンクリストの各ノードを取得し、値を逆にします。 リンクリスト 別のリンクにリンクされているアイテムを含む一連のリンクです。 問題を理解するために例を見てみましょう 入力 34 12 89 56 72 出力 43 21 98 65 27 この問題を解決するために、単一リンクリストをトラバースして各ノードを取得します。次に、現在のノードの値を逆にします。 単一リンクリストの各ノード値を逆にするプログラム //単一リンクリストの各ノード値を逆にするよう
-
非決定性有限オートマトン(NFA)をシミュレートするCプログラム
この問題では、非決定性有限オートマトン(NFA)をシミュレートするCプログラムを作成します。 NFA (非決定性有限オートマトン)入力シンボルの状態の任意の組み合わせに移動できる有限状態マシン。つまり、マシンが移動する正確な状態はありません。 NDFAの正式な定義- NFA / NDFA(非決定性有限オートマトン)は、5タプル(Q、∑、δ、q0、F)で表すことができます。ここで- Qは有限の状態のセットです。 ∑はアルファベットと呼ばれる有限の記号のセットです。 δは、d:Q×∑→2Qの遷移関数です(NDFAの場合、状態からQ状態の任意の組み合わせに遷移する可能性が
-
名前または文字列の配列をソートするCプログラム
この問題では、文字列の配列が与えられます。私たちのタスクは、名前または文字列の配列をソートするcプログラムを作成することです。このプログラムは、入力で指定したすべての名前をアルファベットの昇順で並べ替えます。 問題を理解するために例を見てみましょう 入力 namesArray = ["Rishabh", "Jyoti", "Palak", "Akash"] 出力 ["Akash", "jyoti", "palak", "Rishabh&quo
-
Cグラフィックを使用したフラッドフィルアルゴリズム
コンセプト 特定の長方形に関して、私たちのタスクは、フラッドフィルアルゴリズムを適用してこの長方形を塗りつぶすことです。 入力 rectangle(left = 50, top = 50, right= 100, bottom = 100) floodFill( a = 55, b = 55, NewColor = 12, OldColor = 0) 出力 メソッド //(a、b)の前の色OldColorと(a、b)の周囲のすべてのピクセルを新しい色 NewColorとfloodFill(a、b、NewColor、OldColor)に置き換える再帰関数 aまたはbが画面
-
Cのfillpoly()関数
コンセプト ヘッダーファイルgraphics.hには、三角形、長方形、五角形、六角形などのポリゴンを描画して塗りつぶすために実装されたfillpoly()関数が含まれています。したがって、この関数にはdrawpoly()と同じ引数が必要です。 構文 void fillpoly( int number, int *polypoints ); この場合、numberは(n + 1)点の数を示します。ここで、nはポリゴン内の頂点の数であり、polypointsは(n * 2)整数のシーケンスを指します。 入力 arr[] = {320, 150, 400, 250, 250, 350, 32
-
Cでのマージソートの最悪のケースを引き起こす順列を見つけます
コンセプト 与えられた要素のセットに関して、これらの要素のどの順列がマージソートの最悪の場合になるかを決定しますか? 漸近的に、マージソートは常にO(n log n)時間を消費しますが、より多くの比較が必要な場合は、通常、実際にはより多くの時間を消費します。ここで、基本的に、典型的なマージソートアルゴリズムを実装してソートしたときに最大数の比較につながる入力要素の順列を決定する必要があります。 例 以下の要素のセットを並べ替えられた配列と見なします111213 14 15 16 17 18 19 20 21 22 23 24 25 26 マージソートの最悪の場合をもたらす結果の入
-
C++でAとBのXORがCと等しくなるようにフリップする最小ビットをカウントします
長さNの3つのバイナリシーケンスA、B、Cが与えられます。各シーケンスは2進数を表します。いいえを見つける必要があります。 AとBのXORがCになるようにAとBのビットに必要なフリップの数。AXORBはCになります。 まず、XOR演算の真理値表について学びましょう- X Y X XOR Y 0 0 0 0 1 1 1 0 1 1 1 0 A [i] ==B[i]およびC[i]==0の場合、フリップはありません。 A [i] ==B[i]およびC[i]==1の場合、A[i]またはB[i]のいずれ
-
Cのプロセス内で作成できるスレッドの最大数
与えられたタスクは、プロセスinC内で作成できるスレッドの最大数を見つけることです。 スレッドは軽量プロセスであり、スケジューラーによって独立して管理できます。スレッドはプロセスのコンポーネントであるため、複数のスレッドをプロセスに関連付けることができます。また、プロセスよりも軽いため、コンテキストの切り替えにかかる時間が短縮されます。 スレッドはプロセスよりも必要なリソースが少なく、ピアスレッドとメモリを共有します。すべてのユーザーレベルのピアスレッドは、オペレーティングシステムによって単一のタスクとして扱われます。それらの作成と終了に必要な時間は短くなります。 プログラムが実行される
-
学生のレコードを構造として保存し、名前で並べ替えるCプログラム
この問題では、student_id、student_name、student_percentageを含む学生のレコードが提供されます。私たちのタスクは、学生のレコードを構造として保存し、名前で並べ替えるCプログラムを作成することです。 問題を理解するために例を見てみましょう 入力 −学生の記録= {{ student_id = 1, student_name = nupur, student_percentage = 98}, { student_id = 2, student_name = Akash, student_percentage = 75}, { student_id =
-
Cプログラミング言語標準
この問題では、Cプログラミング言語で定義されている標準について学習します。これらは、開発コミュニティによって定義されているように、プログラムがコンパイラによって理想的にコンパイルされる標準的な方法です。 私が言っていることを理解するために、皆さんが遭遇したはずの一般的なCプログラムの簡単な例を取り上げて、問題が発生するのを確認しましたが、問題については深く理解していません。 main()関数のvoidリターンタイプ- 次のプログラムを参照してください- void main() { //program code } このプログラムは、turbo cコンパイラ
-
Cでの2つの整数のビット単位の再帰的加算
この問題では、2つの数字が与えられます。私たちのタスクは、2つの整数をビット単位で再帰的に加算するためのCプログラムを作成することです。 ビット演算を使用して合計を求めるロジックは、就学前のときに行っていたものと似ています。合計を求めるために、以前は数値の各桁を加算し、キャリーがある場合は次の桁に加算していました。 同様のことを行い、XOR演算子を使用して合計を見つけ、AND演算を使用してキャリーをチェックします。キャリーがある場合は、それを番号に追加します。それ以外の場合は追加しません。 これは、半加算器のロジックです。 あなたがデジタルエレクトロニクスで学んだかもしれないこと。こちら
-
最初の配列の最大値とCの2番目の最小値の積
それぞれサイズn1とn2の2つの配列arr1[]とarr2[]が与えられた場合、最初の配列arr1[]の最大要素と2番目の配列の最小要素の積を見つける必要があります。配列arr2[]。 arr1 [] ={5、1、6、8、9}とarr2 [] ={2、9、8、5、3}に要素があるように、arr1の最大要素は9で、最小要素はarr2は2であるため、両方の積は9 * 2 =18です。同様に、与えられた問題を解決するためのプログラムを作成する必要があります。 入力 arr1[] = {6, 2, 5, 4, 1} arr2[] = {3, 7, 5, 9, 6} 出力 18 説明 MA
-
Cで最大の奇数桁を持つNの積
数値Nが与えられた場合、最大の奇数桁の数値を生成する必要があります。奇数桁がない場合は、-1を出力します。 Nを「153」で初期化し、この数値の最大の奇数桁が5であるため、結果は153と5の積になります。つまり、153 * 5 =765であり、数値に246のような奇数桁がない場合、出力は次のようになります。 -1になります。 入力 − n =198 出力 − 1782 説明 − 198 * 9 =1782 入力 − n =15382 出力 − 76910 説明 − 15382 * 5 =76910 問題を解決するために以下で使用するアプローチは次のとおりです-
-
文字列にCの特殊文字が含まれているかどうかを確認するプログラム
文字列str[]が与えられた場合、タスクは文字列に特殊文字が含まれているかどうかを確認し、文字列に特殊文字が含まれている場合は「文字列は受け入れられません」と出力します。文字列は受け入れられます」。 特殊文字とは、数字でもアルファベットでもない文字です。つまり、−!@#$%^&*()+ =-\] [‘; /。、{} |:” <>? `〜 したがって、Cプログラミング言語では、if-elseアプローチを使用して問題を解決します。 入力 − str [] ={“ tutorials-point”} 出力 −文字列は受け入れられません 入力 − str [] ={“ tutorialspo
-
配列がCでソートされているかどうか(反復および再帰)をチェックするプログラム
n個の要素を持つ配列arr[]が与えられた場合、タスクは、指定された配列が並べ替えられた順序であるかどうかを確認することです。並べ替えられた順序である場合は、「配列は並べ替えられた順序です」と出力します。それ以外の場合は、「配列ソートされた順序ではありません」。 上記の問題を解決するために、反復アプローチまたは再帰アプローチを使用できます。両方について説明します。 再帰的アプローチ では、再帰的アプローチとは何ですか?再帰的アプローチでは、望ましい結果が得られるまで、関数を何度も再帰的に呼び出します。再帰的アプローチでは、関数によって返される値はスタックメモリに格納されます。 入力 a
-
Cの2つの分数を比較するプログラム
分子がnume1とnume2、deno1とdeno2がそれぞれの分母である2つの分数が与えられた場合、タスクは両方の分数を比較して大きい方を見つけることです。 1/2と2/3の分数があり、1/2の値が0.5で、2/3の値が0.66667であるため、高い方が2/3になります。 入力 first.nume = 2, first.deno = 3 second.nume = 4, second.deno = 3 出力 4/3 説明 2/3 = 0.66667 < 4/3 = 1.33333 入力 first.nume = 1, first.deno = 2 second.num
-
Cの奇数正方行列の中央の行と列の積
行と列が等しく、長さが奇数であるmat [row] [column]の正方形の行列が与えられた場合、行と列の数は奇数でなければなりません。つまり、で割り切れません。 2、タスクは、そのマトリックスの中央の行と中央の列の積を見つけることです。 下の図のように- 制約 行列は正方行列でなければなりません。 列と行の長さは奇数である必要があります。 入力 mat[][] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}} 出力 Product of middle row = 120 Product of middle column = 80 説明
-
Cで2つの複素数を追加するプログラム
a1+ib1とa2+ib2の形式の2つの複素数が与えられた場合、タスクはこれら2つの複素数を加算することです。 複素数は、「a + ib」の形式で表現できる数です。ここで、「a」と「b」は実数であり、iは式の解である虚数です𝑥2=-1 as no実数は方程式を満たしているため、虚数と呼ばれています。 入力 a1 = 3, b1 = 8 a2 = 5, b2 = 2 出力 Complex number 1: 3 + i8 Complex number 2: 5 + i2 Sum of the complex numbers: 8 + i10 説明 (3+i8) + (5+i2) =
-
Cでの還元型の与えられたN分数の積
N個の分数の分子numと分母denが与えられた場合、タスクは積N個の分数を見つけることであり、出力は誘導型である必要があります。 下の図のように、「4/5」と「3/4」の2つの分数があり、最初の分子に2番目の分子を掛け、最初の分母に掛ける2つの派閥の積が見つかりました。 2番目の分母。これで、最終結果は「12/20」になります。これを減らすことができるため、出力は「3/5」になります。同様に、特定の問題を解決するプログラムを開発する必要があります。 入力 fraction f[3] = {{1,2}, {2,1}, {5,6}} 出力 5/6 説明 − 1/2 * 2/1 *