C 言語 番号振りなおしにつおて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Auran

C 言語 番号振りなおしにつおて

#1

投稿記事 by Auran » 2年前

c言語で構造体に1から順にナンバーをつけて、それをソートしてからまた、1からつけなおすにはどうすれば良いんでしょうか?

初期化のための関数を作り、代入してからfor構文を使う感じでしょうか?

自分がしたいのは例えば下のような用意してある構造体をあいうえお順に並び替えて②①③にしてから、それを新しく上から①②③に書き換える関数を作りたいのですがどうすればいいのでしょうか?


構造体①
 1番号① 
 2名前い●■■
構造体② 
 1番号②
 2名前あ●■■
構造体③
 1 番号③
2名前お●■■

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: C 言語 番号振りなおしにつおて

#2

投稿記事 by みけCAT » 2年前

Auran さんが書きました:
2年前
c言語で構造体に1から順にナンバーをつけて、それをソートしてからまた、1からつけなおすにはどうすれば良いんでしょうか?
希望の処理を行うコードを書き、実行すればいいです。
Auran さんが書きました:
2年前
初期化のための関数を作り、代入してからfor構文を使う感じでしょうか?
自分の書きやすい形、そしてできれば後日の修正や改良がしやすい(保守性が高い)形で書けばいいでしょう。
Auran さんが書きました:
2年前
自分がしたいのは例えば下のような用意してある構造体をあいうえお順に並び替えて②①③にしてから、それを新しく上から①②③に書き換える関数を作りたいのですがどうすればいいのでしょうか?
1. あいうえお順に並び替える
2. 番号を書き換える
という処理を行う関数を作ればいいでしょう。
あいうえお順に並び替える処理は、入力されるのがひらがなだけであれば、
Shift_JIS(829F~)やUTF-8 (e38181~) のひらがなは文字コード順があいうえお順になっているので
素直に strcmp() などで比較できるかもしれないですが、
カタカナ、記号、漢字などが混ざってくると難しいかもしれません。
要求仕様によっては、「諦める」「外注する」という選択肢もアリかもしれません。

コードを書かずに考え込むだけではなく、実際にコードを書いてみて、
詰まった所でそのコードを提示してまた質問をする、というのがいいと思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

返信

“C言語何でも質問掲示板” へ戻る