elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: 4n4lDetector v1.3: herramienta de análisis estático de malware


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: invertir el número entero en: 22 Abril 2018, 16:48
Muchas gracias amigos, mi programa se está ejecutando perfectamente
2  Programación / Programación C/C++ / Re: invertir el número entero en: 21 Abril 2018, 02:14
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.
Código:
#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;
}
3  Programación / Programación C/C++ / Re: invertir el número entero en: 20 Abril 2018, 04:25
funcionó usando el bucle,
pero necesito hacer usando el vector como pide el ejercicio, y no estoy consiguiendo
4  Programación / Programación C/C++ / invertir el número entero en: 20 Abril 2018, 02:25
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?
 
 
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main() {
  5.    int n,cifra,i;
  6.    int *v;
  7.     v =(int*) malloc (n*sizeof(int));
  8.    printf("escriba un numero:");
  9.    scanf("%i",&n);
  10.    for (i=0;i<n;i++) {
  11.    cifra=n%10;
  12.    n=n/10;
  13.    v=cifra;
  14.    printf("%i",v );}
  15.    return 0;}
  16.  


· Los códigos deben ir en etiquetas GeSHi (corregido)
>aquí las reglas del foro
-Engel Lex
5  Programación / Programación C/C++ / Re: Posición de un dígito en: 15 Abril 2018, 22:48
El código funcionó
No sé cómo Agradecêlos, ayudaron mucho
6  Programación / Programación C/C++ / Re: Posición de un dígito en: 15 Abril 2018, 22:37
#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
#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
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
Páginas: [1]
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines