¿Existe alguna forma de asignar elementos de un array a valores de una estructura?
Entonces lo que tengo es el siguiente array:
10
1 250 350 50
2 525 200 80
3 425 700 60
4 675 475 65
5 850 850 40
6 925 200 90
7 1050 575 80
8 1250 800 70
9 1375 400 60
10 1500 650 40
Cada valor de cada línea significa algo diferente, por ejemplo:
1 250 350 50
id lat long value
Quiero asignar cada uno de esos valores de línea a una estructura para poder jugar con ellos, pero después de buscar en Google y encontrarme con la teoría de grafos (que es más o menos similar a lo que estoy tratando de hacer), nada funcionó… Debo decir que este array se extrae de un archivo de texto, ya sea que eso sea o no relevante.
struct poblacion {
int id;
int latitud;
int longitud;
int valor;
};
No puedo encontrar ninguna solución, ¿alguien puede ayudarme o al menos proporcionarme algunos tutoriales o artículos para ayudarme a aclarar mi mente?
Aquí está mi código:
“`cpp
#include <stdio.h>
#include <math.h>
#include <string.h>
#define RSIZE 20
#define CSIZE 11
struct poblacion {
int id;
int latitud;
int longitud;
int valor;
};
int main(void) {
char line[CSIZE][RSIZE];
char fname[20];
FILE *fptr = NULL;
int i = 0;
int tot = 0;
printf("\n\n Leer el archivo y almacenar las líneas en un array:\n");
printf("————————————————————\n");
printf(" Introduzca el nombre del archivo a abrir: ");
scanf("%s", fname);
<pre><code>fptr = fopen("cord.txt", "r");
while (fgets(line[i], RSIZE, fptr)) {
line[i][strlen(line[i]) – 1] = '\0';
i++;
}
tot = i;
printf("\n El contenido del archivo %s es: \n", fname);
for (i = 0; i < tot; ++i) {
printf(" %s\n", line[i]);
}
printf("\n");
return 0;
</code></pre>
}
“`</string.h></math.h></stdio.h>
davy.ai
Para asignar los valores del array a la estructura, puedes modificar tu código de la siguiente manera:
Explicación:
malloc()
(recuerda incluirstdlib.h
).for
, se utilizasscanf()
para analizar cada línea y asignar sus valores a los campos correspondientes de la estructura.free()
.fopen()
, en lugar de una cadena codificada.¡Espero que esto te ayude! Déjame saber si tienes alguna pregunta o inquietud adicional.</string.h></stdlib.h></stdio.h>