marcoa Postado Novembro 27, 2012 Denunciar Share Postado Novembro 27, 2012 (editado) estou usando o C++Builder6 para fazer o programa,criei esta função para inverter variaveis do tipo String.String inverter(String txt) { String invertida = "", temp = ""; for(int i = txt.Length(); i > 0; i--) { temp = temp + txt.SubString(i,1); } invertida = temp; return invertida; } queria faze-la sem ultilizar a variavel String e sim char[], tentei algo como: #define MAX 5 char inverter[MAX](char txt[MAX]) { char invertida[MAX] = "", temp[MAX] = ""; int n = 0; for(int i = MAX; i > 0; i--) { temp[n] = txt[i-1]; n++; } invertida = temp; return invertida; }mas não funciona, ajudem... Editado Novembro 28, 2012 por marcoa Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PedroCunha Postado Novembro 28, 2012 Denunciar Share Postado Novembro 28, 2012 Amigo, se quiser pode usar a string como char, pois você também pode acessar os índices dela. Não sei se é isso que você queria.Att.,Pedro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marcoa Postado Novembro 28, 2012 Autor Denunciar Share Postado Novembro 28, 2012 eu queria fazer essa memsa função que fiz com a String ultilizando um array de char, eu sei que a string pode ser ultilizada como char, mas queria tentar fazer essa função com um char mesmo.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PedroCunha Postado Novembro 28, 2012 Denunciar Share Postado Novembro 28, 2012 O i do laço for não deveria ser igual a MAX ?Você está igualando ele (uma int ) a txt[max] ( um array de chars ). Olhe isso e me diga se muda alguma coisa.Att.,Pedro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marcoa Postado Novembro 28, 2012 Autor Denunciar Share Postado Novembro 28, 2012 ah, ops, na hora de passar pra ca, digitei errado HEHEHEmas o problema mesmo é que não tem como fazer uma função c/ array de char Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PedroCunha Postado Novembro 28, 2012 Denunciar Share Postado Novembro 28, 2012 Não precisa fazer a função com array de char. Bastar usar ele dentro da função. Faça uma função void sem parâmetros, se for o caso.Att.,Pedro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marcoa Postado Novembro 28, 2012 Autor Denunciar Share Postado Novembro 28, 2012 ah, vlw :) funcionou Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PedroCunha Postado Novembro 28, 2012 Denunciar Share Postado Novembro 28, 2012 De nada.Poste o código, pois se caso alguém vier a ter a mesma que dúvida que você, poderá ver o que você fez.Att.,Pedro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marcoa Postado Novembro 28, 2012 Autor Denunciar Share Postado Novembro 28, 2012 (editado) acabei nem criando uma função, coloquei logo no main (da na mesma), muito obrigadoOBS: ultilizei scanf para facilitar a verificação da entrade de no maximo 10 digitos#include <stdio.h> #include <iostream.h> #define MAX 10 int main() { char entrada[MAX] = "" , temp[MAX] = "" , saida[MAX] = ""; cout << "Digite um texto de ate 10 caracteres:" << endl; scanf("%10s",&entrada); //transforma '' em ' ' (espaço) for(int y = 0; y < MAX; y++) { if(entrada[y] == '\0') { entrada[y] = ' '; } } int n = 0; for(int i = MAX; i > 0; i--) { temp[n] = entrada[i-1]; n++; } for(int y = 0; y < MAX; y++) { saida[y] = temp[y]; } //RETORNAR RESULTADOS system("CLS"); cout << "TEXTO NORMAL : \"" << entrada << "\"" << endl; cout << "TEXTO INVERTIDO: \"" << saida << "\"" << endl; system("PAUSE"); return 0; }OBS2: NA LINHA 15, por algum motivo o forum não deixou escrever:if(entrada[y] == '\0')o proprio forum substitui '\0' por '' Editado Novembro 28, 2012 por marcoa Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PedroCunha Postado Novembro 28, 2012 Denunciar Share Postado Novembro 28, 2012 É um bug do fórum. Várias pessoas já comentaram, mas ainda não foi consertado. Att.,Pedro Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
marcoa
estou usando o C++Builder6 para fazer o programa,
criei esta função para inverter variaveis do tipo String.
queria faze-la sem ultilizar a variavel String e sim char[], tentei algo como:mas não funciona, ajudem...
Editado por marcoaLink para o comentário
Compartilhar em outros sites
9 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.