Autor
|
Tema: [C] Contador de dígitos (Leído 2,596 veces)
|
GGZ
Desconectado
Mensajes: 144
|
Buenas! #include <stdio.h> int main() { int c, i; int ndigit[10]; for (i = 0; i < 10; i = i + 1) { ndigit[i] = 0; } if ( c >= '0' && c <= '9') { ++ndigit[c - '0']; } } //Muestra OMIT for (i = 0; i < 10; i = i + 1) { printf("%d -> %d\n", i , ndigit [i ]); } }
No entiendo esta línea ++ndigit[c - '0']; si le sacás el '0' no funciona. ¿Por qué, para qué sirve eso? Saludos
|
|
|
En línea
|
LET'S DO STUFF!!
|
|
|
engel lex
|
esto es un aporte, una duda o que?
al código le falta el return del final
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
GGZ
Desconectado
Mensajes: 144
|
Ahí lo acabo de editar ya puse mi duda, perdón!
|
|
|
En línea
|
LET'S DO STUFF!!
|
|
|
engel lex
|
if ( c >= '0' && c <= '9') { ++ndigit[c - '0']; }
si c está entre '0' y '9' (recordando que son char porque están entre comillas) a ndigit en la posición x (si c es un char de un numero, entonces al restarle '0' quedaría tabulado a 0) se le suma 1... es decir... si el numero es '3' que vale 51... si a 51 le restamos 48 (que es '0') nos queda 3, entonces a ndigit[3] se le suma 1 (++)
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
GGZ
Desconectado
Mensajes: 144
|
Claro, ahora entendo lo que decís pero si yo hago un ++ndigit[(int)c]; ¿Qué estaría haciendo ahí , por qué no funcioan eso?
¿ Debería usar atoi ?
Edit: No tampoco
O sea si quiero pasar de un char a un int pero de otra manera.
|
|
« Última modificación: 17 Septiembre 2015, 06:02 am por nisteeklod »
|
En línea
|
LET'S DO STUFF!!
|
|
|
engel lex
|
no e necesario atoi ahí, está bien como se usa ahí el código... a pesar que los char sean interpretados como letras por las impresiones de sistema, también son interpretados como números porque básicamente eso son
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Hash 8 digitos
Nivel Web
|
Kerber0
|
2
|
3,334
|
15 Julio 2010, 22:32 pm
por ~ Yoya ~
|
|
|
calculadora de 30 digitos
« 1 2 »
Programación C/C++
|
peterfly
|
19
|
15,072
|
2 Julio 2011, 01:22 am
por Nork
|
|
|
Clave wpa 13 digitos
Hacking Wireless
|
andvilla07
|
5
|
4,554
|
27 Marzo 2013, 22:16 pm
por dato000
|
|
|
Contador de Digitos Numeros Pares
Programación C/C++
|
Seeven
|
3
|
8,525
|
21 Septiembre 2014, 10:26 am
por Seeven
|
|
|
Contador separando digitos - ayuda! (C++)
Programación C/C++
|
Federicoide
|
1
|
2,604
|
20 Febrero 2020, 20:05 pm
por Federicoide
|
|