El ejercicio trata de crear una tabla hash con poblaciones y su número de habitantes. La dificultad reside en que para introducir los nombre y los habitantes tengo que hacerlo todo de seguido y parar al escribir FIN. Por ejempo: Madrid 400 Barcelona 700 FIN
Uso contadores para detectar si hay un espacio y saber a que columna asignarlo, pero algo falla y salen simbolos raros y no coge bien los nombres. Ahí va la parte del código en la que aparece:
Código
cont=0; c=0; for(i=0;i<strlen(linea);i++) { if (linea[i]!=' ') { cadena[c]=linea[i]; c++; } else { if (cont==0){ //es la ciudad cont++; } else{ //es el nº de habitantes insertar(t,pob,habitantes); cont=0; } { break; } c=0; } break; }
La función insertar es esta:
Código
int insertar(tablahash t, char poblacion[30], int habitantes){ int i=hash(poblacion) % TABLA; while(i<=TABLA){ t[i].habitantes=habitantes; break; } break; } i=i*i; } } }
¿Alguien podría orientarme o decirme donde esta el fallo?
Gracias de antemano.