• 締切済み

やってみてもわからないので教えてください

Quantの回答

  • Quant
  • ベストアンサー率18% (23/122)
回答No.2

#include <iostream> #include <string> using namespace std; int main() { char *b[10] = { "a","i","u","e","o","A","I","U","E","O" }; int i,p; string str; cout << "文字列の入力 -->>"; cin >> str; cout << str << "(母音有り)" << endl; for(i = 0;i < 10;i++) while((p = str.find(b[i])) != string::npos) str.replace(p,1," "); cout << str << "(母音無し)"; }

関連するQ&A

  • 任意の文字列を入力し、文字列に母音(a,i,u,e,o)が何個含まれているかをint型数値として返すような関数VowelNumber()を作成せよ。 また,この関数を使用して,キーボードから入力された文字列に母音が何個含まれているかを表示するプログラムを作成せよ。 <実行結果> 文字列の入力-->>university 母音は4個含まれています。

  • ある値以上のデータの個数を表示させる関数は?

    25行目から下に、複数のデータがあります。 E,G,I,K,M,O,Q,S,U,W の列だけで、 値が9以上であるセルの個数を 「 B列 」 に表示させる関数はどのようになりますでしょうか? よろしくお願い致します。 下記例の場合は、 9以上の値は、 4つありますのでB列に 「 4 」 と表示させます。 --------------- 実行前   A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 25             10    8     7     9     12     3     25     1     4     5 ・ ・ 実行後   A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 25    4        10    8     7     9     12     3     25     1     4     5 ・  

  • 教えてください14

    問題4 文字列を入力し、以下のように先頭から1文字ずつ削除して表示していくプログラムを作成せよ。 但し、ポインタを使用すること。 <実行結果> 英数字の文字列を入力してください(スペースなし) university university niversity iversity versity ersity rsity sity ity ty y

  • 母音って?

    恥ずかしい質問ですが、、、、 英語の場合の 母音とは、なんですか? 学校で、 先生がおっしゃったのは 「母音は a/i/u/e/o  それ以外は子音です。」 教育実習の先生は 「母音は a/i/u/e/o/y  それ以外は子音です。」  代理の先生がおっしゃったのは、 「a/e/i/o/u と たまに y は、母音字  それ以外は子音字です。」 母音?母音字? …何が何だかよくわかりません。 教科書には全く書いてありません。 アホな質問ですみませんが、 教えください。

  • 日本の母音の順番はナゼ、「あいうえお」なのか?

    IPA母音図や世界に認められた母音の順番は、「i,e,a,o,u」なのに、日本の五十音図における母音の順番は、どうして「a,i,u,e,o」なのですか?この違いはどこから生まれてくるのでしょうか。舌の動きによるものなのでしょうか。教えて下さい!

  • 順列・数え上げ

    よろしくお願いします。 ここに下のような390個の文字があります。 (A,B,C,D,E,F,G,H,I,J,K,L,M がそれぞれ10個ずつ、 N,O,P,Q,R,S,T,U,V,W,X,Y,Z がそれぞれ20個ずつあります。) この390個の文字から235文字を選んで一列に並べる方法は全部で何通りありますか。 A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z 以下、私が考えたことを書きます。 この390個の文字から235個の文字を選ぶ組み合わせの総数は、 (Σ[k=0~10]x^k)^13*(Σ[k=0~20]x^k)^13 を展開したときのx^235の係数ですから、 23463540513956137996043929988 通りだということは分かります。 この23463540513956137996043929988 通りのそれぞれについて235個の文字 の順列(同種のものを含む順列)を数え上げれば答えは出ると思いますが、これは あまりにも大変な作業です。 何かよい知恵はないでしょうか。

  • 入力した文字列から母音だけを出力するプログラム

    文字列を入力し母音だけを出力するプログラムを作りました。 以下だと小文字の母音しか出力できないので大文字にも対応させたいのですが、switch文のcaseを増やすと冗長になってしまう気がします。 switch文以外の方法でもっと簡潔に書く方法はありますか?ご教授お願い致します。 /* 入力した文字列のうち、母音「a,i,u,e,o」だけ出力する */ #include <stdio.h> #include <string.h> #define MAXSTR 256 int main(void) { char str[MAXSTR]; int i; gets(str); for (i = 0; i < strlen(str); i++) switch (str[i]) { case 'a': putchar(str[i]); break; case 'i': putchar(str[i]); break; case 'u': putchar(str[i]); break; case 'e': putchar(str[i]); break; case 'o': putchar(str[i]); break; } putchar('\n'); return 0; } 実行結果: What time is it now? aieiio

  • COUNTIF関数がうまく行かないとき

    Excel 2013です。 37385行14列の表で、二つの列のデータが重複している行を抽出したいとなりました。 二つの列のデータは分類番号のようなもので、ゼロから始まるものもあるので文字列として入力された数字です。 そこで、その二列をCONCATENATE関数で繋いだ数字の並び(N列に配置)をCOUNTIF関数で調べる(O列)ことにしました。 すると、N列の値が異なるセルを同じとみなしてカウントしたようなO列の値がいくつか見られました。 そこで、N列のセルにNUMBERVALUE関数を追加し数値にしたところ、一見うまくいっているようにみえます。 これはなぜ起きたのでしょうか? また、臨んだ結果が得られていると確認する方法がありますでしょうか? N列は文字列のときは文字列長0~18までありました。 よろしくお願いします。

  • 年齢のデータの羅列を一定の範囲としてまとめたような関数を使いたい

    年齢のデータの羅列を一定の範囲としてまとめたような関数を使いたい まずは下記のようなデータベースがあります。列データです。 A 65 B 64 C 63 D 62 E 61 F 59 G 58 H 58 I 58 J 57 K 56 L 55 M 55 N 55 O 53 P 51 Q 51 R 51 S 49 T 49 U 47 V 46 W 45 X 45 Y 43 Z 60 すなわちAさんは65歳、Uさんは47歳みたいなDBですが、 これを視聴率の世代区分みたいに新たに列を作るための関数を知りたいのです。 年齢列の右側に例えば25歳以下なら“イ”、31歳から35歳なら“ハ”、51歳から55歳なら“ト”のようにある世代の幅に該当する符号のようなものを自動的に反映させる関数を知りたいのです。 どなたか教えてください!!!

  • 関数を使った並び変え

    http://jisaku.155cm.com/src/1372508004_b43b6a8c117508111aa696420d6e2acaaf48a23a.jpg のようにL列~P列まですべて関数で表示させているセルがあります。(実際は1000行以上あります) これを、M列、N列、O列の順番で優先付けさせて並び変えたものをR~V列に表示させたいのですが、R~V列にどのような関数を入れればいいのでしょうか?