どちらも正しい日本語ですね。どこかニュアンスが違います。日本語を勉強する人はこのあたりにとても悩むのではないでしょうか?「が」と「は」のざっくりとした違い正確ではありませんが、「が」はその人の強いを意志(will)を強調するときに使います。「私だけがこれをやるんだ!」という強い気持ちがあります。「あなたはやらないけど、私はやるよ」という消極的なニュアンスがあります。二番目の文からわかるように、比較したうえでの意志を伝えるときに「は」を使います。警察が犯人を指さすときと、犯人が自供するときを考えてみます。警察「お前がやったんだろう?」ですね。次のセリフは間違っています。「犯人がお前だ」はかなりおかしい日本語です。「お前はやったんだろう?」は、言わなくもないセリフかもしれません。状況によっては警察もふつうに言うでしょう。この対比は「が」と「は」の違いをよく表しています。自供する犯人側を考えてみます。犯人「私がやりました」ですね。「が」は「他でもない俺が!」というニュアンスをもちますが、犯人のこのセリフは「他の誰でもない俺が犯人なんだ」と言っているわけです。犯人「私はやりました」は罪を認めているというより、なにかを達成したかのように聞こえますね。う〜ん、日本語って難しい。