関数を呼び出した後、なぜ無限ループに陥るのですか?

ローズ

文(std::string)とフレーズの束)の2つの引数を受け取る関数を作成することになっていstd::vector<std::string>>ます。ベクトルに含まれている文のすべての単語について、回文を作成し、それらを結合する必要があります(例:compile-> compileelipmoc)。また、2つのENTERが押されるまで、入力が使用可能であることを確認する必要があります。この問題は、関数を呼び出した後に発生し、無限ループに陥っているように見えます。なぜこの無限ループが発生するのですか?

#include <iostream>
#include <vector>
#include <string>
typedef std::vector<std::string> Vektor; 
typedef std::string String;

void ReverseString(String &s1)
{
char temp(0);
for(int i(0); i < s1.size()/2; i++) {
    temp = s1.at(i);
    s1.at(i) = s1.at(s1.length()-1-i);
    s1.at(s1.length()-1-i) = temp;
}
}

void CreatePalindrome(String s, Vektor v)
{
bool white_space(true);
bool go_on(false);
String compare;
for(int i(0); i < s.size(); i++) {
    for(;;) {
        if(s.at(i) == '\n' || i == s.size()-1) {
            go_on == true;
            break;
        }
        compare+=s.at(i);
    }
    if(go_on) {
        for(int j(0); j < v.size(); j++) {
            if(compare == v.at(j)) {
                ReverseString(v.at(j));
                if(i != s.size()-1) v.at(j)+=' ';
                s.insert(i, v.at(j));
            }
        }
    }
    compare.clear();
}
}

int main ()
{
String sentence, phrase;
Vektor v1;
char character(0);
std::cout << "Enter your sentence: ";
std::getline(std::cin, sentence);
std::cout << "Enter phrases: ";
for(;;) {
    character = std::cin.get();
    if(character == '\n') break;
    for(;;) {
        phrase.push_back(character);
        character = std::cin.get();
        if(character == '\n') break;
    }
    v1.push_back(phrase);
    phrase.clear();
}
CreatePalindrome(sentence, v1);
std::cout << "After the transformation, the sentence is: " << sentence;
return 0;
}
scohe001
for(;;) {
    if(s.at(i) == '\n' || i == s.size()-1) {
        go_on == true;
        break;
    }
    compare+=s.at(i);
}

あなたの唯一の方法はそれを経由することifですが、あなたはループでs変更もしないiので、決して壊れることはありません!

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Angular関数が無限ループで呼び出されるのはなぜですか?

分類Dev

ajaxまたはjavascript関数の呼び出し後に入力フィールドが無効になるのはなぜですか?

分類Dev

DB2 SQLで、すでに無限ループに陥っている再帰関数呼び出しを強制終了するにはどうすればよいですか。

分類Dev

なぜこれが無限ループに陥るのですか?

分類Dev

heightForRowAtIndexPathで関数を呼び出している間の無限ループ

分類Dev

getchar()で入力を取得すると、無限ループに陥るのはなぜですか?

分類Dev

関数呼び出し後にフィールドが切り捨てられるのはなぜですか?

分類Dev

関数呼び出し後にフィールドが切り捨てられるのはなぜですか?

分類Dev

「コマンド」なしでcd(シェル関数)からcd(組み込み)を呼び出すと、無限ループが発生するのはなぜですか?

分類Dev

fork()呼び出しを使用したcプログラムが無限ループを作成しないのはなぜですか?

分類Dev

無限のwhileループ内から呼び出されたときにsetTimeoutが呼び出されないのはなぜですか

分類Dev

なぜこれが無限ループに陥らないのですか?

分類Dev

このgithubプロジェクトを使用しようとすると、無限ループに陥るのはなぜですか?

分類Dev

関数を呼び出す角度の無限ループ

分類Dev

Error()メソッド内でfmt.Sprint(e)を呼び出すと、無限ループになるのはなぜですか?

分類Dev

ポストでの関数呼び出しを伴う無限ループ

分類Dev

マクロを使用してホームロール(reduce)関数を呼び出すと、関数の今後の呼び出しに影響するのはなぜですか?

