{
char a[80],b[4]="aba";
char *p=b;
int s,r=0;
cout<<"Vvedite stroku"<<endl;
cin.getline(a,80); // ввод строки
cout<<"\n";
cout<<"vvedennaya stroka"<<"----->"<<a<<"\n";
for(s=1;s<a[80];s++)
{
if(s=*p) r++;
}
cout<<"koli4estvo aba ="<<r<<endl;
return 0;
}
Количество подстрок в строке(С++)
Программа должна считать коль-во подстрок "aba" в строке.
Чет у меня не получаеться. Вот код, скажите что исправить::
Код:
[COLOR="Red"]Во-первых,не надо устанавливать сроки;во-вторых,перед тем как создавать тему надо прочитать Правила раздела Студентам.В названии темы надо указывать язык программирования(отредактировал) и название должно отражать суть задачи, а не сигнал SOS.[/COLOR]модератор.
Код:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char a[81];
const char b[]="aba";
cout<<"Vvedite stroku: ";
cin.getline(a,80);
cout<<"Ishodnaya stroka : "<<a<<endl;
int count=0;
char *p=a;
do {
p=strstr(p,b);
if (p != NULL)
{
count++;
p++;
}
else
break;
} while (true);
cout<<"Kolichestvo 'aba' = "<<count;
return 0;
}
#include <cstring>
using namespace std;
int main() {
char a[81];
const char b[]="aba";
cout<<"Vvedite stroku: ";
cin.getline(a,80);
cout<<"Ishodnaya stroka : "<<a<<endl;
int count=0;
char *p=a;
do {
p=strstr(p,b);
if (p != NULL)
{
count++;
p++;
}
else
break;
} while (true);
cout<<"Kolichestvo 'aba' = "<<count;
return 0;
}
Праграмма работает.
А Паскаль действительно оставил след у меня в памяти