Adsence

jueves, 21 de abril de 2011

Dado-una-secuencia-de-numeros-saber-si-es-un-pentagono-Regular

Leave a Comment
[caption id="attachment_1127" align="aligncenter" width="687"]Dado una secuencia de numeros, saber si es un pentagono regular Dado una secuencia de numeros, saber si es un pentagono regular[/caption]

Este codigo lo tome de yahoo respuestas del usuario Netooo ya que esta bien echo
Dadoo n numero de cualquier cantidad de Digitos
1121012202301111105
los numeros entre los digitos 0, son los lados de las figura, es decir 1121=1+1+2+1=5cm que seria la medida de lado, en este caso es un pentagono , pero si los digitos insertaddos fueran 1121012202301111104..seria un pentagono irregular, debe salir error en el prog xq solo admit figuras regulares(lados iguales)



[cpp]

#include < stdio.h >
#include < stdlib.h >

void poligono(char* cadena){
int lados=1, lado=0, i, compara, regular=1;
int* poligono;
char dato;

for(i=0;cadena[i]!='\0';++i){
if(cadena[i]=='0')
++lados;
}

poligono= (int*)malloc(sizeof(int)*lados);
for(i=0;i< lados;++i)
poligono[i]=0;

for(i=0;cadena[i]!='\0';++i){
if(cadena[i]=='0')
++lado;
else{
dato=cadena[i];
poligono[lado]+=atoi(&dato);
}
}

compara=poligono[0];
for(i=0;i< lados;++i){
printf("Lado %d: %d\n",i+1,poligono[i]);
if(regular){
if(compara!=poligono[i])
regular=0;
}
}

if(regular)
printf("El poligono es regular\n\n");
else printf("El poligono NO es regular\n\n");

free(poligono);
}

int main(){

char cadena[80];

while(1){
printf("Dame el numero:\n");
gets(cadena);
poligono(cadena);
}

return 0;
}

[/cpp]

0 comentarios :