|
Mostrar Mensajes
|
Páginas: [1]
|
2
|
Programación / Programación C/C++ / Re: invertir el número entero
|
en: 21 Abril 2018, 02:14 am
|
Hola amigos, Rehice mi código y creé una función para contar dígitos. Mi programa funcionó hasta 8 dígitos, después de eso, el número fue invertido pero falta el último dígito pero no sé si es semántica error o debido a variable int. #include <stdio.h> #include <stdlib.h>
// função para contar digitos int contdigitos(int n);
int main() { int n,i; int *v; int nd=contdigitos(n); //como vetor é dinâmico ,usei a função malloc v =(int*) malloc (nd*sizeof(int)); printf("digite um numero:"); scanf("%i",&n); for (i=0;i<nd;i++) { v[i]=n%10; n=n/10;
printf("%i",v[i]); if (n<=0) break;} return 0;}
int contdigitos(int n) { if (n < 10) { return 1; } int contador = 0; while (n > 0) { n /= 10; contador++; } return contador; }
|
|
|
4
|
Programación / Programación C/C++ / invertir el número entero
|
en: 20 Abril 2018, 02:25 am
|
Hola Hola buenas tardes, Estoy haciendo un ejercicio para invertir un número (un número de la elección del usuario) ejemplo: 1234 se convierte en 4321 pero a pesar de que el programa se ejecuta, cuando pongo 3 dígitos o más, los números aparecen invertidos, pero falta 1 dígito ¿Alguien me puede ayudar? Olá boa tarde, Eu estou fazendo um exercício para inverter um numero(um numero da escolha do usuário) exemplo:1234 vira 4321 mas apesar do programa rodar,quando eu coloco 3 dígitos ou mais ,os números aparecem invertidos ,mas o ultimo digito não aparece alguém poderia me ajudar? #include <stdio.h> #include <stdlib.h> int main() { int n,cifra,i; int *v; v =(int*) malloc (n *sizeof(int)); for (i=0;i<n;i++) { cifra=n%10; n=n/10; v=cifra; return 0;}
· Los códigos deben ir en etiquetas GeSHi (corregido) >aquí las reglas del foro -Engel Lex
|
|
|
6
|
Programación / Programación C/C++ / Re: Posición de un dígito
|
en: 15 Abril 2018, 22:37 pm
|
#include<stdio.h> #include<math.h>
int contdigitos(int &n); int maiordig (int &n); //main
int main () { char numero [15]; int n,pos=0,num; scanf("%i",&n);
int numdigitos= contdigitos(n); printf("\n numero de digitos:%i",numdigitos);
int largedig= maiordig(n); printf("maior digito:%i",largedig);
fprintf(stdout, "introduzca un digito: "); scanf("%s", numero); fprintf(stdout, "ntrodusca una posicion: "); scanf("%d", &pos);
fprintf(stdout, "%dth digito de %s es %c.\n", pos, numero, numero[pos-1]);
return 0;}
// numero de digitos
int contdigitos(int &n) { if (n < 10) { return 1; } int contador = 0; while (n > 0) { n /= 10; contador++; } return contador; }
int maiordig (int &n) { int digit, maior=0; while (n>0){ digit=n%10; if(digit>maior) maior=digit; n=n/10;} return maior ;}
jajaja Ahora la posición es correcta, pero mi función para mayor dígito esta volviendo 0 y no tengo ni idea de por qué
|
|
|
7
|
Programación / Programación C/C++ / Re: Posición de un dígito
|
en: 15 Abril 2018, 20:51 pm
|
#include<stdio.h> #include<math.h>
int contdigitos(int &n); int posicao (int &num,int &n); int maiordig (int n);
//main
int main () { int n=0,pos,num; scanf("%i",&n); int numdigitos= contdigitos(n); int npos=posicao(num,n); printf("\n numero de digitos:%i",numdigitos); printf("\n entre com um numero: "); scanf("%d", &n);
printf("coloque a posicao: "); scanf("%d", &pos);
printf("%dth digit of %d is %d.\n", pos, n,npos);
int largedig= maiordig(n); printf("maior digito:%i",largedig);
return 0;}
// numero de digitos
int contdigitos(int &n) { if (n < 10) { return 1; } int contador = 0; while (n > 0) { n /= 10; contador++; } return contador; } //num = posição int posicao(int &num,int &n){ int r, t1, t2;
t1 = pow(10, num +1); r = n % t1;
if (num > 0) { t2 = pow(10, num); r = r / t2; }
return r; } int maiordig (int n) { int digit, maior=0; while (n>0){ digit=n%10; if(digit>maior) maior=digit; n=n/10;} return maior ;}
El ejercicio original se compone de 3 funciones, pero sólo la función que pide la posición va mal
|
|
|
8
|
Programación / Programación C/C++ / Posición de un dígito
|
en: 15 Abril 2018, 20:00 pm
|
hola ¿alguien podría ayudarme con una función en la que pongo un número y cualquier posición y el programa me devuelve el dígito del número que está en esa posición. De izquierda a derecha.
Por ejemplo (358, 1) = 3 El dígito de 358 en la posición 1 es 3
Hice un código, pero la función relacionada con la posición sigue yendo mal
|
|
|
|
|
|
|