検索結果 10 件

by P387
1年前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートについて
返信数: 9
閲覧数: 11593

Re: ヒープソートについて

みけCAT様

今更ではございますが、実行出来ました!

書き込んでいた場所が変だったようで、新規で作り直し、写したらきちんと課題通りにすることが出来ました。

お騒がせして申し訳ございませんでした。
改めて感謝申し上げます。
by P387
1年前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートについて
返信数: 9
閲覧数: 11593

Re: ヒープソートについて

みけCAT様

ご回答ありがとうございます。
みけCAT様が修正していただいたプログラムをそのままコピーさせていただいたのですが、やはり私の方だと実行結果が何も出ないみたいです...。

原因を探ってみたいと思います。
ここまで長々とお付き合いいただきありがとうございました!
by P387
1年前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートについて
返信数: 9
閲覧数: 11593

Re: ヒープソートについて

みけCAT様 ご返信ありがとうございます。 なるほど、3回ループの意味はそういう事だったのですか...解説して頂きありがとうございます。 printfはやはりよく分からないですね。 みけCAT様のコードを書かせていただき、エラーは出なくなりました! コードにも何を行っているか詳しく書いてくださり分かりやすかったです! ちなみに、通常のヒープソートでは、ソートを行う要素をヒープに入れた後、ヒープから要素を順に取り出すことによるソートを行います。 それに対し、ここで扱っているプログラムには、ヒープから要素を取り出す処理が無いようです。 今、実行結果が何も出ないのはヒープから要素を取り出す処理が無い...
by P387
1年前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートについて
返信数: 9
閲覧数: 11593

Re: ヒープソートについて

みけCAT様 ご回答ありがとうございます。 ただ[先生のヒント]と[プログラム]のものを使っただけのもですが、こちらが自分が書いたものです。 #include <stdio.h> void appendNode(int); int h[10]={0,12,23,34,45,56,67,-1,-1,-1}; int n=6; main() { int i,x; for(i=0;i<=2;i++){ printf(); scanf("%d",&x); appendNode(x); } for(i=0;i<=9;i++){ printf("%d",h[i]); printf("\n"); } voi...
by P387
1年前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートについて
返信数: 9
閲覧数: 11593

Re: ヒープソートについて

画像の添付がうまくいっておらず、分かりにくくなってしまい申し訳ございません。
問題は、図が書いてある方で、ヒントは手書きの文字の方です。
逆になってしまって見にくいですがよろしくお願いいたします。
by P387
1年前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートについて
返信数: 9
閲覧数: 11593

ヒープソートについて

閲覧ありがとうございます。 大学の課題で分からなかったので質問させていただきました。 初心者なので、説明が分かりにくい部分があると思いますがよろしくお願いします。 [問題] 134432.jpg [プログラム] 大域:整数型の配列:H 大域:整数型:n 〇appendNode(整数型:num) 整数型:i,j,tmp i←n+1 H[ i ]←num j←i ÷ 2 while ((jが1以上)and(H[ i ]がH[ j ]より大きい)) tmp ← H[ i ] H[ i ]← H[ j ] H[ j ]=tmp i ←j j←i÷2 endwhile n←n + 1 [先生からのヒント...
by P387
1年前
フォーラム: C言語何でも質問掲示板
トピック: 4桁の連番に1桁のチェックディジットを付加して5桁のコードを生成したい
返信数: 12
閲覧数: 9123

Re: 4桁の連番に1桁のチェックディジットを付加して5桁のコードを生成したい

box様

返信が遅くなって申し訳ございません。

先生の方からこんな感じで書け、と指示されたときに特にcodemakeについての関数は書いてなかったので大丈夫だと思われます。

お気遣いいただきありがとうございました!
by P387
1年前
フォーラム: C言語何でも質問掲示板
トピック: 4桁の連番に1桁のチェックディジットを付加して5桁のコードを生成したい
返信数: 12
閲覧数: 9123

Re: 4桁の連番に1桁のチェックディジットを付加して5桁のコードを生成したい

幸尚様・box様

ご回答ありがとうございます。

最終的に示していただいたもので意図した通りに動かすことができました!
長い間悩んでいたので、とても助かりました…!
本当にありがとうございました!
by P387
1年前
フォーラム: C言語何でも質問掲示板
トピック: 4桁の連番に1桁のチェックディジットを付加して5桁のコードを生成したい
返信数: 12
閲覧数: 9123

Re: 4桁の連番に1桁のチェックディジットを付加して5桁のコードを生成したい

幸尚様 ご回答ありがとうございます。 改良もしてくださり勉強になります! 早速試させていただいたのですが、エラーで「未定義の関数 'memset' を呼び出した(関数 main() )」と出てしまいます。intに付け足せばいいのかと思い足すとエラーで「 関数でないものを呼び出している(関数 main() )」と出てしまいます。 何か解決方法をご存知でしたら教えてくださると嬉しいです。 #include <stdio.h> main() { char code[6]; int i, j, base, sum, number,memset; memset(code, '\0', sizeof(co...
by P387
1年前
フォーラム: C言語何でも質問掲示板
トピック: 4桁の連番に1桁のチェックディジットを付加して5桁のコードを生成したい
返信数: 12
閲覧数: 9123

4桁の連番に1桁のチェックディジットを付加して5桁のコードを生成したい

閲覧ありがとうございます。大学の課題で分からなかったので質問させていただきました。初めてこの掲示板を利用するので説明が分かりにくい部分があると思いますがよろしくお願いします。 [問題] 手続codeMakeは、商品の開発順に割り振られた連番を基に5桁の商品コードを生成する。 手続codeMakeは、引数として整数型の変数numberに連番を受け取って生成した商品コードを文字型の一次元配列codeに格納する。 手続codeMakeでは、4桁の連番に1桁のチェックディジットを付加して5桁の商品コードを生成する。 なお、引数として受け取った連番が0以下又は1万以上であった場は、商品コードを “000...

詳細検索ページへ移動する