Guest - Diogo - Postado Maio 10, 2006 Denunciar Share Postado Maio 10, 2006 3. Dado o programa:1. #define TAM 642. using namespace std;3. _______ StrConcatenar( _______ , _______ );4. _______ StrCopiar( _______ , _______ );5. int StrTam( char *s );6. int main() {7. char *str_1, *str_2, *str_3;8. str_1 = new char[TAM]; // aloca 64 bytes no heap9. cout << "String 1: ";10. cin.getline(str_1,TAM); // le uma frase para o str_111. str_2 = new char[TAM]; // aloca 64 bytes no heap12. cout << "String 2: ";13. cin.getline(str_2,TAM); // le uma frase para o str_214. StrCopiar(str_1,str_2); // chama a função StrCopiar15. str_3 = new char[TAM + TAM]; // aloca 128 bytes no heap16. StrConcatenar(str_3,str_1); // chama a função StrConcatenar17. StrConcatenar(str_3,” “); // chama a função StrConcatenar18. StrConcatenar(str_3,str_2); // chama a função StrConcatenar19. cout << endl << str_1;20. cout << endl << str_2;21. cout << endl << str_3;22. }23. int StrTam(char *s) {24. int t = 0; // variavel acumuladora para o tamanho25. while (*s) {26. t++;27. s++;28. }29. return t;30. }31. _______ StrCopiar( _______ , _______) {32. . . . . . . . . .33. }34. _______ StrCat(_______ , _______ ) {35. . . . . . . . . .36. }Com base no código fonte acima, implemente as seguintes funções:• StrCopiar – copia o conteúdo do segundo parâmetro para o primeiro parâmetro passados nachamada da função;StrConcatenar – concatena o conteúdo do segundo parâmetro logo em seguida do primeiroparâmetro passados na chamada da função. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 10, 2006 Denunciar Share Postado Maio 10, 2006 Por que você não utiliza strcat() e strcpy()?Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Maio 10, 2006 Denunciar Share Postado Maio 10, 2006 hehehehe...how?! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 10, 2006 Denunciar Share Postado Maio 10, 2006 hehehehe...how?!Como assim, "como"? Você está criando StrCopiar e StrConcatenar, mas estas funções já existem. Veja um exemplo:#include <stdlib.h> #include <stdio.h> #include <string.h> int main() { char s1[] = "Graymalkin"; char s2[50]; strcpy(s2, s1); printf("%s\n", s2); strcat(s2, " - http://www.gs.kitbr.com/"); printf("%s\n", s2); system("pause"); }Certo? ;)Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Maio 11, 2006 Denunciar Share Postado Maio 11, 2006 mas o que foi pedido pra que eu fizesse (exercicio) era criar essas funções Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 11, 2006 Denunciar Share Postado Maio 11, 2006 mas o que foi pedido pra que eu fizesse (exercicio) era criar essas funçõesAh, não tinha reparado que era um exercício. Bom, para copiar uma string em outra é só percorrer os elementos da primeira até encontrar o '\0' (caracter que determina o fim da string), colocando cada caracter na respectiva posição na segunda string (você pode utilizar um for para isso, manipulando a string como um vetor [o que ela é realmente]). A concatenação segue o mesmo princípio, você só terá apenas que encontrar o final da primeira string e começar a colocar os caracteres da segunda no final desta (e por fim colocar o terminador de strings).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Diogo -
3. Dado o programa:
1. #define TAM 64
2. using namespace std;
3. _______ StrConcatenar( _______ , _______ );
4. _______ StrCopiar( _______ , _______ );
5. int StrTam( char *s );
6. int main() {
7. char *str_1, *str_2, *str_3;
8. str_1 = new char[TAM]; // aloca 64 bytes no heap
9. cout << "String 1: ";
10. cin.getline(str_1,TAM); // le uma frase para o str_1
11. str_2 = new char[TAM]; // aloca 64 bytes no heap
12. cout << "String 2: ";
13. cin.getline(str_2,TAM); // le uma frase para o str_2
14. StrCopiar(str_1,str_2); // chama a função StrCopiar
15. str_3 = new char[TAM + TAM]; // aloca 128 bytes no heap
16. StrConcatenar(str_3,str_1); // chama a função StrConcatenar
17. StrConcatenar(str_3,” “); // chama a função StrConcatenar
18. StrConcatenar(str_3,str_2); // chama a função StrConcatenar
19. cout << endl << str_1;
20. cout << endl << str_2;
21. cout << endl << str_3;
22. }
23. int StrTam(char *s) {
24. int t = 0; // variavel acumuladora para o tamanho
25. while (*s) {
26. t++;
27. s++;
28. }
29. return t;
30. }
31. _______ StrCopiar( _______ , _______) {
32. . . . . . . . . .
33. }
34. _______ StrCat(_______ , _______ ) {
35. . . . . . . . . .
36. }
Com base no código fonte acima, implemente as seguintes funções:
• StrCopiar – copia o conteúdo do segundo parâmetro para o primeiro parâmetro passados na
chamada da função;
StrConcatenar – concatena o conteúdo do segundo parâmetro logo em seguida do primeiro
parâmetro passados na chamada da função.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.