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