Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lourival_ECA

Cadeias de vetores

Recommended Posts

Cara, essa eu achei muito dificil... tentei fazer usando o metodo para inversao de ordem , mas ai fica dando interminaveis loops, de outra forma, tb nao consigo imprimir de ondem inversa...Eu tenho q escrever um programa que receba uma string com ate 80 caracteres e imprima a string na ordem fornecida e tambem na ordem inversa.ou seja se eu entrar com : odracir iodeve imprimir: odracir ioe depois na ordem inversa: oi ricardoeu tentei fazer assim....#include <iostream.h>#include <stdlib.h>#include <conio.c>int main(){ int i; char frase[80]; for (i=0; i<1; i++) { cout << "Escreva uma frase......:" << " " ; cin.getline(frase, sizeof(frase)); cout << frase; } cout << "\n" ; cout << "Ordem inversa da frase...: "; for (i=1; i>0; i--) { cout << frase; }system("Pause");return 0;}Se alguem tiver uma sugestao ou outra forma de fazer, desde já agradeço! Valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pega a palavra e guarda no seu vetor, depois faz um loop e vai imprimindo por letra.

Logo depois você faz o loop inverso.

 

Tipo, deu um

for(i=0;palavra[i]!='\0';++i)
Quando acabar de imprimir a palavra você vai ter o i bem no ponto que você quer, e faz o loop inverso.

Levando i até zero novamente.

 

Se você puder usar o string.h fica mais besta ainda, é só dar uma olhada nessa biblioteca.

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <stdlib.h>

#include <conio.c>

 

int main()

{

 

Nao consegui entender o que você disse nao... Como devo fazer, tentei de outras formas mas... ele fica fazendo ate 8o vezes...

 

int i; char frase[80];

 

cout << "Escreva uma frase......:" << " " ;

for(i=0;frase!='\0';++i)

{

cin.getline(frase, sizeof(frase));

cout << frase;

}

cout << "\n" ;

cout << "Ordem inversa da frase...: ";

for(i=0;frase!='\0';++i)

{

cout << frase;

}

 

 

system("Pause");

return 0;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro você guarda a palavra na string palavra[80]P. Ex. gets(palavra)Depois você faz um loop imprimindo a palavra normal.Um for, ou um while até palavra[CONTADOR] = '\0'Pq '\0' ?Porque toda string no final tem um \0, isto indica que a string acabou.Ao mesmo tempo você incrementa um contador para saber qual a última posição.Depois você faz um loop inverso, começando deste contador e decrementando ele até o 0.Então você terá a palavra impressa normalmente e inversamente :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.