問題タブ [cs50]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - エラーの解決方法:予期される識別子または'('
プログラミング中に問題が発生しました。このエラーが何度も発生します。
私はインターネット全体を検索しましたが、問題を見つけることができませんでした。int main(void)
助けなかった後
これは私のコードです:
私はこの問題を数日間解決しようとしてきましたが、私はそれを理解することができません!
よろしくお願いします!
c - Cでwhileループが繰り返されないのはなぜですか?
Cに入ったばかりで、問題が発生しています。このwhileループが繰り返されない理由を理解するのに時間がかかっています。JavaScriptで同じループを作成すると、適切な出力が繰り返されます。http://jsfiddle.net/rFghh/
使用するwhile (cents >= 25)
と、ターミナルは開始コインを印刷し、点滅するだけでハングします。<=25
(以下のように)使用すると、1回の反復が出力されます。私が間違っていることについて何か考えはありますか?
c - Cで暗号化機能を使用しているときに問題が発生しました
私はCでcrypt関数を使用しています。ここでは、コマンドライン入力に暗号化された単語を入力しています。/ usr / share / dict / words内の単語を使用し、crypt関数を使用して暗号化してから、crypt関数の暗号化された出力をコマンドライン入力と比較します。単語が同じ場合は、printfステートメントを使用して、暗号化されていないコードを出力として出力します。コードを以下に示します。
コードは、1つの入力、つまり「./a.out50q.zrL5e0Sak」(引用符なし)を指定した場合にのみ正常に機能するようです。ただし、暗号化に他の入力を使用すると、コードが失敗するようです。password:encrypted passwordの別の例は、abaca:50TZxhJSbeG1Iです。アバカという単語がリストに含まれていますが、識別できません。このコードをすべての入力で機能するように修正することはできません。
c - 「greedy.c:17:1: error: expected identifier or '(' {」が表示される
コンパイル時に予期される識別子 '(' というエラーが発生しました。助けてください。int main(void) の後の 17 行目です。私が知る限り、すべての関数を正しく括弧で囲んでいます。プログラムはユーザーに変更を要求し、おつりを与える際に使用するコインの最小枚数を決定する
c - C: 別々のインスタンスで異なる方法で実行される関数
プログラミングの基礎を学ぶために、iTunes University: Harvard CS50 の講義を受講しています。現在、テキストサイファー用のプログラムを作成しようとしています。プログラム全体のコードは次のとおりです。
プログラムは、char "c" または "d" を挿入して Cypher または Decypher のどちらを希望するかをユーザーに尋ねることから始まり、cyphmain (暗号化の場合) または dcecyphmain (復号化の場合) 関数のいずれかを実行します。これはうまくいきます
次に、プログラムはユーザーに腐敗番号を尋ね、次にユーザーにフレーズを入力するように求めます。これもうまくいきます。
ただし、(解読) する単語を入力すると、プログラムがセグメンテーション違反でクラッシュするため、エラーは maincalc/dmaincalc 関数にあると思われます。(基本的に、各関数には 2 つのコピーがあり、1 つは暗号化用で、もう 1 つは復号化用です。テキストのいくつかの変更と、テキストの暗号化または復号化に関連する実際の計算を除いて、それらはまったく同じです)。
失敗例はこちら
c - Windows での C ライブラリのインポート
C の非常に基本的なプログラムですが、次のエラーが発生します。
tcc: エラー: 未定義のシンボル 'GetFloat'
何が問題で、どうすれば修正できますか? cs50.c と cs50.h をスクリプトと同じディレクトリに配置しました。以下は私のメインファイルです:
ここに cs50.h があります
そして最後に、これが cs50.c です。
c - あるファイルから別のファイルへのコンテンツのコピー、セグメンテーション違反
大きな .raw ファイルから 50 個の jpeg を 1 つずつコピーしようとしていますが、現在、セグメンテーション違反エラーが発生します。これが私のコードです:
GDB を介して実行すると、コードは if(block[0] == 0xFF && block 1 == 0xD8) まで到達し、条件をスキップしてセグメンテーション違反が発生します。何が原因なのかわかりません。スクリーンショットは次のとおりです。
コードが更新されました:
現在はクラッシュしませんが、50 枚の JPEG のうち 9 枚のみが適切に復元されています。cs50.h があるので、ブール型にアクセスできます。50 個のファイルを書き込むより良い方法は何ですか? ブール値に論理的な欠陥があるようです。
c - strlen がセグメンテーション違反を生成した場合の GetString() からの C 文字列
C でプログラムを実行しています。プログラムを実行すると、セグメンテーション違反エラーが発生します。IN gdb バックトレースすると、それが教えてくれます
プログラム受信信号 SIGSEGV、セグメンテーション違反。__strlen_sse2_bsf () at ../sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S:51 51 movdqu (%edi), %xmm1
私はそれがstrlenに関係していると信じています。
strlen を使用するのは次の場合だけです。
sizeof の strlen を変更すると、エラーが停止します。
コードの何が問題になっていますか?
GetString のドキュメント
c - このコードでのピクセルの変換
ちょっとしたプログラミングの課題でつまづいてしまったようです。(問題全体のやり方を教えないでください。すべてのバイトを赤に設定する方法を知りたいだけです)。
私が持っているコードは次のとおりです。
そして bmp.h は
注: GetString のコードはありませんが、文字列を として返すと仮定してくださいchar*
。
私が抱えている問題は、すべてのピクセルの rgbtRed 値を極端な赤に変換しようとすることです。やり方がわかりません。rgbtRed を変換する方法だけ教えてください。
更新: パズル
チューダー マンションへようこそ。あなたのホストであるジョン・ボディさんは早すぎる最期を迎えました。彼は不正行為の犠牲者です。このゲームに勝つには、whodunit を決定する必要があります。
あなたにとって残念なことに (ボディ氏にとってはさらに残念なことですが)、あなたが持っている唯一の証拠は、下の写真にある、clue.bmp という名前の 24 ビットの BMP ファイルです。このファイルの赤い「ノイズ」の中に隠されているのは、whodunit の絵です。
あなたはずっと前に、この謎を解決する赤いプラスチック片を子供の頃に捨ててしまったので、代わりにコンピューター科学者としてそれを攻撃しなければなりません.