Faça um programa em linguagem C que leia uma palavra digitada pelo usuário e a armazene em um vetor do tipo (string). Seu programa deve então escrever a palavra lida na tela, mas substituindo todas os caracteres "a" ou "A" pelo caractere "@". Por exemplo, se a palavra digitada pelo usuário for "Amora", o programa deverá escrever "@mor@". Admita que a palavra digitada poderá conter até, no máximo, 10 letras (isto é, seu programa deverá funcionar normalmente com qualquer palavra digitada pelo usuário que tenha de 1 a 10 letras).
Soluções para a tarefa
Respondido por
1
Resposta:
Strings e cadeias de caracteres

Grande parte dos dados no mundo todo tem a forma de texto. Em outras palavras, grande parte dos dados está em cadeias de caracteres. Muitas dessas cadeias estão armazenadas como strings em arquivos digitais. Este capítulo discute os conceitos de cadeia de caracteres e string e a relação entre esses conceitos.
Strings
Na linguagem C, uma string é um vetor de bytes em que o byte nulo 00000000 é interpretado como uma sentinela que marca o fim da parte relevante do vetor. Eis um pequeno exemplo de string:
01000001 01000010 01000011 00000000 01000100
(os símbolos 0 e 1 representam bits). Nesse exemplo, apenas os 4 primeiros bytes constituem a string propriamente dita.
O comprimento (= length) de uma string é o seu número de bytes, sem contar o byte nulo final. (Assim, a string do exemplo acima tem comprimento 3.) Uma string é vazia se tem comprimento zero.
Cada byte de uma string é tratado como um char, e portanto uma string é um vetor de chars. Entretanto, para evitar confusão entre char e caractere, podemos adotar byte como sinônimo de char:
typedef char byte;
O endereço de uma string é o endereço do seu primeiro byte. Em discussões informais, é usual confundir uma string com o seu endereço. Assim, a expressão considere a string str deve ser entendida como considere a string cujo endereço é str. O seguinte exemplo constrói uma string str byte-a-byte:
byte *str; str = malloc (10 * sizeof (byte)); str[0] = 65; str[1] = 66; str[2] = 67; str[3] = 0; str[4] = 68;
Depois da execução desse fragmento de programa, o vetor str[0..3] contém a string 01000001 01000010 01000011 00000000. A porção str[4..9] do vetor é ignorada.
Poderíamos tratar strings como um novo tipo-de-dados. Para isso, bastaria introduzir o typedef abaixo e passar a escrever string no lugar de byte *.
typedef byte *string;
Explicação:
espero ter ajudado vc
washingtonantop0g46l:
Ajudou e muito. Obrigado.
Perguntas interessantes
Matemática,
4 meses atrás
Matemática,
4 meses atrás
Matemática,
4 meses atrás
História,
5 meses atrás
Filosofia,
5 meses atrás
Filosofia,
10 meses atrás
Matemática,
10 meses atrás