アルファベット順のソート

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

アルファベット順のソート

#1

投稿記事 by タマ » 15年前

#include <stdio.h>
#include <string.h>

#define NMAX 10

int main(void)
{
char *p[/url] = { "one", "two", "three", "four", "five",
"six", "seven", "eight", "nine", "ten"
};
char *temp;
int i, j, min;

for (i=0; i<NMAX-1; i++) {
/* find the smallest remaining string */
min = i;
for (j = i+1; j<NMAX; j++) {
/* comparing two strings */
if (strcmp(p[min], p[j]) > 0) {
min = j;
}
}

● *temp=*p;
● ;
● ;
}

for (i=0; i<NMAX; i++)
puts(p);

return 0;
}

アルファベットの早い順にソートするプログラムで悩んでいます。
●の部分のみを変更します。
出力で、eight,five,four,nine,one,seven,six,ten,three,twoの順番が目標です。
tempはpの文字を入れる役割だと思うのですが…

シエル

Re:アルファベット順のソート

#2

投稿記事 by シエル » 15年前

どこまでが分かって、どこが分からないのですか?

タマ

Re:アルファベット順のソート

#3

投稿記事 by タマ » 15年前

strcmpで比較した最小の値をtempに代入していくのだろうと考えてますが、
2回目以降でそれ以前に代入した小さい値を除いて最小を調べていく仕組み(?)が良く分かりません。

シエル

Re:アルファベット順のソート

#4

投稿記事 by シエル » 15年前

これって何かの課題の問題ですか?
それとも自分が一から考えて書いたプログラムですか?

組木紙織

Re:アルファベット順のソート

#5

投稿記事 by 組木紙織 » 15年前

整数のソートはできますか?
出来るならコードを見せてください。

タマ

Re:アルファベット順のソート

#6

投稿記事 by タマ » 15年前

自己解決出来ました。わざわざ質問したのにすみません…

● temp=*(p+min);
● *(p+min)=*(p+i);
● *(p+i)=temp;

閉鎖

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