- 1 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:55:25 ]
- あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう. ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。 【質問テンプレ】 [1] 授業単元: [2] 問題文(含コード&リンク):() [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html 【過去ログ検索】 chomework.sakura.ne.jp/ 【wiki】 www23.atwiki.jp/homework/ 【前スレ】 C/C++の宿題を片付けます 102代目 pc11.2ch.net/test/read.cgi/tech/1197132472/
- 703 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 11:26:39 ]
- >>702 ありきたりで申し訳ないが
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 100 #define SWAP(type, x, y) do{type tmp = x; x = y; y = tmp;}while(0) // バブルソート void bsort(int *a, int n){ int i, j; for(i = 0; i < n - 1; i++) for(j = i + 1; j < n; j++) if(a[i] > a[j]) SWAP(int, a[i], a[j]); } // 選択ソート void ssort(int *a, int n){ int i, j, min; for(i = 0; i < n - 1; i++){ min = i; for(j = i + 1; j < n; j++) if(a[min] > a[j]) min = j; SWAP(int, a[i], a[min]); } } int main(void){ int i, a[N]; srand((unsigned)time(NULL)); for(i = 0; i < N; i++) a[i] = rand()%100; for(i = 0; i < N; i++) printf("%4d", a[i]); printf("\n"); bsort(a, N); // ssort(a, N); for(i = 0; i < N; i++) printf("%4d", a[i]); }
- 704 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 11:42:15 ]
- >>702
#include <stdio.h> #include <stdlib.h> #include <time.h> //バブルソート int main(void){ int i,j,num[100],temp; srand(time(NULL)); for(i=0;i<100;i++)num[i]=rand(); for(i=99;i>0;i--){ for(j=0;j<i;j++) if(num[j]>num[j+1]){ temp=num[j]; num[j]=num[j+1]; num[j+1]=temp;}}} for(i=0;i<100;i++)printf("%d\n",num[i]); return 0; } //選択ソート int main(void){ int i,j,num[100],min,temp; srand(time(NULL)); for(i=0;i<100;i++)num[i]=rand(); for(i=99;i>0;i--){ min=i; for(j=0;j<i;j++)if(num[min]>num[j])min=j; temp=num[min]; num[min]=num[i]; num[i]=temp;} for(i=0;i<100;i++)printf("%d\n",num[i]); return 0; }
|

|