Dev - C++ - Funciones con punteros ( array )

 
Vista:
sin imagen de perfil

Funciones con punteros ( array )

Publicado por anonymous (1 intervención) el 18/11/2017 13:08:02
Hola buenas a todos! He estado desarrollando un programa en C, no se si el post es correcto crearlo aquí, uso el compilador dev C++ pero lo utilizo para programas en C.

Estoy realizando un menú que me pida leer 2 vectores de la misma longitud(1), sumarlos(2), multiplicarlos(3) y la opción de salida(4).
He hecho la mitad porque en la opción 2, luego de capturar los 2 arrays, he metido en la funcion suma para que me imprima los valores capturados anteriormente, pero solo veo que ha capturado los valores de un array correctamente... Algún consejo? El código lo tengo así...


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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <stdio.h>
#include <stdlib.h>
 
void leerVector(int *array1, int k);
void sumarVectores(int *array1, int *array2, int *array3, int k);
 
int main()
{
    int v1,v2,v3,n,m;
 
    printf(" 1.Leer vectores\n");
    printf(" 2.Sumar vectores\n");
    printf(" 3.Multiplicar vectores\n");
    printf(" 4.Salir del programa\n");
 
    do{
 
    do{
    	printf("\n\nSelecciona una opcion: ");
    	fflush(stdin);
	}while(!scanf("%d",&n)||n<1||n>4);
 
	printf("\n");
 
    switch(n){
 
    case 1:
            printf("Introduce la longitud del vector: ");
            scanf("%d",&m);
	        leerVector(&v1,m);
	        system("pause");
	        leerVector(&v2,m);
	        break;
 
	case 2:
	    sumarVectores(&v1,&v2,&v3,m);
	    break;
}
  }while(n!=4);
 
    return 0;
}
 
 
void leerVector(int *array1,int k)
{
    int i;
 
    for(i=0;i<k;i++){
        printf("v[%d]: ",i);
        scanf("%d",array1+i);
    }
}
 
void sumarVectores(int *array1, int *array2, int *array3, int k)
{
	int i;
 
	printf("Los vectores son: \n");
 
	for(i=0;i<k;i++)
		printf("%d ",array1[i]);
 
	printf("\n");
 
	for(i=0;i<k;i++)
        printf("%d ",array2[i]);
 
    printf("\nY la suma de los vectores es: ");
 
    for(i=0;i<k;i++){
        array3[i]=array1[i]+array2[i];
        printf("%d ",array3[i]);
    }
}



// El codigo se ejecutarlo todo en el main... pero el programa se ve menos "estético" , además quiero practicar los punteros con arrays pero creo que algo lo estoy haciendo mal
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder