C言語:構造体と列挙型を用いたプログラム例

課題1:書籍販売データの処理 以下のプログラムは、書籍の販売データを管理し、販売数でランキングを表示し、総売上額を計算します。 #include <stdio.h> #define MAX_BOOKS 10 // 書籍情報を格納する構造体 typedef struct { char ISBN[20]; // ISBNコード char title[80]; // 書籍タイトル char author[80]; // 著者名 double pr ...

8月13日 12:49 投稿

組み込みシステムにおけるC言語のアルゴリズム入門

1. 配列の並び替えアルゴリズム 1.1 選択ソート —— 最小値を特定の位置に配置する 各ステップで未ソート部分から最小値(または最大値)を選び、それを対応する位置と交換することで、全体がソートされるまで処理を繰り返す。昇順での例を示す: #include <stdio.h> int main() { int data[] = {4, 8, 7, 6, 2, 5, 3, 9, 1}; int length = sizeof(data) / s ...

8月6日 20:57 投稿

配列の探索とソートアルゴリズム

探索 1. 二分探索 前提条件:配列は事前に昇順にソートされていること 基本概念:目的値と中央要素を比較して探索範囲を半分にする アルゴリズム手順 初期化処理: left = 0; right = 配列長 - 1; pivot = left + (right - left)/2; left <= right の間繰り返す arr[pivot] と target を比較する target == arr[pivot] → pivot を返却 target > arr[pivot] → le ...

8月1日 16:39 投稿

プログラミングコンテスト問題の解法と分析

患者の並び替え問題 患者が診察を受けに来院し、以下のルールに基づいて診察の順番を決定するプログラムを作成する。 高齢者(年齢が60歳以上)は、若年者より優先される。 高齢者は年齢が高い順に診察され、年齢が同じ場合は来院順に診察される。 若年者は来院順に診察される。 解法のポイント この問題は、カスタム比較ロジックを使用した構造体のソートをテストするも ...

7月24日 17:51 投稿

JavaScriptでの配列のグループ化処理

JavaScriptの配列グループ化 1. データのグループ化(類似GROUP BY) 以下のコードは、配列の要素を指定されたプロパティに基づいてグループ化します。 <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device- ...

7月23日 20:25 投稿

C言語構造体とアルゴリズムの実践的演習

4、演習課題4 task4.cソースコードと実行結果: 1 #include <stdio.h> 2 #define MAX_BOOKS 10 3 4 typedef struct { 5 char book_id[20]; // 書籍ID 6 char title[80]; // タイトル 7 char writer[80]; // 著者 8 double price; // 価格 9 int quantity; // 売上数量 10 } Publication; ...

7月16日 20:01 投稿

配列の基本アルゴリズムコード集

1. 配列のソート 1.1 バブルソート 配列の要素を並べ替えるためには、バブルソート、挿入ソート、クイックソートなどのアルゴリズムが利用可能です。バブルソートは初心者にも理解しやすく、重要なアルゴリズムの一つです。 昇順ソートの実現方法: 隣接する要素を比較し、前の方が大きい場合は位置を交換します。 配列の最初から最後まで、隣接要素の比較と交換を繰り ...

7月14日 02:15 投稿

红包分配システムの実装とソート処理

問題概要 N人の参加者間での紅包(お年玉)の分配記録を処理し、各人の収支を計算するプログラムを作成します。入力データから各人の収入金額、支出金額、獲得紅包数を算出し、指定された条件でソートして出力します。 入力形式 最初の行には参加者数N(≤104)が与えられます。続くN行には、各参加者が発行した紅包の情報が以下の形式で記述されます: K N1 P1 N2 P2 ... ...

7月11日 16:44 投稿

C言語による主要なソートアルゴリズムの実装と解説

開発環境とコード規約 本記事で紹介するコードは、C言語標準規格(C99以降)を想定しており、 Visual Studio 2022などの主要な開発環境で動作します。可読性と保守性を向上させるため、変数名は論理的な意味を持つようにリファクタリングし、標準的な型定義を使用しています。 挿入ソート (Insertion Sort) 挿入ソートは、手札のトランプを整理するように、整列済みの部分 ...

7月9日 21:10 投稿

牛客冬季アルゴリズム基礎訓練キャンプ2 解答解説

問題 A 解法の考え方 入力値7個が全て{1,2,3,5,6}のいずれかであるかを検証する。無効な値が1つでもあれば即時判定する。 コード例 #include <iostream> using namespace std; bool isValid(int val) { return val == 1 || val == 2 || val == 3 || val == 5 || val == 6; } int main() { int tmp; for (int i = 0; i < 7; i++) { cin > ...

6月30日 18:41 投稿