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


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda para interpretar esta consigna . en: 5 Marzo 2019, 21:02 pm
Buenas tardes, tengo varias dudas con respecto a la consigna que mostraré a continuación. Desde ya solo quiero que me puedan orientar un poco.

https://ibb.co/T0tRbHB

.:Dudas:.

* Promedio de la totalidad de la matriz: Una vez que defino el tamaño que tendrá esta matriz, debo proceder a digitar los valores correspondientes a
  las filas,columnas y profundidad .Una vez hecho esto  ¿ debo sacar el promedio de cada sector ?

* Submatriz de la mitad del tamaño: en esta sección debo reducir a la mitad los tamaños que elegí anteriormente (con respecto a la TOTALIDAD de la matriz)
  si es así, tengo que volver a digitar otros valores para "esta nueva" matriz ? (con el fin de sacar el promedio nuevamente.)

* ... y así sucesivamente hasta alcanzar el tamaño de un solo elemento : esto significa que debo lograr reducir LA MATRIZ a este tamaño [filas = 1] [columnas = 1] [profundidad = 1] ?


2  Programación / Programación C/C++ / Ayuda para pasar ESTE código hecho en JAVA A C++ en: 28 Febrero 2019, 23:42 pm
Buenas tardes a todos, el problema que tengo es que quiero pasar el siguiente código hecho en JAVA A C++, lo he intentado hacer,pero los resultados que me son dados DIFIEREN uno del otro.

A mi entender el de "JAVA" funciona bien, es decir, cumple con los requisitos. En cambio el de C++ no lo hace de forma completa.

Sin más preámbulos adjuntaré ambos códigos, para que si pueden, ayudarme a entender cuáles son los errores que he cometido en el "intento" de trasladar las líneas de código  a C++.


VERSIÓN JAVA

Código
  1. public class Ejerciciooo
  2. {
  3. public static void main(String[] args)
  4. {
  5. Scanner scan = new Scanner(System.in);
  6.  
  7. System.out.print("Enter the number of points: ");
  8. final int numOfPoints = scan.nextInt();
  9.  
  10. double[][] points = new double[numOfPoints][2];
  11. double shortestDistance=0;
  12. double distance=0;
  13. String closestPoint1="";
  14. String closestPoint2="";
  15.  
  16. //enter x,y coords into the ix2 table points[][]
  17. for (int i=0; i<numOfPoints; i++)
  18. {
  19. System.out.print("Enter point x" + i + ": ");
  20. points[i][0] = scan.nextDouble();
  21. System.out.print("Enter point y" + i + ": ");
  22. points[i][1] = scan.nextDouble();
  23. }
  24.  
  25. //get the distance between the point in the ith row and the (m+1)th row
  26. //and check if it's shorter than the distance between 0th and 1st
  27. for (int i=0; i<numOfPoints; i++)
  28. {
  29. //use m=i rather than 0 to avoid duplicate computations
  30. for (int m=i; m<numOfPoints-1;m++)
  31. {
  32. double dx = points[i][0] - points[m+1][0];
  33. double dy = points[i][1] - points[m+1][1];
  34. distance = Math.sqrt(dx*dx + dy*dy);
  35.  
  36. //set shortestDistance and closestPoints to the first iteration
  37. if (m == 0 && i == 0)
  38. {
  39. shortestDistance = distance;
  40. closestPoint1 = "(" + points[0][0] + "," + points[0][1] + ")";
  41. closestPoint2 = "(" + points[1][0] + "," + points[1][1] + ")";
  42. }
  43. //then check if any further iterations have shorter distances
  44. else if (distance < shortestDistance)
  45. {
  46. shortestDistance = distance;
  47. closestPoint1 = "(" + points[i][0] + "," + points[i][1] + ")";
  48. closestPoint2 = "(" + points[m+1][0] + "," + points[m+1][1] + ")";
  49. }
  50. }
  51. }
  52. System.out.println("The shortest distance is: " + shortestDistance);
  53. System.out.println("The closest points are " + closestPoint1 + " and " + closestPoint2);
  54. }  
  55. }


VERSIÓN C++

Código
  1. #include <conio.h>
  2. #include <math.h>
  3. #include <sstream>
  4. #include <string>
  5. using namespace std;
  6.  
  7. int main () {
  8.  
  9. int cantidad;
  10. cout<<"Digite la cantidad de puntos que desea: "; cin>>cantidad;
  11.  
  12. double puntos [cantidad][2];
  13. double dX = 0, dY = 0 , distancia = 0, distMasCorta = 0;
  14.  
  15. ostringstream osA,osB;
  16.  
  17. for (int i=0; i<cantidad; i++) {
  18. cout<<"Digite el valor correspondiente a X '"<<i+1<<"': "; cin>>puntos[i][0];
  19. cout<<"Digite el valor correspondiente a Y '"<<i+1<<"': "; cin>>puntos[i][1];
  20.  
  21. cout<<endl;
  22. }
  23.  
  24. for (int i=0; i<cantidad; i++) {
  25. for (int m=i; m<cantidad-1; m++) {
  26.  
  27. dX = puntos[i][0] - puntos[m+1][0];
  28. dY = puntos[i][1] - puntos[m+1][1];
  29.  
  30. distancia = sqrt (dX * dX + dY * dY);
  31.  
  32. if (distancia < distMasCorta) {
  33.  
  34. distMasCorta = distancia;
  35.  
  36. osA << "(" << puntos[i][0] << "," << puntos[i][1] << ")";
  37. osB << "(" << puntos[m+1][0] << "," << puntos[m+1][1] << ")";
  38. }
  39. }
  40. }
  41.  
  42. cout<<"La distancia mas corta es de '"<<distMasCorta<<"'"<<endl;
  43. cout<<"Los puntos más cercanos son: "<<osA.str()<<" y "<<osB.str()<<endl;
  44.  
  45. getch();
  46. return 0;
  47. }
  48.  
  49.  
  50.  
  51.  


Desde ya muchísimas gracias !
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines