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