このコードが間違った計算をしているのはなぜですか?

アマンカーンルーハーニ

このコードをデバッグしているときに、コードで説明されているsumの値が間違った結果をもたらす傾向があることに気付きました。なぜこれが起こっているのか理解できません。

私のプログラムは文字列を受け取り、その部分文字列を計算し、すべての部分文字列に存在する母音の数をカウントします。最後の合計値は、同時にカウントされたすべての母音の合計です。

私はすでにコードを介してデバッグを試みましたが、コードの何が問題になっているのか理解できません

#include <iostream>
using namespace std;

int main()
{
long long int t,j,n,l,count=0,sum=0;
cin>>t;
string s;
//char i;
while(t>0)
{
    l=0;
    sum=0;
   count=0;
    cin  >>  s;
    n= s.length();
    for(j=0;j<n;j++)
    {
        if(s[j]=='a' || s[j]=='e' || s[j]=='i' || s[j]=='o' || s[j]=='u' || s[j]=='A'|| s[j]=='E' || s[j]=='I' ||s[j]=='O' || s[j]=='U')
        {
              count++;
             l=j;

             cout<<"l="<<j<<endl;
             cout<<"j="<<j<<endl;
             cout<<"n="<<n<<endl;
             cout<<"n-1="<<n-1<<endl;
             cout<<"j+1="<<j+1<<endl;

            sum=sum+((n-l)*(j+1));

            cout<<"SUM is="<<sum << endl;
        }
    }
     if(l==0)
        {
            sum=0;
        }
        cout<<"Second part Sum="<<endl;
    cout<<sum<<endl;
    t--;
}

}

プログラムはコンパイルされ、エラーメッセージなしで実行されます。ただし、合計の計算が正しくないため、論理エラーが発生します...ここに画像の説明を入力してください

なぜその合計= 20なのですか?、25または35にする必要があります。

明確にするために、これはこのソリューションの問題ステートメントです:https//www.hackerearth.com/practice/basic-programming/complexity-analysis/time-and-space-complexity/practice-problems/algorithm/vowel-game- f1a1047c /

Shakibuz_Zaman

プログラムからの出力は正しいです。なぜあなたはそれが25/30であるべきだと思いますか?

あなたが書いた

sum=sum+((n-l)*(j+1));

j = 1の場合、l = j = 1 So(nl)(j + 1)=(6-1)(1 + 1)= 5 * 2 = 10

したがって、sum = sum +(nl)*(j + 1)= 0 + 10 = 10

j = 4の場合、l = j = 4

したがって、(nl)(j + 1)=(6-4)(4 + 1)= 2 * 5 = 10

したがって、sum = sum +(nl)*(j + 1)= 10 + 10 = 20

私はあなたがl(アルファベット)と1をいじっていると思います。あなたが書いた場合(n-l)*(j+1)、それは= 5 * 5 = 25の結果になります最終的な合計= 10 + 25 = 35

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

このコードが機能しないことはわかっていますが、見つけたコードが機能するのはなぜですか?何が間違ったコードを間違っているのですか?

分類Dev

Cの罪計算コードが間違った値を返すのはなぜですか?

分類Dev

ZPLを使用してEANのバーコードが間違っているのはなぜですか

分類Dev

文字列配列の回文のこのコードが間違っているのはなぜですか

分類Dev

なぜこれは次のコードの出力がGO言語で間違っているのですか?

分類Dev

このJavaコードは正しいと見なされますが、間違った答えを出力するのはなぜですか?

分類Dev

次のPythonコードが間違っているのはなぜですか?

分類Dev

連結すると、コードが間違った合計を返すのはなぜですか?

分類Dev

パラメータが間違っていても、Curve25519がキーペアを正しく計算するのはなぜですか?

分類Dev

角度コードが間違っているのはなぜですか?

分類Dev

コードが間違った出力を表示するのはなぜですか?

分類Dev

コードをトレースしているときにたどるルートが間違っているのはなぜですか?

分類Dev

コードでwebelementsの値に対して間違った出力を取得するのはなぜですか?

分類Dev

この計算で間違った結果が生成されるのはなぜですか?

分類Dev

