Autor
|
Tema: Matrices (Leído 2,637 veces)
|
yesid1718
Desconectado
Mensajes: 6
|
|
Matrices
« en: 23 Octubre 2016, 04:32 am » |
|
Tengo un codigo en c y en este creo una matriz la imprimo y la sumo luego los valores de las fila pares e impares se guardan en vectores diferentes hasta esta parte todo esta bien pero al sumar los vectores no me aparecen bien los valores de la suma correctamente me aparecen unos números largos todo extraños y no se cual es el error porfavor me podrian ayudar con este tema.?
|
|
|
En línea
|
|
|
|
engel lex
|
sin ver tu codigo puede ser que sumaste mal, fallaste colocando algo en las matrices ya que no tiene claridad de como se usan, estás imprimiendo lo que no debes, nunca las inicializaste.... las posibilidades son muchas...
si colocas tu codigo usa las etiquetas GeSHi
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
yesid1718
Desconectado
Mensajes: 6
|
#include<stdio.h> #include<conio.h> //Declaracion de funciones void llenar_matriz( int A[10][10] , int , int); void imprimir_matriz(int A[10][10] , int , int); void llenar_vectorpar(int B[25], int A[10][10], int, int ); void llenar_vectorimpar(int G[25], int A[10][10], int, int ); void suma_vectorA(int A[25] , int, int ); void sumar_matriz(int A[10][10] , int , int); // programa principal void main(){ //zona de declaración de variables locales int f; int g; int A[10][10]; int B[25]; int G[25]; printf("ingrese el nuemro de filas \n"); printf("ingrese el nuemro de columnas \n"); llenar_matriz (A,g, f); imprimir_matriz (A, g, f); sumar_matriz(A,g,f); llenar_vectorpar(B,A, g, f); llenar_vectorimpar(G,A, g, f); suma_vectorA( B, g,f ); suma_vectorA( G, g,f ); } void llenar_matriz (int A[10][10] , int g , int f) { int fila,columna; for (fila=0; fila<=g; fila++) { for (columna=0; columna<=f; columna++) { printf ("digite el valor en la posicion %d %d", fila , columna ); scanf("%d", &A [fila ][columna ]); } } } void sumar_matriz(int A[10][10] , int g , int f ){ int fila,columna; int Ac=0 ; for (fila=0; fila<=g; fila++) { for (columna=0; columna<=f; columna++) { Ac= A[fila][columna] + Ac ; } } printf("\nla suma de la matriz es:\n "); } void imprimir_matriz( int A[10][10], int g , int f ) { int fila,columna; for (fila=0; fila<=g; fila++) { for (columna=0; columna<=f; columna++) { printf ("\t %d", A [fila ][columna ]); } } } void llenar_vectorpar(int B[25], int A[10][10], int g , int f) { int fila,columna; printf("\nvector para las filas par\n"); for (fila=0; fila<=g; fila++) { for (columna=0; columna<=f; columna++){ if(fila % 2 == 0) { B[fila]=A[fila][columna]; } } } } void llenar_vectorimpar(int G[25], int A[10][10], int g, int f ){ int fila,columna; printf("\nvector para las filas impar\n\n"); for (fila=0; fila<=g; fila++) { for (columna=0; columna<=f; columna++){ if(fila % 2 != 0) { G[fila]=A[fila][columna]; } } } } void suma_vectorA(int B[25] , int g, int f) { int Ac=0; int i; for ( i=0 ; i<=g ; i++){ Ac= B[i] + Ac ; } printf( "\nla suma de los valores del vector para filas pares es:\n "); }
Este es el código no se que tengo mal te agradeceria que me ayudaras. Mod: Los códigos deben ir en etiquetas GeSHi
|
|
« Última modificación: 23 Octubre 2016, 05:04 am por engel lex »
|
En línea
|
|
|
|
engel lex
|
ahora corre tu código y muestra una captura de pantalla a ver el resultado
aunque de antemano en los for veo unos menor o igual, que deberian ser solo menor que
y en general, main debe ser tipo int y retornar 0...
|
|
« Última modificación: 23 Octubre 2016, 05:11 am por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
yesid1718
Desconectado
Mensajes: 6
|
|
|
« Última modificación: 23 Octubre 2016, 06:21 am por yesid1718 »
|
En línea
|
|
|
|
engel lex
|
fijate el error que te digo (en tiempo de ejecución) filas: 1, columnas: 1 vector: 1 2 3 4 en ese vector cuento 2 filas y 2 columnas el error está en void llenar_vectorpar(int B[25], int A[10][10], int g , int f) { int fila,columna; printf("\nvector para las filas par\n"); for (fila=0; fila<=g; fila++) { for (columna=0; columna<=f; columna++){ if(fila % 2 == 0) { B[fila]=A[fila][columna]; } } } }
cuando llenas B o G, saltas la posición... es decir en ese segmento, nunca llenas B[1] por ejemplo, asi que cuando llegas a llenar vector y accedes a B[1], contiene basura como es de esperar
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
matrices en C#
Programación General
|
volterra
|
4
|
10,191
|
18 Mayo 2010, 06:26 am
por Og.
|
|
|
matrices
Programación C/C++
|
aral90
|
2
|
2,248
|
9 Diciembre 2011, 20:13 pm
por aral90
|
|
|
matrices
.NET (C#, VB.NET, ASP)
|
legomanticore
|
4
|
3,569
|
14 Mayo 2012, 03:02 am
por $Edu$
|
|
|
matrices en c
Programación C/C++
|
ALONSOQ
|
9
|
4,787
|
27 Junio 2012, 05:15 am
por twins
|
|
|
matrices
Programación C/C++
|
lorderick
|
3
|
3,069
|
8 Septiembre 2012, 05:12 am
por CSQCasimiro
|
|