Autor
|
Tema: Matriz principal con secundaria (Leído 5,548 veces)
|
Jaua10
Desconectado
Mensajes: 43
|
Buenas noches disculpen tengo una duda es posible hacer una matriz de 5x5 y que su diagonal principal se cambie por la diagonal secundaria? y viceversa? tengo un codigo pero no se como hacerlo en dev c++
|
|
|
En línea
|
|
|
|
engel lex
|
si es posible...
no se dan codigos hechos, se resuelven dudas, publica lo que llevas de codigo (usa las etiqeutas GeSHi) y en que tienes duda
|
|
|
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.
|
|
|
Jaua10
Desconectado
Mensajes: 43
|
Esto es lo que tengo adelantado y llevo dias tratando de resolver pero no logro conseguir que me ponga la diagonal principal como la secundaria #include <stdio.h> #include <conio.h> main() { int fila,columna,i,n,e,aux; int matriz[10][10]; printf("Ingrese el dimension de fila: "); scanf("%d",&fila); printf("Ingrese el dimension de columna: "); scanf("%d",&columna); matriz[1][1]=matriz[fila][columna]; printf("\nMatriz de [%d]x[%d]\n",fila,columna); printf("\n"); for(i=0;i<fila;i++){ for(n=0;n<columna;n++){ printf("Ingrese el valor de posicion [%d][%d]: ",i+1,n+1); scanf("%d",&matriz[i][n]); } } printf("\nLa matriz original:\n\n"); for(i=0;i<fila;i++){ for(n=0;n<columna;n++){ printf("[%d]",matriz[i][n]); } printf("\n"); } printf("\nLa matriz con intercambio de diagonal principal por la secundaria\n\n"); printf("\n"); e=10; for (i=0;i<=fila;i++) { for (n=0;n<=columna;n++) { if (i==n) { aux=matriz[i][e]; matriz[i][e]=matriz[i][n]; matriz[i][n]=aux; e--; } };
}; for (i=0;i<=10;i++) { printf("\n"); for (n=0;n<=10;n++) { printf("[%d]",matriz[i][n]); };
}; getch(); return 0; } gracias de ante mano
|
|
« Última modificación: 21 Noviembre 2014, 06:17 am por Jaua10 »
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Lo primero que debes hacer es evitar el uso de la biblioteca conio de Borland, cambiar la definición de la función main a "int main(void) ..." o "int main() ...", mas información en la pagina |Lo que no hay que hacer en C/C++. Nivel basico|. * Debes eliminar la sentencia: matriz[1][1]=matriz[fila][columna];
Ya que es inutil y puede causar que el programa reviente si se indica una matriz de diez filas y columnas. * Las llaves de cierre no requieren de un punto después de estas: for (n=0; n<=10; n++){ };
Ese punto y coma se procesa como una sentencia nula, esta de mas y hay que eliminarla. Y si el cuerpo del bucle es una sola sentencia no hay necesidad de paréntesis con lo cual el bucle anterior se reduce a: for (n=0; n<=10; n++)
* En el ultimo bucle donde imprimes la matriz con las diagonales intercambiadas utilizas 10 como el limite de ambos bucles cuando deberías utilizar fila y columna. * Por ultimo para intercambiar los valores de las diagonales solo necesitas de un bucle, de esta forma: for (i = 0; i < fila; i++){ aux = matriz[i][i]; matriz[i][i] = matriz[i][columna - 1 - i]; matriz[i][columna - 1 - i] = aux; }
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
Jaua10
Desconectado
Mensajes: 43
|
#include <stdio.h> #include <conio.h> main() { int fila,columna,i,n,e,aux; int matriz[10][10]; printf("Ingrese el dimension de fila: "); scanf("%d",&fila); printf("Ingrese el dimension de columna: "); scanf("%d",&columna);
printf("\nMatriz de [%d]x[%d]\n",fila,columna); printf("\n"); for(i=0;i<fila;i++){ for(n=0;n<columna;n++){ printf("Ingrese el valor de posicion [%d][%d]: ",i+1,n+1); scanf("%d",&matriz[i][n]); } } printf("\nLa matriz original:\n\n"); for(i=0;i<fila;i++){ for(n=0;n<columna;n++){ printf("[%d]",matriz[i][n]); } printf("\n"); } printf("\nLa matriz con intercambio de diagonal principal por la secundaria\n\n"); printf("\n"); e=10; for (i=0;i<=fila;i++) { for (n=0;n<=columna;n++) { if (i==n) { aux=matriz[i][e]; matriz[i][e]=matriz[i][n]; matriz[i][n]=aux; e--; } }
} for (i=0;i<=fila;i++) { printf("\n"); for (n=0;n<=columna;n++) { for (i = 0; i < fila; i++){ aux = matriz[i][i]; matriz[i][i] = matriz[i][columna - 1 - i]; matriz[i][columna - 1 - i] = aux;
printf("[%d]",matriz[i][n]); } }
} No logro conseguir que se intercambien las diagonales, me sivio de mucho lo explicado antes, aunque sigo sin poder tener resultado no se que puedo tener malo
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Haz mezclado parte de tu código con el que te propuso rir3760. A ver si con esto te funciona ( sobra la e=10 que no sé que pintaba en todo esto): printf("\nLa matriz con intercambio de diagonal principal por la secundaria\n\n"); printf("\n"); for (i = 0; i < fila; i++) { aux = matriz[i][i]; matriz[i][i] = matriz[i][columna - 1 - i]; matriz[i][columna - 1 - i] = aux; } for (i=0;i<fila;i++) { for (n=0;n<columna;n++) printf("[%d]",matriz[i][n]); printf("\n"); }
¡¡¡¡ Saluditos! ..... !!!!
|
|
|
En línea
|
|
|
|
Jaua10
Desconectado
Mensajes: 43
|
Muchas gracias leosansan la modificacion de codigo que hiciste funciono y le pude agregar otros detalles perfectamente sin tener error alguno.Feliz dia
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Diagonal secundaria de matriz.!
Scripting
|
cuazzo
|
6
|
32,283
|
22 Junio 2010, 01:17 am
por cuazzo
|
|
|
Moverse por las paralelas a la diagonal secundaria de una matriz.
Programación C/C++
|
AlucardDracula
|
4
|
3,032
|
17 Diciembre 2013, 22:34 pm
por AlucardDracula
|
|
|
Recorrido de matriz diagonal secundaria c++
Programación C/C++
|
SojatDotar
|
4
|
10,806
|
21 Octubre 2015, 04:10 am
por SojatDotar
|
|
|
ayuda con la diagonal principal de una matriz para dejarla vacía
Programación C/C++
|
creiko
|
2
|
2,360
|
1 Junio 2016, 20:00 pm
por geeke
|
|
|
ayuda diagonal principal y secundaria phyton 3
Scripting
|
papess
|
2
|
12,459
|
13 Mayo 2019, 18:51 pm
por papess
|
|