No.1
- 回答日時:
前の文字列を先頭から一つづつポインタを移動させて
後の文字列とmemcmpで一致しているか判定して
一致するポインタを記録していって
いくつかある候補でどれを削除するかを決めて削除
No.2ベストアンサー
- 回答日時:
自分で「手」でやるときはどういう風にやるか考えましょう。
手元に「a」「b」「a」「c」「b」「a」「t」と「b」「a」「c」と書いた紙切れを用意して、手で実際にやってみます。
そのときの動きをそのままコーディングすると、出来上がるはずです。
但し、
・該当文字列が無かった場合
・該当文字列が2回以上現れる場合
については何も書かれていないので、フラグを使うとか工夫が必要ですけど。
たとえでやると、
abatbacbat-bac
・出力用のエリアを準備します。
・最初の文字を対象文字列(1)と比べます。
・違うのでそのカードを出力エリアに並べます。
・次の文字を対象文字列(1)と比べます。
・同じなのでその次の文字と対象文字列(2)を比べます。
・またおなじなのでその次の文字と対象文字列(3)と比べます。
・違ったので、出力エリアに3文字分並べます。
・次の文字を対象文字列(1)と比べます。
・同じなのでその次の文字と対象文字列(2)を比べます。
・またおなじなのでその次の文字と対象文字列(3)と比べます。
・3文字ともおなじなので、出力エリアには文字を出さず次へ行きます。
・次の文字を対象文字列(1)と比べます。
・同じなのでその次の文字と対象文字列(2)を比べます。
・またおなじなのでその次の文字と対象文字列(3)と比べます。
・違ったので、出力エリアに3文字分並べます。
・次の文字は終了文字なので終了。
の様に手でやると思いますが、コーディングするときどこをループにするか等考えましょう。
※ 実際は、関数を使って一気に処理しますけどね…。
※ アルゴリズムの問題だと思ったので、こういう回答にしました。
この回答へのお礼
お礼日時:2011/06/14 15:41
1つずつ文字を入力していき、実際にやってみました。
なんとなくですが、構造をつかめてきました。
もう少しやってみることにします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(プログラミング・Web制作) Tを主張Sの前後に文字列を追加したものとし、Tを教えて!gooで削除されないようにできる? 2 2023/02/10 15:35
- Visual Basic(VBA) 【至急】 当方初心者です。 マクロについて知恵をお貸しください。 ★したい動作 ①リストE列2行目か 4 2022/09/29 18:56
- Visual Basic(VBA) 以下のVBAで該当文字列の前後に付与したい。 例 前に付与 abc ユーザーID 12345 後に付 3 2022/04/19 21:50
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
- Excel(エクセル) エクセルのマクロを教えてください。 1 2022/03/30 09:29
- C言語・C++・C# C言語の質問です、プログラミング初心者です このような文字列があった場合 "abcdef☆ghijk 4 2022/11/22 10:56
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- Excel(エクセル) エクセルの日付から年末尾2桁と月を1月をA~Lに変換したい 3 2022/08/08 10:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
文字列からタブコードを取り除...
-
Excelで3E8を3.00E+8にしない方...
-
【Excel VBA】複数ある特定の文...
-
MS SQLServer のSQLで文字列の...
-
エクセル 数値データを桁をそ...
-
Excelで指数表現しないようにす...
-
VBの「As String * 128」とは?
-
エクセルで文字列の最大値を抽...
-
同一セル内に関数と文字列を同...
-
エクセルで文字列をtxtファイル...
-
ORCLEでの小数の表示方法の変更...
-
Left関数とRight関数を合わせた...
-
Pro c/c++ でホスト変数の後に....
-
VBscriptからバッチに変数を渡...
-
Excelはなんで先頭の0を消すん...
-
16進数を10進数に簡単に変換す...
-
【COBOL】文字列から数値項目に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
Excelで3E8を3.00E+8にしない方...
-
VBAでの Replace関数で、ワイル...
-
Excelで指数表現しないようにす...
-
[C言語]fputsとfprintfの違い
-
エクセルで文字列をtxtファイル...
-
同一セル内に関数と文字列を同...
-
エクセルで文字列の最大値を抽...
-
Excelはなんで先頭の0を消すん...
-
MS SQLServer のSQLで文字列の...
-
エクセル 数値データを桁をそ...
-
Left関数とRight関数を合わせた...
-
VBA2005 16進を2桁で表示したい。
-
VBの「As String * 128」とは?
-
Msgboxの×が押されたとき
-
sedなどで、特定の文字列の後の...
-
【Excel VBA】複数ある特定の文...
-
OnTime 使用時のプロシージャへ...
おすすめ情報