Elaborati un program care:
a)determina numarul de aparitii ale caracterului 'A' intr-un sir;
b)substituie caracterul 'A' prin caracterul '*';
c)radiaza din sir caracterul 'B';
d)determina numarul de aparitii ale silabei 'MA' intr-un sir.
Am nevoie de ajutor :(
Răspunsuri la întrebare
Răspuns de
25
# include<iostream>
# include<string.h>
using namespace std;
int main()
{
char s[100],cs[100],silaba[]="MA",copy2s[100];
unsigned nr=0,i;
cin.get(s,100);
// Aici vom rezolva cerinta de la punctul a
for(i=0;i<strlen(s);i++)
{
if(strchr("A",s[i]))
nr++;
}
cout<<nr;
cout<<endl;
// Rezolvare punct b
strcpy(cs,s);
strcpy(copy2s,s);
for(i=0;i<strlen(s);i++)
if(strchr("A",s[i]))
s[i]='*';
cout<<s<<endl;
// Rezolvare punct c
for(i=0;i<strlen(cs);i++)
if(strchr("B",cs[i]))
{strcpy(cs+i,cs+i+1);
i--;}
cout<<cs<<endl;
// Rezolvare punct d
nr=0;
for(i=0;i<strlen(copy2s);i++)
if(strstr(copy2s,silaba))
{nr++;
strcpy(copy2s+i,copy2s+i+2);
i=i-1;}
cout<<nr;
return 0;
}
Sper ca te-am ajutat ! Daca nu intelegi ceva poti sa ma intrebi .
# include<string.h>
using namespace std;
int main()
{
char s[100],cs[100],silaba[]="MA",copy2s[100];
unsigned nr=0,i;
cin.get(s,100);
// Aici vom rezolva cerinta de la punctul a
for(i=0;i<strlen(s);i++)
{
if(strchr("A",s[i]))
nr++;
}
cout<<nr;
cout<<endl;
// Rezolvare punct b
strcpy(cs,s);
strcpy(copy2s,s);
for(i=0;i<strlen(s);i++)
if(strchr("A",s[i]))
s[i]='*';
cout<<s<<endl;
// Rezolvare punct c
for(i=0;i<strlen(cs);i++)
if(strchr("B",cs[i]))
{strcpy(cs+i,cs+i+1);
i--;}
cout<<cs<<endl;
// Rezolvare punct d
nr=0;
for(i=0;i<strlen(copy2s);i++)
if(strstr(copy2s,silaba))
{nr++;
strcpy(copy2s+i,copy2s+i+2);
i=i-1;}
cout<<nr;
return 0;
}
Sper ca te-am ajutat ! Daca nu intelegi ceva poti sa ma intrebi .
Alte întrebări interesante
Nu inteleg ce este "strcpy',"strchr","strlen", "cout" :(