[Off] Desafio - String Reverse
#1

Estou trazendo um desafio a vocкs: criar um string reverse mais otimizado possнvel. Eu utilizei uma certa lуgica que ao tйrmino do desafio, irei postar, foi a melhor lуgica que consegui achar. Pra quem nгo sabe, string reverse й uma funзгo pra reverter uma string, ex.: Vocк entra com Gusgato e ela lhe retorna otagsuG.

Que comece o desafio

Conseguiram:

Nome
DanDRT
Juniiro3
iHarzard
Dolby
leonardo1434
Kikito
Ken/Rjjj
Reply
#2

pawn Код:
stock sreverse(string[])
{
    new _@result[128], u = -1;
    for(new i = strlen(string); i ^ 0;)
        _@result[++u] = string[--i];
    return _@result;
}
Dpois de muita luta consegui.
Reply
#3

Pode ser feito em C/++?
Reply
#4

Quote:
Originally Posted by Kikito
Посмотреть сообщение
Pode ser feito em C/++?
Sim.
Reply
#5

PHP код:
#include <stdio.h>
#include <conio.h>
#define MAX 128
void ReverseSTR(char str[]);
int main(int argcchar** argv) {
    
ReverseSTR("Kikito");
    return 
1;
}
void ReverseSTR(char str[]) {
    
int size sizeof(str)+1;
    
char reverse[MAX];
    
int letra 0;
    for (
int i size>= 0i--) {
        
reverse[letra] = str[i];
        
letra++;
    }
    
reverse[letra++] = '\0';
    
printf("Letra introduzida: %s\nLetra ao contrario: %s\n"strreverse);
    
_getch();

Introduzido: Kikito
Devolvido: otikiK

Jб estou um pouco a dormir... o meu raciocнnio а noite й lento...
Reply
#6

Nгo testei.

pawn Код:
stock reverter(string[])
{
    new StrReverse[10];
    for(new i = strlen(string); i > -1; --i) StrReverse[strlen(StrReverse)] = string[i];
    return StrReverse;
}
Reply
#7

Quote:
Originally Posted by Kikito
Посмотреть сообщение
Introduzido: Kikito
Devolvido: otikiK

Jб estou um pouco a dormir... o meu raciocнnio а noite й lento...
Eu introduzi outra palavra qualquer, veja o resultado:

Letra introduzida: PORTUGAL
Letra ao contrario: GUTROP

Quote:
Originally Posted by iHarzard
Посмотреть сообщение
Nгo testei.

pawn Код:
stock reverter(string[])
{
    new StrReverse[10];
    for(new i = strlen(string); i > -1; --i)  StrReverse[strlen(StrReverse)] = string[i]
    return StrReverse;
}
Vocк esqueceu ponto e virgula no final da linha, tirando isto ficou funcional.
Reply
#8

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Eu introduzi outra palavra qualquer, veja o resultado:

Letra introduzida: PORTUGAL
Letra ao contrario: GUTROP
Estou a dormir, totalmente.. jб venho cб por outro cуdigo.

@edit, aqui vai:
PHP код:
#include <iostream>
void ReverseSTR(char str[]);
int main(int argcchar** argv) {
    
ReverseSTR("America do Norte");
    return 
1;
}
void ReverseSTR(char str[]) {
    for (
int i std::strlen(str) - 1!= -1i--) {
        
printf("%c"str[i]);
    }
    
printf("\n");
    
std::system("pause");

Reply
#9

Quote:
Originally Posted by Kikito
Посмотреть сообщение
Estou a dormir, totalmente.. jб venho cб por outro cуdigo.
Agora esta funcional Kikito, porйm vocк imprime, e nгo retorna a string, entгo nгo vale

Agora irei postar a melhor forma que achei atй agora:

pawn Код:
stock Reverse(input[], output[])
{
     new i,g;
     for(i = strlen(input)-1,g = 0; i+1 ^ 0; --i, ++g)
         output[g] = input[i];
     return output;
}
Reply
#10

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Agora esta funcional Kikito, porйm vocк imprime, e nгo retorna a string, entгo nгo vale
Deves estar a brincar... >.>

Feito em pawn:
pawn Код:
#define MAX 128
////////////////////////
stock ReverseSTR(str[])
{
    new devolve[MAX], letra = 0;
    for(new i = strlen(str) -1; i >= 0; i--, letra++) {
        devolve[letra] = str[i];
    }
    devolve[letra++] = '\0';
    return devolve;
}
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)