こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

C++の英数字の出力について

英数字を入力して、英小文字の場合はそのまま表示、
英大文字は2回、数字なら3回連続して表示するプログラムを作りたいと考えています。

(例)
abcde  →  abcde
ABCDE  →  ABCDEABCDE
12345  →  123451234512345
a1B2c  →  a111BB222c

英小文字か、英大文字か、数字を判定し、出力するには配列とポインタを使用するのだと予想してますが、
プログラミングが全く進みません。
どなたかご教授を、よろしくお願い致します。

投稿日時 - 2008-07-19 18:04:24

QNo.4188827

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

17人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

ABCDE  →  AABBCCDDEE
12345  →  111222333444555
じゃないと
a1B2c  →  a111BB222c
との整合性が取れないように思います

投稿日時 - 2008-07-21 10:30:37

ANo.3

No.1です
……えーと、数字や大文字小文字を判断する処理もないのですね。
では、まず必要な機能の抽出を行うことから始めてください。
・英数字を入力(しデータとして保持)する方法
・英字(大文字/小文字)、数字を判断する方法
がまず必要です。

重要な文字を繰り返して表示する部分は以下のように考えると楽です。
a.確認する最初の文字の格納場所と英数字の種別を記録しておく。
b.次の文字の種別を確認する。
 →a.と種別が同じならさらに次の文字を確認する
 →a.と種別が違っていたら一致していた部分までを種別にあた回数で表示する。
  その後、違っていた部分からa.とb.を行う。
と考えると、データの格納方法によってはポインタを使用してもしなくても処理できることになります。

投稿日時 - 2008-07-19 21:44:37

ANo.2

特定の処理系に特化するならともかく、ポインタを使わずに実装する方法は思いつきませんが...(関数呼出し演算子はオペランドに関数へのポインタを要求するので、ポインタを使わないと一切の関数が使えないため)

入力はどこからどのように行うのでしょうか?
表示はどこへどのように行うのでしょうか?

投稿日時 - 2008-07-19 21:34:15

ANo.1

>英小文字か、英大文字か、数字を判定し、出力するには配列とポインタを使用するのだと予想してますが、
>プログラミングが全く進みません。
まず、進んでいるところまでのソースを公開してください。
ちなみに、ポインタなど使用せずともできます。

投稿日時 - 2008-07-19 18:22:05

補足

>arainさん
レスありがとうございます。

#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{


までです。全く進んでいません。
ポインタを使用しなくても出来るのですか・・・。

投稿日時 - 2008-07-19 20:03:37

あなたにオススメの質問