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 投稿

C言語における配列操作とアルゴリズムの基礎実装

C言語における配列のメモリレイアウトの理解から、ソートアルゴリズム、進数変換、行列演算といった実用的なアルゴリズムの実装まで、いくつかの例を通して解説します。 1. 配列のメモリレイアウトとアドレス 配列はメモリ上で連続した領域を占有します。以下の例では、1次元配列および2次元配列のアドレスと要素の配置を確認できます。 #include <stdio.h> void i ...

5月31日 02:09 投稿

Java章節摘要と配列演習

1、記事概要 内容 本記事はJava学習の摘要と配列演習の問題を紹介します。 2、章02プロジェクト構造 3、演習問題 問題 配列を用いた基本演習を実装します。 3.1 最小値探し package Practice; public class practice01 { // 主方法main関数 public static void main(String[] args) { int minValue; int[] values = { 4, 1, 6, 3, 9, 8 }; // 定 ...

5月26日 21:26 投稿