Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - sheva777

#1
Programación C/C++ / Duda con un programa
18 Octubre 2013, 17:00 PM
Mi duda sobre el código es que me imprime al momento de convertir en binario mas números de los que son, este es mi código:


#include <stdio.h>
#include <string.h>

void Binario(int numero);
int main()
{
    char direccion[16];
    char separador[2]=".";
    char *ptr;
    int cadNum;

    printf("Ingrese la direccion IP\n");
    scanf("%s",&direccion);

    ptr=strtok(direccion,separador);
    printf("%s\n",ptr);
    cadNum = atoi(ptr);
    Binario(ptr);
    printf("\n");
    while((ptr = strtok(NULL,separador))!= NULL)
    {

        printf("%s\n",ptr);
        cadNum = atoi(ptr);
        Binario(ptr);
        printf("\n");
    }

    return 0;

}

void Binario(int numero)
{
    if(numero < 2)
    {
        printf("%d",numero);
    }
    else
    {
        Binario(numero / 2);
        printf("%d",numero%2);
    }
}


La salida que me muestra al correrlo con este ejemplo 1.2.3.4 es:

1
1000101111111100001000
2
1000101111111100001010
3
1000101111111100001100
4
1000101111111100001110

La duda es el porque me saca tantos mas números de lo que debería de dar.
Espero puedan ayudarme, mucha gracias de ante mano
#2
Programación C/C++ / Re: duda con arreglos
29 Mayo 2013, 05:55 AM
haciendo un poco mas de mi codigo tengo otra duda necesito saber el tamaño de mi arreglo para cual utilizo esto

int cantidad;
   cantidad=sizeof(A)/4;
   printf("El arreglo tiene %d elementos\n",cantidad);

pero solo me muestra de tamaño lo siguiente

El arreglo tiene 1 elementos

Seria de gran ayuda si pudieran ayudarme a resolverlo. gracias.
#3
Programación C/C++ / duda con arreglos
29 Mayo 2013, 05:18 AM
Tengo una duda con este codigo:
Lo que quiero hacer es llenar un arreglo de numeros desde archivo y despues desplegarlo en pantalla, lo unico malo es que me muestra mas numeros de los que tengo en el archivo, mi duda es saber el por que me pasa esto les dejo el archivo y el codigo. Gracias de ante mano

archivo.txt
1 2 3 4 5 7 12 98 34 65 87 2 10

codigo

#include <stdio.h>
#include <stdlib.h>
#define MAX 100



void llenar(int A[],FILE *archivo)
{
char nombreArchivo [20];
int k;
int i;
int c;

printf("Nombre de archivo a trabajar con extensión (txt):");
scanf("%s",&nombreArchivo);
archivo=fopen(nombreArchivo,"r");

while(archivo == NULL){
      printf("El archivo no pudo abrirse\n");
      printf("Nombre de archivo a trabajar con extensión (txt): ");
      scanf("%s",&nombreArchivo);
      archivo = fopen(nombreArchivo,"r");
   }

   while(!feof(archivo))
   {
      for(i=0;i<MAX;i=i+1)
      {
         fscanf(archivo,"%d",&c);
         A=c;
         printf("%d ",A);

      }
   }
       fclose(archivo);
}

int main()
{
int arreglo[MAX];
FILE  *archivo=NULL;

llenar(arreglo,archivo);

}
#4
Cita de: flony en 10 Abril 2013, 06:15 AM
no lo hagas dos veces... acá los changos se enojan por esas cosas  :rolleyes:
lo siento es que me equivoque, no volvera a pasar
#5
hola!!, me podrian ayudar con el siguiente codigo?, no se que este mal, lo que quiero que haga es que me imprima los numeros pares a partir de un rango que de el usuario...
el codigo es este, muchas gracias de ante mano

inr main()
{
    int numeroA=0;
    int numeroB=0;
   
   
   printf("Ingrese el numero de inicio:");
   scanf("%d",&numeroA);
   printf("Ingrese numero final:");
   scanf("%d",&numeroB);
   while(numeroA<=numeroB)
   {
      if(numeroA%2==0)
      {
         printf("%d ",numeroA);
         numeroA=numeroA+1;
      }
      else
      {
         printf("");
      }
   
   }
   return 0;
}
#6
hola!!, me podrian ayudar con el siguiente codigo?, no se que este mal, lo que quiero que haga es que me imprima los numeros pares a partir de un rango que de el usuario...
el codigo es este

inr main()
{
    int numeroA=0;

   
   printf("Ingrese el numero de inicio:");
   scanf("%d",&numeroA);
   printf("Ingrese numero final:");
   scanf("%d",&numeroB);
   while(numeroA<=numeroB)
   {
      if(numeroA%2==0)
      {
         printf("%d ",numeroA);
         numeroA=numeroA+1;
      }
      else
      {
         printf("");
      }
   
   }
   return 0;
}
#7
Programación C/C++ / Re: Suma de ascii
31 Marzo 2013, 04:35 AM
tenias razon ese era mi error, muchas gracias por resolverme la duda, ya quedo  ;-)
#8
Programación C/C++ / Suma de ascii
31 Marzo 2013, 00:08 AM
Lo que pasa es que tengo que crear un programa que lea un archivo de entrada y me genere otro de salida el código de dispersión de cada una de las cadenas calculado de la siguiente forma: Sume los ASCII de los caracteres de cada cadena y al final saque módulo 131. Por ejemplo, para la cadena "enero" los ASCII son 101, 110, 101, 114 y 111, por lo que la suma es 537 y al sacar módulo 131 se obtiene 13.

He creado el programa pero solo me saca el resultado de enero correctamente y los demas ya no, mi duda es por que es que pasa esto. Les dejo el codigo que he creado, espero y me puedan orientar para resolver la duda, de ante mano muchas gracias.

archivo de entrada

enero
febrero
marzo
abril

me genera este archivo de salida

13 ese valor es el único correcto
99
128
126
40

codigo

#include<stdio.h>
#include<math.h>
#include<string.h>

char cadena[30];
int y;
int i;
int resultado;
int l;
main()
{

        int i=0;
        int y=0;
        char nombreArchivoLectura[10];
        char nombreArchivoEscritura[10];
        FILE *archivoLectura=NULL;
        FILE *archivoEscritura=NULL;

       
        archivoLectura=fopen("entrada.txt","r");
       
       
        archivoEscritura = fopen("salida.txt","w");
       
        while(archivoLectura == NULL)
   {
    printf("El archivo no pudo abrirse\n");
    printf("Nombre de arcivo de Lectura con extension:");
    scanf("%s",&nombreArchivoLectura);
         }

        while(!feof(archivoLectura))
   {
           fscanf(archivoLectura,"%[^\n]\n",cadena);
   l=strlen(cadena);
        for(i=0;i<l+1;i++)
        {
                y=y+cadena;         
       
        }
        printf("---------------------------------------\n");
        resultado=y%131;   
       fprintf(archivoEscritura,"%d\n",resultado);
       
}       
fclose(archivoLectura);
fclose(archivoEscritura);   
       


}