Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: gomezjuan en 4 Mayo 2020, 14:26 pm



Título: CREAR STRUCT DE UN FICHERO
Publicado por: gomezjuan en 4 Mayo 2020, 14:26 pm
Hola,
alguien me puede decir como puedo crear un struct con los datos de un fichero mas otro que introduce el usuario por consola?
Primero el usuario introduce un numero por consola, luego hay que leer un fichero .txt que esta formado por dos columnas con un numero de filas desconocido.
A la primera columna del fichero la llamo x y a la segunda y. El valor introducido por consola será n.
Lo que tiene que hacer el programa es hacer la operación n · (x + y) e imprimir por consola el valor máximo que se alcanza al hacer esta operación en todas las filas del fichero.
También tiene que salir por consola la x y la y en la que se ha obtenido esté numero máximo.
Por ejemplo: Si el usuario pone por consola n = 2 y el fichero es el siguiente:
1 2
0 0
2 1
0 -1
-1 0
1 2
En programa debería imprimir:
"El valor máximo de la operación es 6. Y se alcanza en los puntos (1,2) y (2,1)"
Otra cosa, si hay algún par de puntos repetidos solo debe aparecer una  vez por consola.
Yo lo que había hecho es mientras voy leyendo el archivo, voy haciendo la operación n(x+y) y consigo que me imprima el valor máximo pero creo que un struct sería mas sencillo.
Gracias!


Título: Re: CREAR STRUCT DE UN FICHERO
Publicado por: K-YreX en 4 Mayo 2020, 21:16 pm
Todo depende de lo que quieras/necesites guardar y cómo quieras hacerlo. Para tu ejercicio lo único que necesitas guardar es n y los puntos que alcanzan el valor máximo. Si quieres ahorrar en operaciones aritméticas puedes guardar el resultado de (n*(x+y)) en otra variable. La idea del struct sería:
Código
  1. struct Elemento {
  2.  int x;
  3.  int y;
  4. };
Y utilizar un array de struct para guardar los máximos.
No sé dónde tienes el problema exactamente. Tampoco sé si estás usando C o C++ para decirte algunas estructuras de la STL que puedes aprovechar en caso de usar C++.