"Escreva um programa que leia uma string, conte quantos caracteres desta string são iguais a 'a' e substitua os que forem iguais a 'a' por 'b'. O programa deve imprimir o número de caracteres modificados e a string modificada."
a apostila está pedindo isso, mas eu não estou conseguindo escrever a string com os caracters modificados
int main()
{
char string[400];
int count = 0;
int i;
printf("Digite uma frase:\n->");
gets(string);
for(i=0;string[i];i++)
{
if (string[i]=='a')
count++;
}
if (count==1)
printf("\nA frase possui %d letra a\n",count);
else
printf("\nA frase possui %d letras a\n",count);
system("pause);
}
O programa le a string e conta quantas letras "a" ela tem, agora se quiser substituir o "a" por "x", como eu faço? tava tentando assim, mas não está dando certo :{
for(i=0;string[i];i++)
{
if (string[i]=='a')
string[i]=='x';
printf("%s",string);
}
o que está de errado?
Amigo nenhuma duvida e idiota, pois so de você ter tentando já e um grande sucesso
Quote from: "dshadw""Escreva um programa que leia uma string, conte quantos caracteres desta string são iguais a 'a' e substitua os que forem iguais a 'a' por 'b'. O programa deve imprimir o número de caracteres modificados e a string modificada."
a apostila está pedindo isso, mas eu não estou conseguindo escrever a string com os caracters modificados
int main()
{
char string[400];
int count = 0;
int i;
printf("Digite uma frase:\n->");
gets(string);
for(i=0;string[i];i++)
{
if (string[i]=='a')
count++;
}
if (count==1)
printf("\nA frase possui %d letra a\n",count);
else
printf("\nA frase possui %d letras a\n",count);
system("pause);
}
O programa le a string e conta quantas letras "a" ela tem, agora se quiser substituir o "a" por "x", como eu faço? tava tentando assim, mas não está dando certo :{
for(i=0;string[i];i++)
{
if (string[i]=='a')
string[i]=='x';
printf("%s",string);
}
o que está de errado?
voce temq usar a atribuição '=', voce esta usando a comparacao '=='

int cont=0;
for(i=0;i<string[i];i++)
{
if (string[i]=='a'){
string[i]=='x';
cont++;
}
}
printf("%s",string);
so corrigindo:
Quoteint cont=0;
for(i=0;i;i++)
{
if (string=='a'){
string='x';
cont++;
}
}
printf("%s",string);
dudeabot ficaria melhor assim!
void main()
{
char string[400];
int cont = 0;
int i;
printf("Digite uma frase:\n->");
gets(string);
for(i=0;string[i];i++)
{
if (string[i]=='a')
cont++;
}
if (cont==1)
printf("\nA frase possui %d letra a\n",cont);
else
printf("\nA frase possui %d letras a\n",cont);
for(i=0;i<string[i];i++)
{
if (string[i]=='a')
{
string[i]='x';
cont++;
}
}
printf("\nSubstituindo as letras a por x");
printf("\n%s",string);
}
agradeço a todos :}
@dudeabot
era isso mesmo, depois de um tempo eu lembrei disso ¬¬
ai eu tinha colocado
for(i=0;string[i];i++)
{
if (string[i]=='a') string[i]='x';
printf("\nString modificada:\n%s\n\n\n",string);
}
Ai ele mostrava a palavra ao mesmo numero de caracters, tipo, "Fernando" ele mostrava
FernandoFernandoFernandoFernandoFernandoFernxndoFernxndoFernxndo
depois eu tirei o printf do for, ai deu certo :}
for(i=0;string[i];i++)
{
if (string[i]=='a') string[i]='x';
}
printf("\nString modificada:\n%s\n\n\n",string);
system("pause");
era isso mesmo :}
agradeço a todos, eu vou continuar estudando c++ e assim que conseguir fazer algum programa util eu posto aqui no fórum ^^
t+