Cita:
Mi codigo:Ejercicio:
Se debe realizar un algoritmo que tome una estructura de datos conformada
por tres enteros, llamados ataque (a), defensa (b) y agilidad (c), las
cuales representan las caracteristicas de un personaje de un videojuego.
Para calcular la Fuerza Total de un personaje,se usa la siguiente fórmula:
Fuerza Total(a, b, c) = (2a · 3b) · 7c
Suponiendo que la entrada del algoritmo es a través de un archivo, en
donde esta estructura se repite n veces dentro de una línea, y cada línea
corresponde a una secuencia distinta de estructuras. Esto se ilustra a continuación.
variables de la estructura.
El objetivo del algoritmo es generar una secuencia donde se encuentren
las Fuerzas Totales de cada personaje representado en este archivo, línea a
línea.
Los resultados deben escribirse en un archivo de salida, como se muestra
a continuación.
Se debe realizar un algoritmo que tome una estructura de datos conformada
por tres enteros, llamados ataque (a), defensa (b) y agilidad (c), las
cuales representan las caracteristicas de un personaje de un videojuego.
Para calcular la Fuerza Total de un personaje,se usa la siguiente fórmula:
Fuerza Total(a, b, c) = (2a · 3b) · 7c
Suponiendo que la entrada del algoritmo es a través de un archivo, en
donde esta estructura se repite n veces dentro de una línea, y cada línea
corresponde a una secuencia distinta de estructuras. Esto se ilustra a continuación.
Cita:
Observar que dentro de cada par de paréntesis “()” se encuentran las tresinput1.txt
(4 5 6)(7 5 3)(4 5 8)(7 4 1)...(a b c)
(1 5 1)(7 2 2)(1 5 6)(7 3 1)...(a b c)
(4 5 6)(7 5 3)(4 5 8)(7 4 1)...(a b c)
(1 5 1)(7 2 2)(1 5 6)(7 3 1)...(a b c)
variables de la estructura.
El objetivo del algoritmo es generar una secuencia donde se encuentren
las Fuerzas Totales de cada personaje representado en este archivo, línea a
línea.
Los resultados deben escribirse en un archivo de salida, como se muestra
a continuación.
Cita:
output1.txt
5040 4410 6720 1176 ... 2 · a · 3 · b · 7 · c
210 1176 1260 882 ... 2 · a · 3 · b · 7 · c
5040 4410 6720 1176 ... 2 · a · 3 · b · 7 · c
210 1176 1260 882 ... 2 · a · 3 · b · 7 · c
Código C:
Ver original
#include <stdio.h> #include <stdlib.h> typedef struct { int ataque; int defensa; int agilidad; } Personaje; void guardar_pj(FILE *fp, Personaje *p1, Personaje *p2, int cont){ char pj[6]; if (p2!=NULL) p1=p2; p1[cont-1].ataque = (int) pj[0]; p1[cont-1].defensa = (int) pj[2]; p1[cont-1].agilidad = (int) pj[4]; } int calcular_fuerza_total (Personaje *p){ return (2*p->ataque*3*p->defensa)*7*p->agilidad; } int main(){ FILE *fp; Personaje *Pjs, *Pjs2=NULL; int line=1, cont=0; char caracter; if (caracter == '\n') line++; else if (caracter == '('){ cont++; guardar_pj(fp, &Pjs, &Pjs2, cont); } } }
Bueno, aun no logro guardar los datos en el arreglo de Struct, que es lo malo del codigo? Estuve leyendo unas cosas sobre struct, memoria dinamica y arreglos, "creo" haber seguido los mismos pasos de los ejemplos, pero ni cerca esta de funcionar.
Gracias de antemano.