分類Dev

window.setInterval() を使用した後に window.setTimeout() がループ呼び出しになるのはなぜですか

分類Dev

このbashプログラムが無限ループに陥るのはなぜですか?

分類Dev

C:メインから無限ループでスタックしている呼び出された関数を終了します

分類Dev

ループで呼び出された後、変数が変更されるのはなぜですか?

分類Dev

関数Aを呼び出したときに、関数A内の関数Bにパラメーターが渡されるのはなぜですか?

分類Dev

このコードが無限ループに陥るのはなぜですか?

分類Dev

関数を呼び出した後にループが終了する BASH

分類Dev

リーダーが無限ループに陥っているのはなぜですか

分類Dev

関数を呼び出すときのAngularJSの無限ループの呼び出し?

分類Dev

マルチプロセッシングによって呼び出された関数がメッセージを出力しないのはなぜですか?

分類Dev

なぜGCCを使用したあいまいな関数呼び出しなのですか?テンプレートの演繹に失敗しましたか?

分類Dev

コールバック関数が最後に呼び出されるのはなぜですか?関数をテストする方法は?

Related 関連記事

  1. 1

    Angular関数が無限ループで呼び出されるのはなぜですか?

  2. 2

    ajaxまたはjavascript関数の呼び出し後に入力フィールドが無効になるのはなぜですか?

  3. 3

    DB2 SQLで、すでに無限ループに陥っている再帰関数呼び出しを強制終了するにはどうすればよいですか。

  4. 4

    なぜこれが無限ループに陥るのですか?

  5. 5

    heightForRowAtIndexPathで関数を呼び出している間の無限ループ

  6. 6

    getchar()で入力を取得すると、無限ループに陥るのはなぜですか?

  7. 7

    関数呼び出し後にフィールドが切り捨てられるのはなぜですか?

  8. 8

    関数呼び出し後にフィールドが切り捨てられるのはなぜですか?

  9. 9

    「コマンド」なしでcd(シェル関数)からcd(組み込み)を呼び出すと、無限ループが発生するのはなぜですか?

  10. 10

    fork()呼び出しを使用したcプログラムが無限ループを作成しないのはなぜですか?

  11. 11

    無限のwhileループ内から呼び出されたときにsetTimeoutが呼び出されないのはなぜですか

  12. 12

    なぜこれが無限ループに陥らないのですか?

  13. 13

    このgithubプロジェクトを使用しようとすると、無限ループに陥るのはなぜですか?

  14. 14

    関数を呼び出す角度の無限ループ

  15. 15

    Error()メソッド内でfmt.Sprint(e)を呼び出すと、無限ループになるのはなぜですか?

  16. 16

    ポストでの関数呼び出しを伴う無限ループ

  17. 17

    マクロを使用してホームロール(reduce)関数を呼び出すと、関数の今後の呼び出しに影響するのはなぜですか?

  18. 18

    window.setInterval() を使用した後に window.setTimeout() がループ呼び出しになるのはなぜですか

  19. 19

    このbashプログラムが無限ループに陥るのはなぜですか?

  20. 20

    C:メインから無限ループでスタックしている呼び出された関数を終了します

  21. 21

    ループで呼び出された後、変数が変更されるのはなぜですか?

  22. 22

    関数Aを呼び出したときに、関数A内の関数Bにパラメーターが渡されるのはなぜですか?

  23. 23

    このコードが無限ループに陥るのはなぜですか?

  24. 24

    関数を呼び出した後にループが終了する BASH

  25. 25

    リーダーが無限ループに陥っているのはなぜですか

  26. 26

    関数を呼び出すときのAngularJSの無限ループの呼び出し?

  27. 27

    マルチプロセッシングによって呼び出された関数がメッセージを出力しないのはなぜですか?

  28. 28

    なぜGCCを使用したあいまいな関数呼び出しなのですか?テンプレートの演繹に失敗しましたか?

  29. 29

    コールバック関数が最後に呼び出されるのはなぜですか?関数をテストする方法は?

ホットタグ

アーカイブ