Railsがコントローラーで間違ったメソッドを実行しようとしているのはなぜですか?

分類Dev

macOS Visual Studioコードが間違ったPythonインタープリターを使用しているのはなぜですか?

分類Dev

マチンの公式を使用して円周率の値を計算すると、間違った値が得られるのはなぜですか?

分類Dev

整数除算コードが間違った答えを出すのはなぜですか?

分類Dev

なぜこのコードが間違っているのですか?'recur'はどのように機能しますか?

分類Dev

DHCPDが間違ったリース時間を提供しているのはなぜですか?

分類Dev

かっこがこの単純なコードに違いをもたらすのはなぜですか

分類Dev

フィボナッチ-なぜこれが間違った計算をするのですか?

分類Dev

メモリモデル図を使用してコードのo / pを計算するにはどうすればよいですか?なぜこれがセグメンテーション違反を引き起こしているのですか?

分類Dev

C ASCIIの乱数、なぜこのコードが間違っているのですか?

分類Dev

このCコードで間違った答えが返されるのはなぜですか?

分類Dev

この間違ったprintfの構文がcでエラーを生成しないのはなぜですか?

分類Dev

Dartでこの最終フィールドの初期化が間違っているのはなぜですか?

分類Dev

「browse」メソッドが存在しないIDを使用して間違ったレコードセットを返すのはなぜですか?

分類Dev

localscrollコードがどこで間違っているのですか?期間が機能しない

Related 関連記事

  1. 1

    このコードが機能しないことはわかっていますが、見つけたコードが機能するのはなぜですか?何が間違ったコードを間違っているのですか?

  2. 2

    Cの罪計算コードが間違った値を返すのはなぜですか?

  3. 3

    ZPLを使用してEANのバーコードが間違っているのはなぜですか

  4. 4

    文字列配列の回文のこのコードが間違っているのはなぜですか

  5. 5

    なぜこれは次のコードの出力がGO言語で間違っているのですか?

  6. 6

    このJavaコードは正しいと見なされますが、間違った答えを出力するのはなぜですか?

  7. 7

    次のPythonコードが間違っているのはなぜですか?

  8. 8

    連結すると、コードが間違った合計を返すのはなぜですか?

  9. 9

    パラメータが間違っていても、Curve25519がキーペアを正しく計算するのはなぜですか?

  10. 10

    角度コードが間違っているのはなぜですか?

  11. 11

    コードが間違った出力を表示するのはなぜですか?

  12. 12

    コードをトレースしているときにたどるルートが間違っているのはなぜですか?

  13. 13

    コードでwebelementsの値に対して間違った出力を取得するのはなぜですか?

  14. 14

    この計算で間違った結果が生成されるのはなぜですか?

  15. 15

    Railsがコントローラーで間違ったメソッドを実行しようとしているのはなぜですか?

  16. 16

    macOS Visual Studioコードが間違ったPythonインタープリターを使用しているのはなぜですか?

  17. 17

    マチンの公式を使用して円周率の値を計算すると、間違った値が得られるのはなぜですか?

  18. 18

    整数除算コードが間違った答えを出すのはなぜですか?

  19. 19

    なぜこのコードが間違っているのですか?'recur'はどのように機能しますか?

  20. 20

    DHCPDが間違ったリース時間を提供しているのはなぜですか?

  21. 21

    かっこがこの単純なコードに違いをもたらすのはなぜですか

  22. 22

    フィボナッチ-なぜこれが間違った計算をするのですか?

  23. 23

    メモリモデル図を使用してコードのo / pを計算するにはどうすればよいですか?なぜこれがセグメンテーション違反を引き起こしているのですか?

  24. 24

    C ASCIIの乱数、なぜこのコードが間違っているのですか?

  25. 25

    このCコードで間違った答えが返されるのはなぜですか?

  26. 26

    この間違ったprintfの構文がcでエラーを生成しないのはなぜですか?

  27. 27

    Dartでこの最終フィールドの初期化が間違っているのはなぜですか?

  28. 28

    「browse」メソッドが存在しないIDを使用して間違ったレコードセットを返すのはなぜですか?

  29. 29

    localscrollコードがどこで間違っているのですか?期間が機能しない

ホットタグ

アーカイブ