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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  arreglos en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: arreglos en c  (Leído 2,084 veces)
megadethrust1

Desconectado Desconectado

Mensajes: 3


Ver Perfil
arreglos en c
« en: 12 Diciembre 2016, 23:39 pm »

no suelo publicar mucho pero necesito ayuda en este problema.
tengo que hacer un programa que analize un arreglo dado, el cual tiene la longitudes de los lados de un triangulo.
Me piden que encuentre las tricas de numeros que forman el triangulo e imprima el numero de triangulos que se puede formar en dicho arreglo.
ejemplo si el arreglo es este{1,2,3,4,5}
me imprime
2,3,4
2,4,5
3,4,5
triangulos=3


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: arreglos en c
« Respuesta #1 en: 12 Diciembre 2016, 23:53 pm »

la cantidad de triangulos es igual a la cantidad de elementos si son más de 3 elementos y si ninǵun elemento es 0


ejemplo {1,2,3,4}
1,2,3
2,3,4
3,4,1
4,1,2

recomiendo imprimir y usar el operador de modulo para "dar vueltas" dentro del array



En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Naimaderis

Desconectado Desconectado

Mensajes: 74



Ver Perfil
Re: arreglos en c
« Respuesta #2 en: 13 Diciembre 2016, 02:14 am »

Si lo que estas enumerando son nombres de elementos, y no la medida de los lados, podes usar los principios de básicos de conteo. Mas precisamente combinatorio.
Tenes 5 elementos, y queres ordenarlos de a 3, por la regla del producto eso es 5*4*3, para que quede mas facil, lo completo, dividiendo entre 2*1 y multiplicando por 2*1, eso nos deja 5*4*3*2*1/2*1 que es lo mismo que 5!/2!, pero que sucede, esto te toma {1,2,3} como diferente al {2,1,3} entonces, lo solucionamos, de cuantas maneras se pueden reordenar esto, pues 3!, entonces nos queda
5!/2!*3! lo que es igual a 10.
Espero haber entendido bien lo que planteabas, entonces el problema pasa a ser, programar la combinatoria.

Edito: Volvi a leer y vi que habias puesto que era la medida de los lados, entonces, mi razonamiento no es correcto.
« Última modificación: 13 Diciembre 2016, 02:17 am por Naimaderis » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: arreglos en c
« Respuesta #3 en: 13 Diciembre 2016, 02:21 am »

no estoy seguro que intentaste plantear XD
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Naimaderis

Desconectado Desconectado

Mensajes: 74



Ver Perfil
Re: arreglos en c
« Respuesta #4 en: 13 Diciembre 2016, 04:07 am »

no estoy seguro que intentaste plantear XD
Pense que "1" "2" ... "5" era una manera de distinguir los vertices, osea, 5 vertices, cuantos triangulos puedo formar, pero era la medida de los lados xD

al final esto fue lo que hice.

Código
  1. #include<stdio.h>
  2. #include<math.h>
  3. int main (void)
  4. {
  5. int ARRE[12]={2,3,4,5,9,12,15,16,17,20,22,50};
  6. int i,j,n;
  7. for(i=0;i<=12;i++)
  8. {
  9. for(j=i+1;j<=12;j++)
  10. {
  11. for(n=j+1;n<=12;n++){
  12.  
  13. if((ARRE[i]+ARRE[j])>ARRE[n]&&(abs(ARRE[i]-ARRE[j])<ARRE[n]))
  14. printf("%d , %d , %d \n\t",ARRE[i],ARRE[j],ARRE[n]);
  15. }
  16.  
  17. }
  18. printf("\n");
  19. }
  20. printf("\n");
  21. }




CoAdm: No hagas doble post
« Última modificación: 13 Diciembre 2016, 04:17 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: arreglos en c
« Respuesta #5 en: 13 Diciembre 2016, 04:33 am »

primer error

Código
  1. int ARRE[12]....
  2. for(i=0;i<=12;i++)
  3.  


ARRE tiene 12 elementos

el ciclo llegará a ARRE[12] que no existe

tambien tienes otro error si son los lados del triangulo deben seguir una regla que no tomas en cuenta a²+b²=c²

En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
con arreglos
Java
artang 0 2,145 Último mensaje 31 Marzo 2009, 04:54 am
por artang
Arreglos c++
Programación C/C++
alfonsopf95 2 1,903 Último mensaje 7 Abril 2014, 15:22 pm
por rir3760
arreglos en c
Programación C/C++
arodriguez98 5 2,299 Último mensaje 4 Diciembre 2014, 23:20 pm
por fary
ARREGLOS
Programación C/C++
JakiRuiz 1 1,316 Último mensaje 25 Febrero 2015, 17:08 pm
por eferion
arreglos
Java
diegormirez134 1 2,134 Último mensaje 19 Junio 2016, 03:24 am
por hectornunezrivas
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines