C言語における多次元配列操作の実践的実験

実験課題1 ソースコード: 1 #include <stdio.h> 2 #define ROWS 4 3 #define COLS 2 4 5 void test1() { 6 int data[ROWS] = {1, 9, 8, 4}; 7 int index; 8 9 // 配列dataが占めるメモリバイト数を出力 10 printf("sizeof(data) = %d\n", sizeof(data)); 11 12 // 各要素のアドレスと値を出力 13 for (ind ...

6月22日 19:21 投稿

awkの主要オプションと配列の利用方法、および本番環境データの統計処理

awkの主なオプションのまとめ 外部環境変数をawkで使用する(-vオプション) awk -v num2="$num1" -v var1="$var" 'BEGIN{print num2,var1}' -fオプションによるスクリプトファイルからの読み込み awkスクリプトファイル(1.awk): BEGIN{ str="I hava a tream" location=index(str,"ea") print location } awk - ...

6月15日 23:03 投稿

C++関数とモジュールの実践演習

7.12 復習問題 1. 関数の宣言、定義、呼び出しの順序について説明せよ 2. 以下の関数プロトタイプを作成せよ a. void igor(); b. float tofu(int n); c. double mpg(double d1, double d2); d. long summation(long data[], int size); e. double doctor(const string s); f. void ofcourse(boss b); g. string plot(map *m); 3. 配列要素を指定値で初期化する関数 void ...

6月13日 22:51 投稿

C言語による順序表の実装:挿入、削除、検索、およびマージ

順序表の基本操作とC言語による実装 順序表(シーケンスリスト)は、メモリ上で連続したアドレス空間を使用してデータを格納する線形リストの一種です。C言語の配列を用いて、このデータ構造の基礎となる操作である位置による検索、値による検索、要素の削除、挿入、そして2つのリストの統合を実装します。 1. 指定位置による要素の取得 順序表では、物理的なメモリ配置が ...

6月13日 16:47 投稿

C++ 面接問題集:ポインタ、配列、const の基礎

1. for ループと while ループの変換 for 文は while 文に書き換え可能である。同様に do-while 文でも実現できる。条件判定のタイミングが異なるが、制御構造の本質は同じである。C++ ではループ制御の書き換えが容易であり、可読性向上のために適宜選択する。 2. 二次元配列の文字列出力 #include <cstring> #include <cstdio> int main() { char data ...

6月12日 18:56 投稿

C言語における一次元配列とポインタの関係

一次元配列のメモリ上の配置 #include <stdio.h> int main() { int numbers[8]; int index; for (index = 0; index < 8; index++) { printf("int型のサイズ: %zu ", sizeof(int)); printf("&numbers[%d] = %p ", index, &numbers[index]); } return 0; } int型のサイズ: 4 &numbers[0] = 0 ...

6月11日 19:39 投稿

ポインタと参照の基礎

ポインタの基本演算子 C++におけるポインタには2つの主要な演算子があります: *(間接参照演算子):ポインタに適用すると、そのポインタが指すアドレスに格納されている値を取得します。 &(アドレス演算子):変数に適用すると、その変数のメモリアドレスを取得します。 ポインタ自体も変数であるため、ポインタのアドレスを取得することも可能です。このアドレス ...

6月9日 00:28 投稿

データ構造:線形リスト

問題3156 【基礎15.例題1】生徒番号の照会 問題概要 最大2×106人の生徒が教室に入っており、それぞれの生徒番号(1〜109の範囲)が教室に入った順序で与えられる。その後、最大105回にわたって、何番目に教室に入ったかを尋ねる質問が行われる。各質問に対する答えを出力する必要がある。 入力形式 n m s1 s2 ... sn q1 q2 ... qm nは生徒数、mは質問の回数を表す。siはi番 ...

6月8日 22:54 投稿

LeetCodeの代表的なアルゴリズム問題とその解答

LeetCodeの代表的なアルゴリズム問題とそのC++による実装をまとめました。文字列、配列、連結リスト、動的計画法などのトピックを取り上げ、アルゴリズム面接準備や日頃の練習に役立ちます。 目次 文字列処理 配列問題 連結リスト操作 動的計画法 木の走査 1. 文字列処理 1.1 二進数の部分文字列を数える(Count Binary Substrings) 問題説明:与えられた文字列において ...

6月2日 16:49 投稿

Java Arrays.asListが引き起こす3つの典型的な問題

問題1:プリミティブ型配列をリストに変換する際の落とし穴 Arrays.asList()メソッドはジェネリックメソッドであり、その引数はオブジェクトの配列(T[])を期待しています。しかし、Javaのプリミティブ型(int, doubleなど)はオブジェクトではありません。そのため、プリミティブ型の配列をこのメソッドに渡すと、配列全体が単一の要素として扱われてしまいます。 public ...

6月1日 18:33 投稿