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


 


Tema destacado: 4n4lDetector v1.3: herramienta de análisis estático de malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, YreX-DwX)
| | |-+  CREAR STRUCT DE UN FICHERO
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: CREAR STRUCT DE UN FICHERO  (Leído 184 veces)
gomezjuan

Desconectado Desconectado

Mensajes: 11


Ver Perfil
CREAR STRUCT DE UN FICHERO
« en: 4 Mayo 2020, 14:26 »

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!


En línea

YreX-DwX
Moderador
***
Desconectado Desconectado

Mensajes: 702



Ver Perfil
Re: CREAR STRUCT DE UN FICHERO
« Respuesta #1 en: 4 Mayo 2020, 21:16 »

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++.


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines