26/11/2006, 18:01
|
| | Fecha de Ingreso: julio-2006
Mensajes: 99
Antigüedad: 18 años, 5 meses Puntos: 0 | |
ok, aclarado lo de "" y <>.
Mira copio el ejercicio entero, lo que quiero no esque me digan cual es el algoritmo para las fuciones ni nada de eso, sino, que me aclaren la forma en que los programas del ejercio 2. y 3. utilizan las funciones del modulo del programa 1., sin estar en el mismo archivo, no lo comprendo...
1. Escriba un módulo de funciones para el manejo de tablas de datos de tipo double. Dicho módulo contendrá las
siguientes funciones:
· lee_vector_double: lee una serie de valores de la entrada estándar y los almacena en una tabla.
· escribe_vector_double: escribe en la salida estándar los valores de una tabla.
· busqueda_secuencial_double: realiza una búsqueda secuencial de un elemento en una tabla.
· busqueda_binaria_double: realiza una búsqueda binaria de un elemento en una tabla ordenada.
· ordenacion_intercambio_double: ordena una tabla ascendentemente utilizando el esquema de intercambio.
El fichero de cabecera del módulo, v_doble.h, será el siguiente:
#define TAM 100
typedef enum {Falso, Cierto} Logico;
typedef double Vector[TAM];
int lee_vector_double (Vector);
void escribe_vector_double (const Vector, int);
int busqueda_secuencial_double (const Vector, int, double);
int busqueda_binaria_double (const Vector, int, double);
void ordenacion_intercambio_double (Vector, int);
2. El siguiente programa utiliza una función del módulo definido en el apartado anterior.
#include <stdio.h>
#include "v_doble.h"
void main (void)
{
Vector v;
int n, posicion;
double x;
n = lee_vector_double (v);
printf ("\nIntroduzca un número: ");
scanf ("%lf", &x);
posicion = busqueda_secuencial_double (v, n, x);
if (posicion != -1)
printf ("\nElemento encontrado en la posición %d", posicion);
else
printf ("\nElemento no encontrado");
}
2. El siguiente programa lee una tabla, la ordena y la presenta en la salida estándar, utilizando las funciones del módulo.
#include <stdio.h>
#include "v_doble.h"
void main (void)
{
Vector v;
int n;
n = lee_vector_double (v); ordenacion_intercambio_double (v, n); escribe_vector_double (v, n);
} |