Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Función primera letra de una palabra

Estas en el tema de Función primera letra de una palabra en el foro de C/C++ en Foros del Web. Hola. Tengo esta función: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original /* Crear una función que devuelva la primera letra de una cadena de texto. Probar ...
  #1 (permalink)  
Antiguo 11/02/2012, 17:08
 
Fecha de Ingreso: enero-2012
Mensajes: 68
Antigüedad: 12 años, 3 meses
Puntos: 0
Función primera letra de una palabra

Hola.

Tengo esta función:

Código C:
Ver original
  1. /* Crear una función que devuelva la primera letra de una cadena de texto. Probar esta
  2. función para calcular la primera letra de la frase “Hola” */
  3.  
  4. #include <stdio.h>
  5.  
  6. char primeraLetra(char n[10])
  7. {
  8.     printf("Introduce una palabra");
  9.     gets(n);
  10.     return n[0];
  11. }
  12.  
  13. int main()
  14. {
  15.     char letra[10], palabra[10];
  16.    
  17.     letra = primeraLetra(palabra);
  18.     printf("La primera letra de la palabra es \"%s\"", letra);
  19.    
  20.     getchar();
  21.     printf("Pulse Intro para cerrar el programa");
  22.     getchar();
  23. }

¿Qué es lo que está mal? Llevo un rato y no consigo encontrar el error...

Gracias.

Saludos.
  #2 (permalink)  
Antiguo 11/02/2012, 17:33
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: Función primera letra de una palabra

Hola! si a letra solo le vas a guardar un caracter para que lo definis como un arreglo??

Si no me equivoco en letra se almacena el valor devuelto por primeraLetra(palabra); pero el problema esta en que queres imprimir con formato %s. %s exige q toda cadena termine en '\0'


Saludos
  #3 (permalink)  
Antiguo 11/02/2012, 17:48
 
Fecha de Ingreso: enero-2012
Mensajes: 68
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Función primera letra de una palabra

¡Muchas gracias!

¿Y si quisiera poner la última letra? No se me ocurre qué puedo hacer para que "elegir" la "última" letra de la cadena "palabra".

Gracias.

Saludos.
  #4 (permalink)  
Antiguo 11/02/2012, 18:00
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: Función primera letra de una palabra

Recorre el arreglo hasta encontrar la ultima letra, xq ej:
char ch;
for(i=0;arreglo[i]!=NULL;i++)
ch=arreglo[i]; // en ch se almacena todo el tiempo un caracter solo que cuando la condicion del for sea falsa en ch va a estar el ultimo caracter
return ch;

tambien podrias contar la cantidad de letras que tiene el arreglo y retornar la ultima posicion
return arreglo[cantLetras -1];

Saludos
  #5 (permalink)  
Antiguo 11/02/2012, 18:26
 
Fecha de Ingreso: enero-2012
Mensajes: 68
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Función primera letra de una palabra

Muchísimas gracias, ya me ha quedado claro.

Saludos
  #6 (permalink)  
Antiguo 12/02/2012, 11:39
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 327
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: Función primera letra de una palabra

n[0] = siempre será la primera posición
n[x]= será la última que la tienes que recorrer con un for o un while

Si tienes que buscar 2 palabras en un array ejemplo "hola maria"
n[0]=h

Luego puedes hacer un for diciendo que empiezes por els espacio en blanco "_" o con un for dentro if , creo que se puede :)

Etiquetas: letra, palabra, primera, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:02.