Autor
|
Tema: Necesito hacer un programa en C (Leído 3,347 veces)
|
Byron15
Desconectado
Mensajes: 2
|
El programa me tiene que decir por ejemplo si yo introduzco la letra "A" o "a" que me diga 1 si introduzco la Z que me diga 27, o sea que me diga la posicion de la letra en el alfabeto
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
¿Y que hiciste hasta ahora? Aca no se hacen tareas, se resuelven dudas puntuales.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
Byron15
Desconectado
Mensajes: 2
|
#include <stdio.h> #include <ctype.h> signed int busqueda(char caracter); int main() { char cadena[200]; scanf("%199[^\n]", cadena ); for(signed int i = 0; cadena[i] != '\0'; i++) printf("%c = %d\n", cadena [i ], busqueda (cadena [i ])); return 0; } signed int busqueda(char caracter) { char abecedario[] = "abcdefghijklmnopqrstuvwxyz"; for(signed int i = 0; abecedario[i] != '\0'; i++) if(tolower(caracter ) == abecedario [i ]) return i+1; }
Tengo esto, pero al intentar ejecutarlo me da un error. MOD: Etiquetas de Código GeSHi
|
|
« Última modificación: 17 Febrero 2022, 22:08 pm por K-YreX »
|
En línea
|
|
|
|
K-YreX
|
Estaría bien si te da un error, que pusieras el error para facilitar el trabajo a quienes intentan ayudar... Seguramente el error diga algo así como que la función 'busqueda()' no devuelve ningún valor y es porque qué pasa si metes un número? La función busqueda() recorre todas las letras, no encuentra el número y qué? Qué devuelve? Ahora mismo: NADA. Por estandarizar se suele hacer que cuando no se encuentra un índice, se devuelva un -1: int findAlphabeticIndex(char character) { int index = -1; char alphabet[] = "abcd..."; char lower_character = tolower(character ); for(int i = 0; i < strlen(alphabet ) && index == -1; ++i ) if(lower_character == alphabet[i]) index = i + 1; return index; }
O sino... MAGIC!! int findAlphabeticIndex(char character) { char lower_character = (character >= 'A' && character <= 'Z') ? character + ('a' - 'A') : character; return (lower_character >= 'a' && lower_character <= 'z') ? lower_character - 'a' + 1 : -1; }
PD: Yo cambiaría la línea 8 de tu programa por: fgets(cadena , 200, stdin );
|
|
« Última modificación: 17 Febrero 2022, 22:27 pm por K-YreX »
|
En línea
|
cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
|
|
|
fary
|
Mirando la tabla ASCII. Mi idea. int Busqueda(char Caracter) { if ((int)Caracter >= 97 ) { return ((int)Caracter) - 96; }else{ return ((int)Caracter) - 64; } }
|
|
|
En línea
|
Un byte a la izquierda.
|
|
|
dario01dr
Desconectado
Mensajes: 17
|
Hola, te dejo una idea de como hacerlo Salu2. #include <stdio.h> #include <string.h> #include <ctype.h> int main() { char alfabeto[26] = {'a','b','c','d','e','f', 'g','h','i','j','k','l','m','n','o','p','q', 'r','s','t','u','v','w','x','y','z' }; char letra; int i; printf("Ingrese una letra del alfabeto: "); scanf("%c",&letra); letra = tolower(letra); for (i=0; i<strlen(alfabeto); i++) { if (letra == alfabeto[i]) printf("%d",i+1); } return 0; }
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Necesito un programa para hacer instalación...
Software
|
EuroHack
|
7
|
3,429
|
18 Mayo 2011, 21:39 pm
por EuroHack
|
|
|
necesito hacer un programa en consola
Programación General
|
NegoMan
|
0
|
2,441
|
11 Julio 2012, 19:39 pm
por NegoMan
|
|
|
hacer un programa en c++necesito ayuda
Programación C/C++
|
aneudys
|
1
|
1,990
|
1 Octubre 2012, 16:12 pm
por 0xDani
|
|
|
necesito una gran ayuda en hacer un programa es urgente
Programación General
|
JrFx
|
2
|
2,415
|
11 Octubre 2013, 20:09 pm
por 1mpuls0
|
|
|
Necesito ayuda para hacer un programa de c++
Programación C/C++
|
MaximoMeridio28
|
2
|
2,456
|
6 Marzo 2019, 23:39 pm
por srWhiteSkull
|
|