C/Visual C - Ayuda conconseptos y proga de puntros

 
Vista:
Imágen de perfil de Noé Baldemar
Val: 18
Ha disminuido su posición en 15 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Ayuda conconseptos y proga de puntros

Publicado por Noé Baldemar (4 intervenciones) el 18/11/2016 23:39:27
Hola muchos gusto saludar al foro:
tengo un problema de conceptos en punteros, en el siguiente código que agregaré comprende un simple programa el cual mediante módulos(funciones) se realiza la multiplicidad de n(valor obtenido del teclado) de una arreglo bidimensional, pero con notación de punteros, sólo que me genera un error de lógica la cual no logro percatar, ya que durante la ejecución el programa truena.

Espero me puedan ayudar, de antemano les gradezco mucho su tiempo y dedicación; saludos.

Coloco mi código fuente(si me indican como subir el archivo .c para mayor practicidad se los agradecería mucho).


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
#include <stdio.h>
#include <stdlib.h>
 
void vector(double *v);
void imprimir(double *v);
void llenar(double *v);
void multiplicidad(double *v, int n);
 
int main(void)
{
    int i, j;
    double *v;
 
    printf("\n Entra \n");
    printf("llenar datos \n");
    llenar(v);
    vector(v);
    printf("\n Entra \n");
 
    multiplicidad(v, 2);
   /* for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3; j++)
            *(v + i + j) *= 2;
    } */
    printf("\n Entra \n");
 
    printf("\n");
    vector(v);
    printf("\n Entra \n");
 
printf("\n"); system("pause"); return 0;}
 
void vector(double *v)
{
    imprimir(v);
}
 
void imprimir(double *v)
{
    int i, j;
 
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < 2; j++)
            printf("%lf ", *(v + i + j));
    }
}
 
void llenar(double *v)
{
    int i, j;
 
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < 2; j++)
            scanf("%lf", (v + i + j));
    }
}
 
void multiplicidad(double *v, int n)
{
    int i, j;
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < 2; j++)
           *(v + i + j) *= n;
    }
}
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
sin imagen de perfil

Ayuda conconseptos y proga de puntros

Publicado por Diego (150 intervenciones) el 19/11/2016 02:41:24
1
2
3
4
5
6
7
8
void llenar(double *v)
{
	int i, j;
	for (i = 0; i < 2; i++){
		for (j = 0; j < 2; j++)
		scanf("%lf", *(v + i + j));
	}
}

Es lo que pude ver de momento, pero sería mas legible si pegaras el código usando el botón "Insertar codigo"
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
sin imagen de perfil
Val: 296
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Ayuda conconseptos y proga de puntros

Publicado por agustin (272 intervenciones) el 19/11/2016 07:56:45
No reservas memoria para v en ningún sitio con lo que v apuntará hacia cualquier sitio y, o te da error al intentar acceder a una dirección inexistente, o te lo da al ontentar escribir sobre una zona sin permiso de escritura, o escribes en algún sitio pisando parte de tu programa.
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