以下のコードは機能しません。入力をabcaad
と入力すると、ファイルが動作を停止したことを示しています.Windowsは解決策を確認しています。文字ポインタの宣言の後にint i=0
を含めると、それは機能しています。誰かが理由を特定したり、助けてくれますか?ポインタを使用して同じ連続する文字の最長シーケンスの長さを見つける
文字列を入力するようにユーザを促し、 データメンバとメンバ関数へのポインタを使用して文字列内の同一の連続した文字 の最長シーケンスの長さを返すプログラムを開発します。 たとえば、 "aaaAAAAAjjB"という文字列では、同じ連続する文字のうち、最も長いシーケンスは です。 "AAAAA"です。
#include <iostream>
#include <fstream>
using namespace std;
fstream ob("js.txt");
int Search(char *ch)
{
int count1=0,count2=0;
for(int i=0;ch[i]!='\0';i++)
{
int j=0;
while(ch[j]!='\0')
{
if(ch[i]==ch[j])
count1++;
j++;
}
if(count2<count1)
{
count2=count1;
}
count1=0;
}
return count2;
}
int main()
{
char *c;
cout<<"Enter a string: ";
cin>>c;
cout<<"Longest no. of identical consecutive characters: "<<Search(c)<<endl;
}
「機能しない」とはどういう意味ですか?それはあなたのハードドライブをフォーマットしましたか、それともあなたの家を燃やしましたか? –
私は希望の出力を得ていないという意味です。 – justrockzz
'char * c;' => 'char c [100];'。しかし、C++では 'std :: string'を使うべきです。 –