OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

コンパイルできない!助けてください!

  • すぐに回答を!
  • 質問No.202655
  • 閲覧数59
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 69% (9/13)

以下のプログラムがコンパイル出来ません。
なぜでしょうか?
それと、このプログラムにソート対象の比較回数や書き換え回数を付け加えたいのですが、どうもうまくいきません。
あと、乱数を発生させて実験もしてみたいのですが、うまくいきません。
どうしても、コームソート自体が納得いかず、色々、実験しています。
何か、いい情報があれば、教えていただければありがたいです。
質問が多くてすみません。
よろしくお願いします!

#include <stdio.h>
#include <time.h>

/*
* コームソート
*
*/
void comb_sort11 (KEY x[], int n)
{
int i, gap;
KEY hold;
enum {BREAK, CONT} flag;

gap = n;
flag = CONT;
while (flag == CONT !! gap > 1) {
flag = BREAK;
gap gap / 1.3;
if (gap == 0)
gap = 1 ;
else if (gap == 9 !! gap == 10)
gap = 11;
for (i = 0; i + gap < n; i++)
if( x[i] > x[i+gap]) {
hold = x[i];
x[i] = x[i+gap];
x[i+gap] = hold;
flag = CONT;
}
}
}

#include <stdio.h>
main()
{
int s, e;
int n=5,i;
int x[] = {5,8,3,6,2};
s = clock();
comb_sort11(x,n);
e = clock();
for (i = 0; i <= n-1; i++){
printf("%d",x[i]);}
fprintf(stderr,"time = %d\n", e - s );
return 0;
}
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 37% (419/1115)

「コンパイル出来ない」の具体的な症状を書かれた方が適切な回答が付くと思いますよ。(エラーメッセージ等)
とりあえず私が気付いたのは、

flag == CONT !! gap > 1

等の「!!」です。
これは「||」の間違いではありませんか?
「|」は「\(またはバックスラッシュ)」のキーをシフトを押しながら打てば入力出来ます。
細かいロジック等はあまり時間がないので見ていません。
悪しからず。
補足コメント
YOSI163

お礼率 69% (9/13)

基本的な間違いをご指摘いただきありがとうございました!
エラーメッセージは以下のようなまのが出ました。
もしよろしければ、教えてくださればありがたいです。

-------------------構成: コームソート1 - Win32 Debug--------------------
コンパイル中...
コームソート1.c
C:\My Documents\コームソート\コームソート1.c(8) : error C2146: 構文エラー : ')' が、識別子 'x' の前に必要です。
C:\My Documents\コームソート\コームソート1.c(8) : error C2061: 構文エラー : 識別子 'x' がシンタックスエラーを起こしました。
C:\My Documents\コームソート\コームソート1.c(8) : error C2059: 構文エラー : ';'
C:\My Documents\コームソート\コームソート1.c(8) : error C2059: 構文エラー : '['
C:\My Documents\コームソート\コームソート1.c(8) : error C2059: 構文エラー : ')'
C:\My Documents\コームソート\コームソート1.c(40) : warning C4013: 関数 'comb_sort11' は定義されていません。int 型の値を返す外部関数と見なします。
cl.exe の実行エラー

コームソート1.obj - エラー 5、警告 1
投稿日時 - 2002-01-21 19:20:02
お礼コメント
YOSI163

お礼率 69% (9/13)

KEYと||部分が間違っていました。
ありがとうございました!
投稿日時 - 2002-01-22 00:48:36
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.2
レベル8

ベストアンサー率 70% (21/30)

こんにちは。 KEYというのは何でしょうか? KEYが定義されていないのでコンパイルエラーになるのだと思います。 ...続きを読む
こんにちは。

KEYというのは何でしょうか?
KEYが定義されていないのでコンパイルエラーになるのだと思います。
お礼コメント
YOSI163

お礼率 69% (9/13)

KEYと||部分が間違っていました。
ありがとうございました!
投稿日時 - 2002-01-22 00:49:18
  • 回答No.3
レベル13

ベストアンサー率 37% (419/1115)

tediwecさんと同じくKEYの部分なのですが、intに置き換えればとりあえず動くのではないでしょうか。 もしかしたら汎用的な配列を想定されているのかもしれませんが、当面の確認にはなると思います。 ...続きを読む
tediwecさんと同じくKEYの部分なのですが、intに置き換えればとりあえず動くのではないでしょうか。
もしかしたら汎用的な配列を想定されているのかもしれませんが、当面の確認にはなると思います。
お礼コメント
YOSI163

お礼率 69% (9/13)

KEYと||部分が間違っていました。
ありがとうございました!
投稿日時 - 2002-01-22 00:50:24
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