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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / Programación C/C++ / Ayuda con ejercicio en C++ en: 26 Abril 2020, 18:11 pm
Buenas, tengo que hacer un ejercicio que haga lo siguiente:
1º Leer un fichero que esta formado por dos columnas (desconocemos el numero de filas), asegurarse de que los datos del fichero son numeros reales y de que en la columna 1 y en la 2 hay la misma cantidad de numeros.
2º Sumar los elementos de las filas, por ejemplo:
2 3 --> 2+3=5
1 2 --> 1+2=3
4 1 --> 4 +1 = 5
2 3 -->2 + 3 =5
3º Mostrar por consola el numero mas grande que se obtiene al sumar las columnas y los numeros que se han sumado para alcanzar ese numero, pero si en el fichero hay una fila con los mismos numeros solo debe salir una vez por consola.
Segun el ejemplo anterior en la consola deberia aparecer:
"El número mayor que se obtiene es 5 que se obtiene al sumar: 2 y 3, 4 y 1.

Yo he pensado ir añadiendo a un vector los resultados de las sumas y luego imprimir por consola el mayor, pero no se como puedo hacer esto.
Esto es lo que tengo hecho:
Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. #include <sstream>
  5. #include <cmath>
  6.  
  7. const char sumasFich[] = "puntos.txt";
  8.  
  9. int main()
  10. {
  11. std::ifstream in(sumasFich, std::ios::in);
  12. //SI EL FICHERO NO SE PUEDE ABRIR DA ERROR Y FINALIZA
  13. if(!in){
  14. std::cout << "ERROR  " << sumasFich;
  15. return 1;
  16. }
  17.  
  18. std::vector<double> columna1,columna2;
  19. while(!in.eof()){
  20. double col1, col2;
  21. in >> col1;
  22. if(in.eof())break;
  23. if(in.fail()){
  24. std::cout << "ERROR " << sumasFich << std::endl;
  25. return 1;
  26. }
  27.  
  28. inFich >> col2;
  29.  
  30. if(in.eof()){
  31. std::cout << "ERROR " ;
  32. return 1;
  33. }
  34. if(in.fail()){
  35. std::cout << "ERROR" << std::endl;
  36. return 1;
  37. }
  38.  
  39. columna1.push_back(col1);
  40. columna2.push_back(col2);
  41. }
  42.  
  43. in.close();
  44. if(columna1.size() == 0){
  45. std::cout << "El fichero " << sumasFich << " esta vacio. ";
  46. return 1;
  47. }
  48.  
  49.       double Sumas;
  50.  
  51. for(unsigned int i = 0; i < columna1.size(); i++){
  52. Sumas = columna1[i]+columna2[i]
  53. std::cout << "El resultado mayor es " << Sumas << " se obtiene al sumar "<< columna1[i] << " y " <<
  54.                columna2[i] << std::endl;
  55. }
  56. return 0;
  57. }
  58.  
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines