- 締切済み
C++の英数字の出力について
英数字を入力して、英小文字の場合はそのまま表示、 英大文字は2回、数字なら3回連続して表示するプログラムを作りたいと考えています。 (例) abcde → abcde ABCDE → ABCDEABCDE 12345 → 123451234512345 a1B2c → a111BB222c 英小文字か、英大文字か、数字を判定し、出力するには配列とポインタを使用するのだと予想してますが、 プログラミングが全く進みません。 どなたかご教授を、よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- php504
- ベストアンサー率42% (926/2160)
ABCDE → AABBCCDDEE 12345 → 111222333444555 じゃないと a1B2c → a111BB222c との整合性が取れないように思います
- arain
- ベストアンサー率27% (292/1049)
No.1です ……えーと、数字や大文字小文字を判断する処理もないのですね。 では、まず必要な機能の抽出を行うことから始めてください。 ・英数字を入力(しデータとして保持)する方法 ・英字(大文字/小文字)、数字を判断する方法 がまず必要です。 重要な文字を繰り返して表示する部分は以下のように考えると楽です。 a.確認する最初の文字の格納場所と英数字の種別を記録しておく。 b.次の文字の種別を確認する。 →a.と種別が同じならさらに次の文字を確認する →a.と種別が違っていたら一致していた部分までを種別にあた回数で表示する。 その後、違っていた部分からa.とb.を行う。 と考えると、データの格納方法によってはポインタを使用してもしなくても処理できることになります。
- jacta
- ベストアンサー率26% (845/3158)
特定の処理系に特化するならともかく、ポインタを使わずに実装する方法は思いつきませんが...(関数呼出し演算子はオペランドに関数へのポインタを要求するので、ポインタを使わないと一切の関数が使えないため) 入力はどこからどのように行うのでしょうか? 表示はどこへどのように行うのでしょうか?
- arain
- ベストアンサー率27% (292/1049)
>英小文字か、英大文字か、数字を判定し、出力するには配列とポインタを使用するのだと予想してますが、 >プログラミングが全く進みません。 まず、進んでいるところまでのソースを公開してください。 ちなみに、ポインタなど使用せずともできます。
補足
>arainさん レスありがとうございます。 #include "stdafx.h" #include <iostream> using namespace std; int main() { までです。全く進んでいません。 ポインタを使用しなくても出来るのですか・・・。