||warning: command line option '-Wzero-as-null-pointer-constant' is valid for C++/ObjC++ but not for C [enabled by default]|
C:\Users\Amir Khasru\Desktop\counting_sort.c||In function 'main':|
C:\Users\Amir Khasru\Desktop\counting_sort.c|13|error: subscripted value is neither array nor pointer nor vector|
||=== Build failed: 1 error(s), 1 warning(s) (0 minute(s), 0 second(s)) ===|
答えて
あなたはいつものように変更し、あなたのforループでは0で開始する必要があります:
for (i=min ; i <max ; i++) b[i] = i;
ここであなたのコードVS opのコードの変更は何ですか? –
@Am_I_Helpfulが 'i <= max'を' i
おっと、申し訳ありません。しかし、最大と最小の値は標準のCのために縛られるべきであるので、それはまだ疑わしいです! –
配列は、メンバー0 ... N-1とn個の要素の数(あなたのケースでmax)を有しているので、あなたが書く必要があります。
for (i=min ; i<max ; i++) b[i]=i;
もちろん、途中で開始することもできます(例:min= max/2;
)。
'min'が10で' max'が20で、配列のサイズが11であれば(OPが十分だと思うかもしれませんが)、これはうまくいかず、本当に質問に答えません。 –
@ Steve-summit、それは彼の問題です。すなわちそれを理解する。もちろん、0 <= minとmax
はい、Cの配列は0から始まります。常に。あなたはこれを支配しません。 0からmax-1
にi
実行されることを
for(i = 0; i < max; i++)
... do something with arr[i] ...
注:
通常は、常にこのようになりますCで配列をループします。条件は<
であり、<=
ではありません。
アレイを1からNまで、または任意の最小値から任意の最大値まで考えてみたい場合は、さまざまな方法でそれをシミュレートできます。あなたは「あなた」の指標をループをすることができますし、それらを変換するために、ループ内の「本当の」配列インデックス:
int min = 10;
int max = 20;
int arr[11];
for(i = min; i <= max; i++)
printf("%d: %d\n", i, arr[i-min]);
それとも、実際のインデックスをループとは、ループの中に独自にそれらを変換することができます
for(i = 0; i < N; i++) {
int myindex = i + min;
printf("%d: %d\n", myindex, arr[i]);
しかし、このようなコードは、 "あなたの"インデックスと "本当の"インデックスの違いを常に把握しておく必要があるため、混乱する可能性があります。
もちろん、このすべてでは、使用している実際の最小値と最大値に配列のサイズが適切であるように注意する必要があります。そして "fencepost"エラーを覚えておいてください!最小値が10で最大値が20の場合は、10ではなく、11の配列が必要です。つまり、必要なサイズは通常max - min + 1
です。
1ベースの配列をシミュレートしたい場合は、必要なサイズより1大きい値を割り当てて、セル0を廃棄します。
#define N 10
int arr[N+1]; /* +1 so can make 1-based */
for(i = 1; i <= N; i++)
arr[i] = i;
これは正常に動作しますが、それはそれは必要以上に1より大きな配列を割り当てることを忘れするのは簡単ですので、それはまた、やや危険な考えることができ、そしてあなたも、誰でしょう、あなたのコードの後に、読者を混乱させる可能性あなたのようなものを書いてみてください
for(i = 1; i <= N; i++)
とsa y "いいえ!それは間違っている! for(i = 0; i < N; i++)
!
例えば、maxは20ですが、配列のサイズは11です... –
- 1. for(int i = 0; i <10; ++ i)とfor(int i = 0; i <10; i ++)は同じものを返しますか?
- 2. 2つの配列を同時にループするためのpythonの方法は何ですか?</p> <pre><code>for i in range(len(a)): print a[i] + b[i] </code></pre> <p>ではなく、何かを: - 私は、同じ長さの2つの配列を、持っている場合
- 3. 私(int i = 0; i <8; i ++、data >> = 1)について説明できますか?
- 4. 私のテンプレート演算子を呼び出す<<他に何も見つからない場合にのみ
- 5. 私は図書館へ</p> <pre><code>libs = c("AER", "gbm", "caret", "MASS", "nnet", "randomForest") for (i in libs) { if(!is.element(i, .packages()) { install.packages(i) } library(i) } </code></pre> <p>コール(I)の効果に何かを達成したいのですが、引数
- 6. イオン2つのイベント、私はイオン-角度</p> <p>から<code>Publish</code>と<code>Subscribe</code>を使用しようとしている。しかし、私はどんなデータでもエラーを受信していない
- 7. (1u << x << y)はどういう意味ですか?私は問題を抱えている
- 8. VBAは<i> "text"</i>に相当しますか?
- 9. エラトステネスのふるいCプログラム - 私たちはなぜi <= sqrt(n)などを持っていますか?
- 10. オンライン完全</p> <pre><code>for($i=0; $i<$colCount;$i++){ $keys = array_keys($cols)[$i]; $values = array_values($cols[$i]); $stmt->bindValue(":".$keys, $values); } </code></pre> <p>を作業している</p> <p>は、私はPHPのコードの下に持っている...ローカルホストでの作業&
- 11. SSRS場合は - 何も表示されていない、私はいくつかの特定のケースのためのさらに<code>iif</code></p> <blockquote> <p><code>IIF(LEN(Fields!IDENTITE.Value)=0,"Known manager","Unknown manager")</code></p> </blockquote> <p>を以下している
- 12. 与えられたコードで誰かがこのコードスニペットを私に説明してください(int i = 0; i <len; i ++)count [str [i]] ++;
- 13. PHP - MySQLのクエリは、これは私のFlexコードで、私はPOSTを使用していない....</p> <p>を私は正しいつもりかどうかわからない、私は常に戻り値を取得しています
- 14. メモリアドレスは整数型で格納できますか?</p> <pre><code>int i; int j = &i; </code></pre> <p>私たちは<code>int* j = &i</code>のようなポインタを使用することによってそれを行うことができます知っているが、私はいかなるがあるかどうかを知りたい:
- 15. AVXスカラー演算は、それがバインドされ、メモリ帯域幅となるように、私は、次の簡単な関数が非常に大きな配列を持つ</p> <pre><code>void mul(double *a, double *b) { for (int i = 0; i<N; i++) a[i] *= b[i]; } </code></pre> <p>をテスト
- 16. 私は私にもかかわらず、<code>unsafe</code>ブロックを構築できるようにしていないよう、安全でないコードブロック
- 17. Coqの `forall i:nat i < S k -> H`を` i <kとi = k`に分割するにはどうすればいいですか?
- 18. `1 << 32`と` int i = 32;なぜですか? 1 << i`は別の結果を表示しますか?バグか機能ですか?
- 19. 私はすべてのファイル名で、<code>log.txt</code>と呼ばれる次のログファイルはフォルダから考慮しなければならない
- 20. Iは<code>result</code>変数介し<code>main</code>にアセンブラからいくつかのデータを渡したいC
- 21. MBED:私はこれまで見てきたものから</p> <p>...これはMBEDについて非常にハイレベル/愚かな質問です
- 22. は、これは私です</p> <pre><code>'[errors]' => [], </code></pre> <p>..私は、ユーザーテーブルを持っていると私は私が<code>$user</code>をデバッグする場合でも、それはnullを返し<code>save()</code>保存したいときにエラーがないCakePhp3
- 23. がどのように要素を削除して、今、私はこのHTMLを解析したい私はこの</p> <pre><code>Hello<i class="emoji emoji_smile" title=":smile:"></i><i class="emoji emoji_angry" title=":angry:"></i>World </code></pre> <p>のようなHTMLスニペットを持って
- 24. ObservableCollectionをソートするにはどうすればいいですか?</p> <pre><code>Persons = from i in Persons orderby i.Age select i; </code></pre> <p>しかし、私は<code>ObservableCollection<Person></code>にLinqs <code>System.Linq.IOrderedEnumerable</code>変換カント:
- 25. は私が<i> ID</i>と<i>用語</i>フィールドで構成される基本的なMySQLのテーブル、<i>用語</i>を、持っている別のクエリ
- 26. は、どのように私はグリッドビューに設定された画像のために次のコードを書かれている<strong>BaseAdapter</strong> .Iを拡張<strong>ImageAdapter</strong>クラスを作成している<strong>GridViewの</strong>で私が問題に直面しています
- 27. は、長さがあることを固定されているので、私は、それはO(N)があるかどうかわからないです走行時間</p> <pre><code>String[] stringCombo = new String[5]; for (int i = 0; i < stringCombo.length; i++) { stringCombo[i] = deleteCharAt(s,i); s = original; } </code></pre> <p>ものです
- 28. jupiterノートブックを起動するたびにブラウザをエクスポートしなければならないのはなぜですか?私はちょうどターミナルで</p> <p>jupyterノート</p> <p>コマンドを使用している場合
- 29. $(e.target)は<i></i>であり、含まれていません。<div>...</div>
- 30. ブラウザ私は2つのアプリケーション</p> <p>1ルビー(私が書かれていない。私はルビーの何も理解していない)と他のASP.Net</p> <p>Rubyのアプリは、ユーザーのIPアドレスを決定してい
通常、最初の要素はインデックス0なので、時には不便な場合もあります。その場合、配列1の要素を大きくする必要があります。 'int b [max]'合法的に 'b [max-1]'までしか索引付けできないので、配列をオーバーフローさせます。 –
あなたの質問のタイトルは、あなたが得ているエラーと一致しません。問題は 'b'は配列ではないということです。 –
それは異なります。循環バッファを使用しているときは、バッファに要素がないときは少し難しいので、1から始まります。私の仕事の他の部分とうまく整列します。これは、なぜあなたがArrayを使用しているかに依存しています。大部分のケースでは、ゼロから始める必要があります(メンテナンスプログラマーには、そうしないことを知らせてください)。 –