Dev - C++ - Problema al definir un arreglo de dimensión variable en un archivo .h

 
Vista:
Imágen de perfil de Martin
Val: 6
Ha disminuido su posición en 189 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema al definir un arreglo de dimensión variable en un archivo .h

Publicado por Martin (21 intervenciones) el 03/06/2016 23:04:08
Tengo un proyecto en Dev C++ que consta de tres archivos:
-Dos .cpp
-Un .h


En el .h debo definir un arreglo de "L" longitud pero esa longitud debe ser definida por el usuario.
Luego con esa longitud "L" con la función typedef quiero crear una variable tipo vector de esa "L" dimensión, para luego usarlo como argumento para funciones dentro de una estructura.

Agradecería Muchísimo una ayuda con esto. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema al definir un arreglo de dimensión variable en un archivo .h

Publicado por agustin (522 intervenciones) el 05/06/2016 04:52:02
No puedes hacer eso ya que el array seria de memoria dinámica con lo que tienes que hacerlo con malloc si es C.
1
2
3
4
int *x,n;
printf("Introduce es tamaño de x: ");
scanf ("%i",&n);
x=malloc (sizeof (int)*n);
Para pasarlo como argumento suponiendo que la función se llama mifuncion el prototipo seria algo asi:
1
void mifuncion (int *x,int size);
Y la usaríamos tal como:
1
mifuncion (x, n);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
Imágen de perfil de Martin
Val: 6
Ha disminuido su posición en 189 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema al definir un arreglo de dimensión variable en un archivo .h

Publicado por Martin (21 intervenciones) el 06/06/2016 23:06:13
No he entendido muy bien eso.

Este sería mi archivo "main.cpp".

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include<stdio.h>
#include<ctype.h>
#include "Calculos_estadisticos.h"
	void menu(){
		printf("\n\n\t\t\tC%clculos Estad%csticos.",160,161);
		printf("\n\n\t1)Ingrese el tama%co y datos del arreglo   [C]",164);
		printf("\n\t2)Media del arreglo                       [M]");
		printf("\n\t3)Varianza del arreglo                    [V]");
		printf("\n\t4)Desviaci%cn estandar del arreglo         [D]",162);
		printf("\n\t5)Salir                                   [S]");
		printf("\n\n\t\tIngrese una opci%cn v%clida [C-M-V-D-S]\n",162,160);
		printf("\n\tOpci%cn: ",162);
	}
int a=0;
int main(){
	menu();
char op;
	do{
scanf("%c",&op);
op=toupper(op);
		switch(op){
			case 'C':
 
				break;
			case 'M':
 
				break;
			case 'V':
 
				break;
			case 'D':
 
				break;
		}
	}while(toupper(op)!='S');
}

Luego tengo el el "Calculos_estadisticos.h"

1
2
3
4
5
6
7
8
9
10
11
12
#pragma once
 
typedef double arreglo[L];    //Aquí debería poder crear un arreglo de la dimensión ingresada por el usuario.
 
typedef struct funciones{
 	void carga_arreglo(arreglo V);
	double media(arreglo V);
 	double varianza(arreglo V);
 	double desv_est(arreglo V);
 
 
 };

Y por ultimo el archivo "Calculos_estadisticos.cpp" donde irían las funciones codificadas.(Aún no tengo ninguna funcion)

1
2
3
#include<stdio.h>
#include<math.h>
#include "Calculos_estadisticos.h"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Martin
Val: 6
Ha disminuido su posición en 189 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema al definir un arreglo de dimensión variable en un archivo .h

Publicado por Martin (21 intervenciones) el 07/06/2016 20:53:08
¡¡Ayuda Por favor!!

Necesito saber cómo hacer para que el usuario pueda ingresar la cantidad de valores que desee en el arreglo, pero también debo declarar el arreglo en el .h y no lo estoy entendiendo..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar