-
Cで1枚の紙から切り取ることができる最大の与えられたサイズの長方形
1枚の紙の寸法、長さL、幅Bが与えられます。また、小さな長方形の寸法、長さl、幅bが与えられます。目標は、1枚の紙から切り取ることができる小さな長方形の最大数を見つけることです。 次の手順を実行します- まず、水平方向の配置、シートと長方形の長さLとlをそれぞれ取り上げます。 Lをlで、Bをbで整列し始め、長方形を数えます。 次に、垂直方向の配置でも同じことを行います。もう一度数えます。 countの最大値を返します。 例を挙げて理解しましょう。 入力 Sheet L=18, B=6 Rectangle l=4, b=3 出力 Maximum rectangles:
-
Cの単一の点を通過する最大の個別の線
各線の数Nと2点(x1、y1)と(x2、y2)の座標が与えられます。目標は、2つの線が互いに重なり合ったり、回転が実行されたりしないように、1つの点を通過できる特定の線から最大数の線を見つけることです。 線を(m、c)のペアとして表します。ここで、y =mx + cであり、mは勾配m =y2-y1 / x2-x1 同じmの線は、c1!=c2で平行になります。明確な勾配(m)を数えます。垂直線の場合、x1 =x2の場合、勾配=INT_MAX、それ以外の場合はm。 例を挙げて理解しましょう。 入力 Line 1 (x1,y1)=(4,10) (x2,y2)=(2,2) Line 2 (x
-
C /C++プログラムの初期化されていないプリミティブデータ型
このセクションでは、初期化されていない1つの変数を宣言するときに、それらがCまたはC++言語で保持する値を確認します。コンパイラがintに0、floatに0.0などの値を割り当てると想定することがあります。しかし、文字データ型にはどうなるでしょうか。実装の使用を見て、さまざまなコンパイラを使用してコンパイルしてみましょう。 例(C ++) 理解を深めるために、次の実装を見てみましょう- #include <iostream> using namespace std; int main() { char char_var; flo
-
CおよびC++の可変長配列
ここでは、C++の可変長配列について説明します。これを使用して、可変サイズの自動配列を割り当てることができます。 Cでは、C99標準の可変サイズの配列をサポートします。次の形式はこの概念をサポートしています- void make_arr(int n){ int array[n]; } int main(){ make_arr(10); } しかし、C ++標準(C ++ 11まで)には、可変長配列の概念はありませんでした。 C ++ 11標準によれば、配列サイズは定数式として言及されています。したがって、上記のコードブロックは有効なC++1
-
ポインタを使用して、文字列がCの回文であるかどうかを確認します
文字列sがあるとします。指定された文字列が回文であるかどうかを確認する必要があります。 Cのポインタを使用してこの問題を解決する必要があります。 したがって、入力がs =racecarのような場合、出力はTrueになります。 これを解決するには、次の手順に従います- 長さ:=文字列のサイズ forward:=文字列の最初の文字を指します reverse:=文字列の最後の文字を指します =前進の位置で、 逆方向が指す文字が順方向が指す文字と同じである場合、 順方向に増加し、逆方向に1減少します それ以外の場合 ループから抜け出す =逆方向の位置の場合、 Trueを返す
-
C /C++でのラムダ関数の重要性
ラムダ関数 −ラムダ関数はインライン関数であり、メインプログラムの範囲外での実装は必要ありません。 Lambda関数は、格納する変数によって値として使用することもできます。 Lambdaは、関数(ファンクターと呼ばれる)によって呼び出すことができるオブジェクトとして参照できます。 。 コンパイラーがラムダ関数の定義に遭遇すると、通常、ラムダのカスタムオブジェクトを作成します。 ラムダ関数には、通常の関数よりも多くの機能があります。たとえば、使用された変数をキャプチャするためのキャプチャメソッドがあります。ただし、キャプチャされた変数はオブジェクトのメンバーとして扱われます。 ラムダ関数
-
C言語の歴史を説明しますか?
Cは、DennisRitchieによって開発された高級プログラミング言語の1つです。 Cは元々、B、BCPLなどの以前の言語の問題を克服するためにUNIXオペレーティングシステム用に開発されました。 UNIXオペレーティングシステムの開発は1969年に開始され、そのコードは1972年にCで書き直されました。 UNIXオペレーティングシステムの開発は1969年に開始され、そのコードは1972年にCで書き直されました。 1985年に、Windows1.0がリリースされました。 Windowsのソースコードは市場で公開されていませんが、そのカーネルはほとんどCで書かれていると
-
Cプログラムを機械語に変換する4つのステップは何ですか?
プログラムの作成と実行のプロセス プログラムには、プログラミング言語で記述された一連の命令が含まれています。 プログラマーの仕事は、プログラムを作成してテストすることです。 「C」プログラムを機械語に変換する4つのステップは&miuns; プログラムの作成と編集 プログラムのコンパイル プログラムのリンク プログラムの実行 プログラムの作成と編集 「テキストエディタ」はプログラムの作成に使用されます。 テキストエディタを使用して、ユーザーは文字データを入力、変更、および保存できます。 多くの場合、すべての特別なテキストエディタがコンパイラに含まれて
-
C言語での暗黙的および明示的な型変換とは何ですか?
あるデータ型を別のデータ型に変換することを型変換と呼びます。 暗黙の型変換 明示的な型変換 暗黙の型変換 オペランドのデータ型が異なる場合、コンパイラは暗黙的な型変換を提供します。 これは、小さなデータ型を大きなデータ型に変換することにより、コンパイラによって自動的に実行されます。 int i,x; float f; double d; long int l; ここで、上記の式は最終的に「double」値に評価されます。 例 以下は、暗黙的な型変換の例です- int x; for(x=97; x<=122; x++){ printf
-
C言語での暗黙的な変換を使用して、大文字の「A」のASCII値を見つけますか?
暗黙的な型変換は、コンパイラによって、小さいデータ型を大きいデータ型に変換することによって行われます。 たとえば、ASCII値はA=65です。 このプログラムでは、入力として文字「A」を指定しています。次に、AをASCII値である65に変換するコードを記述します。 例 以下は、暗黙の変換を使用して大文字の「A」のASCII値を見つける例です- #include<stdio.h> int main(){ char character = 'A'; int number = 0, value; &n
-
main()関数でC言語の引数を指定することは可能ですか?
はい、main()関数で引数を指定できます。 Cのコマンドライン引数は、システムのコマンドラインのプログラム名の後に指定され、これらの引数値は、プログラムの実行中にプログラムに渡されます。 argc およびargv main関数に渡すことができる2つの引数です。 ただし、main()関数は、ターミナルからプログラムを実行すると、実際にはオペレーティングシステム(またはシェルプログラム)によって呼び出されます。 構文 構文は以下で説明されています- int main(int argc, char *argv[]){ //Code r
-
C言語を使用してループステートメントなしで名前を複数回印刷するにはどうすればよいですか?
問題 Cプログラミング言語でloopまたはgotoステートメントを使用せずに名前を10回出力してみてください。 解決策 一般に、ループステートメントは、条件がfalseになるまでコードのブロックを繰り返すために使用されます。 例1 このプログラムでは、loopまたはgotoステートメントを使用せずに名前を10回出力しようとしています。 #include <stdio.h> void printname(char* name,int count){ printf("%03d : %s\n",count+1,name);
-
C言語でscanf()ステートメントを使用しているときに発生する一般的なエラーは何ですか?
問題 C言語のscanf()関数を使用して文字列と数値データを読み取るときに一般的なエラーが発生しました 解決策 scanf()関数 C言語でstdinからフォーマットされた入力を読み取るために使用されます。それ以外の場合は、書き込まれた文字の整数を返し、負の値を返します。 一般に、ユーザーから整数の後に文字列値を読み取っているときにscanf()関数を使用すると、エラーが頻繁に発生します。 例 以下は、ロール番号(整数値)と学生の名前を読み取るCプログラムです- #include <stdio.h> struct student { char n
-
Cプログラミングでコンパイラが整数の後に文字列を読み取らないのはなぜですか?
問題 コンパイラがCプログラミングで整数の後に文字列を読み取らない?この問題をどのように解決できますか? 解決策 整数を入力し、Enterキーを押して次の値を読み取ると、コンパイラはnullを文字列の最初の文字に格納し、文字列の入力は終了します。 scanfは、ヌル文字を読み取るたびに終了するためです。 それを解決する方法は? intまたはfloatの後に文字列または文字を読み取ろうとするときは、入力バッファに存在する一時文字を読み取る必要があります。 以下はエラーのないプログラムです- 例 #include <stdio.h> struct student{
-
Cプログラミングでのコンパイル時と実行時の初期化について説明しますか?
配列の概念をコンパイル時と実行時の初期化について考えてみましょう- 配列 配列は、隣接するメモリ位置に格納されているアイテムのコレクションであり、要素はインデックスを使用してアクセスできます。 コンパイル時配列の初期化 コンパイル時の初期化では、ユーザーはプログラム自体に詳細を入力する必要があります。 コンパイル時の初期化は、変数の初期化と同じです。配列の初期化の一般的な形式は次のとおりです- 構文 type name[size] = { list_of_values }; //integer array initialization int rollnumbers[4]={ 2, 5,
-
Cプログラムを使用してさまざまな形式で数字を印刷するにはどうすればよいですか?
問題 ピラミッド、直角三角形などのさまざまな形式で数値を印刷するためのC言語のロジックは何ですか? 解決策 別のモデルで数字や記号を印刷するには、コード内のforループを利用できます。 例1 以下はピラミッドを印刷するCプログラムです- #include<stdio.h> int main(){ int n; printf("Enter number of lines: "); scanf("%d", &n); printf(
-
C言語のさまざまなストレージクラス
問題 C言語のさまざまなストレージクラスとは何ですか?プログラムで説明しますか? 解決策 ストレージクラスは、Cプログラム内に存在する変数または関数のスコープと存続期間として定義されます。 ストレージクラス 以下は、Cのストレージクラスです- 自動 外部 静的 登録 自動変数/ローカル変数 キーワード −自動 これらはローカル変数とも呼ばれます 範囲 − ローカル変数のスコープは、それらが宣言されているブロック内で使用できます。 これらの変数はブロック内で宣言されます デフォルト値 −ガベージバリュー 例 #include<stdio.h> void
-
Cプログラムを使用した行列の行の合計と列の合計
問題 実行時のコンパイルを使用して、5x5配列の行の合計と列の合計を計算するCプログラムを作成しましょう。 解決策 このプログラムでは、実行時に5X5マトリックスのサイズの配列の値をコンソールに入力し、行と列を追加しようとしているforループを使用します。 行の合計を行うためのロジックを以下に示します- for(i=0;i<5;i++) {//I is for row for(j=0;j<5;j++){ //j is for column row=row+A[i][j]; //compute row sum
-
C言語での動的メモリ割り当てに関するプログラム例
問題 Cで動的メモリ割り当てを使用して、配列から最大値と最小値を見つけます。 解決策 動的メモリ割り当てにより、Cプログラマーは実行時にメモリを割り当てることができます。 実行時にメモリを動的に割り当てるために使用したさまざまな関数は、-です。 malloc()-実行時にメモリのブロックをバイト単位で割り当てます。 calloc()-実行時にメモリの連続ブロックを割り当てます。 realloc()-割り当てられたメモリを削減(または拡張)するために使用されます。 free()-以前に割り当てられたメモリスペースの割り当てを解除します。 動的メモリ割り当てを使用
-
C言語でのポインタアクセスの概念を説明する
ポインタは、他の変数のアドレスを格納する変数です。 ポインタの宣言、初期化、アクセス 次のステートメントを検討してください- int qty = 179; ポインタの宣言 int *p; 「p」は、別の整数変数のアドレスを保持するポインタ変数です。 ポインタの初期化 アドレス演算子(&)は、ポインタ変数を初期化するために使用されます。 int qty = 175; int *p; p= &qty; 文字列の配列内の要素にアクセスする際にポインタがどのように役立つかの例を考えてみましょう。 このプログラムでは、特定の場所に存在する要素にアクセスしようとしています。操