次のプログラムの内容(できれば詳しく)教えてくれませんか?
結果は分かるのですが、過程がわかりません。
どうかよろしくお願いします。
長いので次のところでプログラムを見てください。http://www.geocities.co.jp/HiTeens-Penguin/9298/ …
少しめんどくさいかもしれませんがよろしくお願いします。
No.1
- 回答日時:
大まかに行きます。
長いですがやってることは簡単なので。このプログラムはグローバル配列を使ったソートの時間比較のプログラムです。フローはこんな感じ。
ソートさせる配列の大きさを指定
↓(エラーならメッセージ出して終了)
配列に入れる数の方法を指定。
1ならランダムに、2なら順番に、3なら全部1。
↓(その他数値を入れると配列にゴミデータが残る)
それで実際に別関数で、昇順ソート。
↓(最小値を求めて交換つー方式ですな。)
そしてかかった時間を表示する。
って感じです。ですけどこのプログラム、使ってない関数や(gamen)文法的にあれ?と思うところがありますねえ・・・
No.2ベストアンサー
- 回答日時:
よく学校の授業でありがちなプログラムですね(^^;
プログラムの方HPで拝見しました。
メイン処理は、
(1)データ件数入力
(2)実際のデータを乱数で取得するか、ソート済み、1固定にするか入力
(3)現在時刻を取得
(4)ソート処理呼び出し
(5)ソート終了時刻からソートにかかった秒数を画面に表示
以上です。
ソート処理(SelectSort)は基本ソートプログラムですね・・
最小値を検索して順次入れ替えていくものです。
例えば以下のようなデータの場合
a[0]=2, a[1]=3, a[2]=1
最終結果は
a[0]=1, a[1]=2, a[2]=3
とならなければなりませんね!
そこで、まずa[0]に入れるべき、最小値を探し、次にa[1]に入れるべき値を探すと最後のa[2]には自動的に最大値が入りますね!
この入れる部分を次へずらしていくのがiのループです。
次に出てくるjのループですが、最小値を検索する部分です。
minposが最小値の入っている配列番号で、最小値が見つかり次第minposに退避しています。
最小値の検索が終わったところで、値の入れ替えを行っています。
入れ替えを行っているのが、swap()です。
swap()は単純に、a[i]とa[minpos]の値を入れ替えているです。
上記例の場合は、以下のようにswap()が呼ばれ値は次のように変化します。
swap(a,0,2); → a[0]=1, a[1]=3, a[2]=2
swap(a,1,2); → a[0]=1, a[1]=2, a[3]=3
以上が処理の全貌です。。
ちなみに、gamen()は呼び出されない関数のため、無視しておきました~
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- ドライブ・ストレージ Windows10ProがインストールされているタブレットPCの、ハードディスクが64GBしかないた 5 2023/03/07 21:08
- PHP 掲示板を資料を参考にして開発中ですが、画像がアップされません? 1 2022/11/21 06:44
- 大学院 修士論文の過ちを報告した際 2 2023/03/30 20:55
- IT・エンジニアリング プログラマーは稼げるのか?稼げないのか?SIerとSESは?など教えて下さい。 5 2022/11/12 19:50
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- JavaScript 変数のスコープの問題? 3 2022/06/23 09:32
- Visual Basic(VBA) Vba UserFormを前面に出す方法を教えてください 1 2023/08/17 11:08
- Visual Basic(VBA) vbaマクロについて 次のようなマクロを組みたいです。 自分は初心者なので全くわかりません。 詳しく 8 2023/05/18 18:38
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 1 2022/06/18 21:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ArduinoのジャイロモジュールMP...
-
C言語をコンパイルするとコンピ...
-
mallocについて
-
gccを行ってもexeファイルが生...
-
c言語
-
C言語 列挙型(enum型)変数について
-
卒業研究でよく分からないとこ...
-
C言語初心者 構造体 課題について
-
C++でデスクトップGUIアプリ開...
-
C言語初心者 構造体 課題について
-
win10で、正確な待ち時間の作り方
-
[C言語]fputsとfprintfの違い
-
VisualStudio2022でC言語プログ...
-
大量のデータを読み込んで表示...
-
C言語初心者 ポインタについて...
-
あなたは、Excelはどうやって学...
-
C言語初心者です、、、お助けく...
-
システムエンジニアの適正について
-
Stuck
-
Notepad++の関数リスト表示の変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccを行ってもexeファイルが生...
-
あなたは、Excelはどうやって学...
-
WindowsのCapsLock(キャップス...
-
質問失礼します。 プログラム言...
-
double型が正常に認識されてい...
-
Notepad++の関数リスト表示でC...
-
どちのほうがすきですか?
-
Stuck
-
Notepad++の関数リスト表示の変...
-
ArduinoでMouse関数を使用して...
-
C言語の関数と配列に関する質問
-
C言語って古いですか?
-
Linuxでの開発環境構築や設定の...
-
Bitcoin、BTCはブロックチェー...
-
C++6.0でのresource.hについて
-
MACで動く実行ファイルをWindow...
-
C言語 列挙型(enum型)変数について
-
c言語
-
大量のデータを読み込んで表示...
-
こんなことてしますか??
おすすめ情報