Jump to content

Ayuda en lenguaje C


Recommended Posts

Les presento el problema:

Crear un programa en C, que permita almacenar en una matriz una dirección IP en formato binario, para ello la matriz deberá ser de 4 filas por 8 columnas, de forma tal que cada fila corresponda a un octeto, desde el octeto 1(más a la izq.) fila 0, hasta el octeto 4(más a la der.)fila 3. Las columnas corresponden al valor binario de cada posición del octeto. El programa una vez que haya almacenado los datos en la matriz debe convertir la IP al formato decimal, usando para ello un vector llamado posicional, y dejando el resultado en un vector (arreglo unidimensional) llamado IPdec de 4 elementos. Finalmente debe mostrar la IP en formato binario y Decimal.

 

Y la posible solución (hecha por mi):

 

#include <stdio.h>

#include <stdlib.h>
main()
{
int binario[4][8],decimal[8],unodosocho=256,j,i,f,g,decimale,aaa,bbb,ccc,ddd,a,suma;
for(f=0;f<8;f++)
{
unodosocho=unodosocho/2;
decimal[f]=unodosocho;
}
for(i=0;i<4;i++)
{
for(j=0;j<8;j++)
{
binario[j]=0;
printf("%d",binario[j]);
}
printf("\n");
}
for(i=0;i<4;i++)
{
printf("Ingrese el %d octeto: ",i+1);
scanf("%d",&decimale);
for(j=7;j>=0;j--)
{
decimale=decimale%10;
printf("%d",decimale);
binario[j]=decimale;
}
printf("\n");
}
for(i=0;i<4;i++)
{
suma=0;
a=0;
for(j=0;j<8;j++)
{
a=decimal[j]*binario[j];
suma=suma+a;
}
if(i=0)
{
aaa=suma;
}
if(i=1)
{
bbb=suma;
}
if(i=2)
{
ccc=suma;
}
if(i=3)
{
ddd=suma;
}
}
for(i=0;i<4;i++)
{
for(j=0;j<8;j++)
{
printf("%d - ",binario[j]);
if(i=0)
{
printf("%d.",aaa);
}
if(i=1)
{
printf("%d.",bbb);
}
if(i=2)
{
printf("%d.",ccc);
}
if(i=3)
{
printf("%d.",ddd);
}
}
printf("\n");
}
system("PAUSE");
return 0;
}

Comentarios: La verdad es que tengo un problema que no tengo claro es con el mod (decimale=decimale%10;) ya que lo que quiero que haga es que vaya posicionado en el arreglo para después poder multiplicarlo con el vector (ojala me puedan ayudar).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...