C言語で10個の数字を読み込んで選択法を使い表示するプログラムはできたのですが、挿入法ができません。
教えてください。 以下のプログラムは、選択方のプログラムです。
#include <stdio.h>
#include <stdlib.h>
#define MAX 50 //配列の寸法
//_プロトタイプ宣言
void showArry(char *lab,int ns[],int n);
int main(void){
//char__*fnam="numbers.dat";//_入力ファイル名
char *fnam="numbers.dat"; //_当方テスト用仮ファイル名
FILE *file; //_ファイルの番号(構造情報ポインタ)
int ns[MAX]; //_データ格納配列
int n; //_格納要素数
int i; //_ループ変数
int j; //_ループ変数
int k; //_最小候補要素の添字
int min; //_最小値
int temp; //_交換用作業変数
//_ファイルのオープン:ファイルが存在しない場合を監視
if((file=fopen(fnam,"r")) == NULL){
printf("%sファイルはオープンできません。\n",fnam);
return 1; //_強制的に終了
}
//_ファイルが存在している場合のみ、以下に進行する
//_特別の意図がないなら_else_{__}_は不要
//_1.ファイルから10個の数字を読み込む
n = 0;
while(fscanf(file,"%d",&ns[n]) != EOF){
n++;//_添字のインクリメント
}
showArry("入力直後",ns,n);
//_2.選択ソートで昇順に並べる
for(i=0;i<n-1;i++){
//_要素[i]以降の最小値選択
min = ns[i];//_i番目の最小値初期化
k = i;//_添字の保存
for(j=i+1;j<n;j++){
if(ns[j]<min){
min = ns[j];//_最小値の入れ替え
k = j;//_添字の保存
}
}
//_要素[i]を選択値に交換
temp = ns[k];
ns[k] = ns[i];
ns[i] = temp;
showArry("交換過程",ns,n);
}
fclose(file);//_ファイルのクロース
//_終了
printf("\n正常終了\n");//_確認メッセージ
return 0;//終了
}
//_ソート中の数字を表示
void showArry(char *lab,int ns[],int n){
int i;//_ループ用
printf("%s:Array = [",lab);
for(i=0;i<n;i++){
printf("%d",ns[i]);
}
printf("]\n");
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンソールAPIのSetConsoleScre...
-
Expression: nptr != NULL
-
C言語 文字列の中の文字が条件...
-
C言語初心者です。計算がうまく...
-
TCP/IP: 非ソケットに対するソ...
-
c言語プログラミングで初項を1....
-
最も文字数が多い行番号と文字...
-
クレーンでのCFブレーキとな...
-
音声を重畳するとは・・・
-
SNR測定方法の差分法について質...
-
ダイオード1つの半波整流回路と...
-
トランスの出力波形の歪み
-
減衰係数の求め方がわかりません
-
答え教えて下さい! 高校日本史...
-
音声波形を表示する
-
オシロの波形から発振周波数を...
-
モータの巻線係数って何でしょ...
-
「dip and plateau」の訳
-
中学数学空間図形の問題です。 ...
-
発振器(ファンクションジェネレ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語プログラミングで初項を1....
-
プログラミングが分かりません。
-
'printf':識別子が見つかりませ...
-
C言語のエラーについて
-
Expression: nptr != NULL
-
TCP/IP: 非ソケットに対するソ...
-
3×3のラテン方陣をつくるプログ...
-
加減剰余のオーバーフローについて
-
プログラムがエラーが出る原因
-
getch / putch用のヘッダ
-
コマンドライン引数について。
-
C言語で自作ヘッダーを作ったの...
-
コンソールAPIのSetConsoleScre...
-
分割コンパイルの手順と方法に...
-
C言語 コンパイルエラー(文字...
-
リターンキー又は、スペースキ...
-
C言語初心者です。計算がうまく...
-
最も文字数が多い行番号と文字...
-
モンテカルロ法で三角錐の体積...
-
C言語のソースコードについて教...
おすすめ情報
選択法のこのプログラムをいじって、挿入法にしたいのです。