Autor
|
Tema: Programa en C reemplaza las vocales del texto introducido por la siguiente vocal (Leído 18,529 veces)
|
ERIK546
|
Hola a todos, solicito su ayuda para que me digan la razón por la cual el siguiente programa, aunque compila y se ejecuta correctamente, no arroja los resultados esperados. El siguiente programa tiene por objetivo de un texto introducido, cambiar las vocales por la vocal siguiente e imprimir dicho mensaje. Un ejemplo: Al ingresar la palabra: "vestuario", tendría que regresar la palabra "vistaerou".Les dejo el código:#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; char t[10]; printf("Programa que cambia las vocales de un texto por la siguiente vocal\n"); printf("Introduce el texto\n"); for(i=0;i!='\0';i++){ if(t[i]=='a'){ t[i]=='e'; } if(t[i]=='e'){ t[i]=='i'; } if(t[i]=='i'){ t[i]=='o'; } if(t[i]=='o'){ t[i]=='u'; } if(t[i]=='u'){ t[i]=='a'; } } return 0; }
Gracias a todos de antemano.
|
|
|
En línea
|
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
Usas un operador relacional en vez de uno de asignacion.
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
ERIK546
|
Ya lo he corregido y corre a la perfección. Sin embargo tengo duda sobre como una cadena de caracteres podría tomar cualquier tamaño; dependiendo del texto que le sea ingresado, buscaría algo así como un "malloc" para esta cadena de caracteres. Ya que de momento solo podría hacer dichas operaciones para un máximo de 9 caracteres. Gracias por la corrección.#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { int i; char t[10]; printf("Programa que cambia las vocales de un texto por la siguiente vocal\n"); printf("Introduce el texto\n"); for(i=0;i<10;i++){ if(t[i]=='a'){ t[i]='e'; } else if(t[i]=='e'){ t[i]='i'; } else if(t[i]=='i'){ t[i]='o'; } else if(t[i]=='o'){ t[i]='u'; } else if(t[i]=='u'){ t[i]='a'; } } return 0; }
También me gustaría saber ¿Porqué no funciona la siguiente condición "if"?, (poniéndola en lugar de la anterior); les dejo escrita la condición, sin embargo poniéndola el programa no hace lo establecido.for(i=0;i!='\0';i++){....}
|
|
|
En línea
|
|
|
|
criskapunk
Desconectado
Mensajes: 277
|
Quizás me equivoque, pero no estarías comperando un número con un caracter ahí?
|
|
|
En línea
|
|
|
|
maxim_o
Desconectado
Mensajes: 186
|
Si, yo creo que eso que dices, compara un numero con el caracter nulo... i nunca a valer '/0'. La condicion deberia ser t[i]!='/0'
|
|
|
En línea
|
|
|
|
ERIK546
|
Si, yo creo que eso que dices, compara un numero con el caracter nulo... i nunca a valer '/0'. La condicion deberia ser t[i]!='/0'
Hola muchas gracias maxim_o lo he solucionado con lo que me dices, además me di cuenta que solo funcionaba para cadenas de caracteres sin espacios, al usar "scanf" para guardar el texto en el arreglo, así que he utilizado gets(*) para poder trabajar con escritos completos. Gracias por todo me ha sido de mucha ayuda. Les dejo el código terminado:#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { int i; char t[20]; printf("Programa que cambia las vocales de un texto por la siguiente vocal\n"); printf("Introduce el texto\n"); for(i=0;t[i]!='\0';i++){ if(t[i]=='a'){ t[i]='e'; } else if(t[i]=='e'){ t[i]='i'; } else if(t[i]=='i'){ t[i]='o'; } else if(t[i]=='o'){ t[i]='u'; } else if(t[i]=='u'){ t[i]='a'; } } return 0; }
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Python] - Texto sin vocales
« 1 2 »
Scripting
|
ChicoMaravilla
|
18
|
24,753
|
11 Enero 2011, 16:57 pm
por Karcrack
|
|
|
[Duda] Buscar una palabra en un texto y reemplazar lo siguiente...
Programación Visual Basic
|
Hurubnar
|
4
|
4,991
|
31 Agosto 2011, 19:40 pm
por Hurubnar
|
|
|
Programa con acciones: contador de vocales y consonantes
Programación C/C++
|
street_21
|
3
|
33,075
|
16 Enero 2012, 14:42 pm
por rir3760
|
|
|
Apuntadores, calcular cuantas vocales, consonantes y letras tiene un texto.
Programación C/C++
|
Alex Seahorse
|
1
|
9,036
|
19 Abril 2012, 20:23 pm
por Alex Seahorse
|
|
|
Programa Vocal Imitation
Ingeniería Inversa
|
4C0T
|
3
|
3,201
|
7 Agosto 2015, 23:39 pm
por MCKSys Argentina
|
|