Lo usual es utilizar un buscador, por ejemplo Google. Con este el primer vinculo listado es Radix Tree.
Un saludo
Un saludo
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: mimel en 19 Marzo 2015, 19:53 PMtengo una duda con un ejercicion en COtra parte que se debe cambiar en el programa son las declaraciones de los arrays y las llamadas a scanf:
scanf("%s", &pregunta1);
Cita de: CountYorga en 19 Marzo 2015, 10:13 AM"Por ultimo ya que el numero de registros es pequeño te conviene, al principio del programa, leer todo en memoria (en arrays) realizando ahí todo el proceso (solo los resultados finales los envías al archivo)."A que declares en tu programa un array con capacidad para veinte elementos, a continuación abres el archivo y lees todos los registros almacenándolos en el array. La idea es un proceso mas rápido y evitar la validación de las operaciones (en el caso de archivos hay que tomar precauciones en caso de error o fin de archivo).
¿Que quieres decir con leer todo en memoria?
Cita de: droken26 en 18 Marzo 2015, 09:35 AMEl programa trata de sumar los suspensos y aprobados de una clase de 10 en 4 asignaturasLo primero que debes hacer es eliminar las variables "i", "j", "nota", "notas" y "opc" ya que no se utilizan en el programa.
Cita de: droken26 en 18 Marzo 2015, 09:35 AM1.- La recogida de datos empieza con el alumno 1, asignatura 1, posteriormente asignatura 2 pero me mantiene el alumno 1, cuando deberia poner alumno 2.Las ocurrencias de la variable "alumno" son:
int prueba = 1, alumno = 1; /* 1 */
printf ("Calificacion del Alumno %d:", alumno++); /* 2 */
scanf ("%f", &A[a][b]);
alumno = 1; /* 3 */
Cita de: droken26 en 18 Marzo 2015, 09:35 AM2.- Una vez introducida las calificaciones, la primera asignatura me suma los suspensos y aprobados, pero los sucesivos lo que hace es sumar los anteriores no me contabiliza los suspensos ya aprobados de la segunda asignatura y asi sucesivamente.El programa solo hace lo que tu indicas que haga, no hay mas.
for (j = 0; j < max_pruebas; j++){
printf("Prueba No %d:\n", j + 1);
/* Alguna operacion */
}
puts("Calculo aprobados y suspensos");
for (j = 0; j < max_pruebas; j++){
printf("Prueba No %d:\n", j + 1);
for (i = 0; i < max_alumnos; i++){
printf("Calificacion del Alumno %d:\n", i + 1);
scanf ("%f", A[i] + j);
/* Alguna operacion por cada nota */
}
/* Alguna operacion por cada prueba */
}
Cita de: CountYorga en 16 Marzo 2015, 12:20 PMLa idea es que la base sea automática, lo más autosuficiente posible, que se produzcan las menos interrupciones y peticiones al usuario posibles, de tal forma que las "entradas" (sujetos generados aleatoriamente) y las "salidas" (sujetos borrados por haber pasado los 95 años) estén equilibrados. En fin... ¿es realizable programar esto en C? ¿He cometido algún error en el planteamiento? ¿Necesito conocer especialmente algo que se me haya pasado por alto? Yo entiendo que el manejo de ficheros y del tiempo será esencial.Es posible utilizando solo C estándar, las partes de la biblioteca estandar en las que te debes enfocar son:
char buscartitulo[15], titulo[20][15], salir;
/* ... */
printf ("Quieres ingresar otro s/n \n");
scanf ("%s", &salir);
}while (salir != 'n' && registro < 20);
printf ("titulo a buscar ");
scanf ("%s", buscartitulo); ///si lo busco con un entero %d si me funciona
while (contador == 1 && x < registro){
if (buscartitulo == titulo[x]){ /* <== */
posicion = x;
contador = 0;
}
x++;
}
if (contador) {
printf ("No se encontro el titulo que se buscaba\n");
}
else
printf ("id es %d precio es %d cantidad es %d \n"
, id[posicion], precio[posicion], cantidad[posicion]);
for (i = 0; i < PRUEBAS; i++) { /* i == 0 .. 3 */
printf ("\nNumero de Prueba %d: \n", prueba++);
for (j = 0; j < ALUMNOS; j++) { /* j == 0 .. 9 */
printf ("Calificacion del Alumno %d:", alumno++);
scanf ("%f", &A[i][j]);
int nota = 0;
/* ... */
printf ("Calificacion del Alumno %d:", alumno++);
scanf ("%f", &A[i][j]);
if (nota >= 5)
aprobados++;
else
suspensos++;
alumno = 1;
if (A[i][j] >= 5)
aprobados++;
else
suspensos++;
Cita de: ulainava en 15 Marzo 2015, 21:49 PMtengo un pequeño problema con uno de los programas q realizo, epero me puedan ayudar.Cuando publiques código fuente por favor utiliza las etiquetas de código. Estas se agregan mediante el cuadro desplegable con el texto "GeSHi" en la pagina de composición de mensajes, solo tienes que seleccionar ahí el lenguaje (C, C++, etc.).
if ((j = Buscar (f, 22, c)) == 22) /* Hay que evitar magic numbers */
printf("No se encontro la fruta");
else
printf("Costo de la Fruta es de $%s\n", p[j]);
/* ... */
int Buscar(char f[][15], int n, char *c)
{
int i;
for (i = 0; i < 22 && strcmpi(c, f[i]) != 0; i++)
;
return i;
}
/* Declaracion de variables */
float a[NUM_ELEM];
float b[NUM_ELEM];
float suma[NUM_ELEM];
/* ... */
/* Invocacion */
suma_vectores(a, b, NUM_ELEM, suma);
/* ... */
/* Definicion */
void suma_vectores(float *a, float *b, int num_elem, float *suma)
{
int i;
for (i = 0; i < num_elem; i++)
suma[i] = a[i] + b[i];
}