Lección 012: Arreglos multidimensionales
2 participantes
Página 1 de 1.
Lección 012: Arreglos multidimensionales
Ejercicio 1: Modifiquen los programas vistos como ejemplo en la lección para que, si el usuario no ingresa un entero, notifiquen el error y vuelvan a pedir el valor correcto.
-----------------------------------------------------------------
Ejercicio 2: Se llama matriz cuadrada a toda aquella matriz que tiene tantas filas como columnas, o sea, si tiene 5 filas tiene 5 columnas. La transpuesta de una matriz cuadrada es aquella matriz que tiene como columnas lo que antes eran filas. O sea, si tenemos una matriz cuadrada A, una matriz cuadrada B es transpuesta de A si las columnas de B son iguales a las filas de A, o sea, si se satisface que B[i,j]=A[j,i] para todos los valores posibles de i y j.
Ejemplo. Sea A de 5 filas y 5 columnas como se muestra en la figura, veamos como sería su transpuesta B:
A
1 2 3 4 5
0 0 0 0 0
1 1 1 1 1
5 4 3 2 1
2 2 2 2 2
B
1 0 1 5 2
2 0 1 4 2
3 0 1 3 2
4 0 1 2 2
5 0 1 1 2
Como ven, lo que en A eran filas, en B son columnas. La primera fila de A que contiene los valores 1, 2, 3, 4 y 5 es la primera columna de B 1, 2, 3, 4 y 5, y así sucesivamente.
Escriban un programa que calcule la transpuesta de un arreglo de números reales con cinco filas y cinco columnas. Los valores de la matriz se leen desde la entrada estándar. El resultado se debe imprimir en la salida estándar. Recuerden la relación B[i,j]=A[j,i] para que sean transpuestas.
Este ejercicio no es muy complicado. Tal vez lo peor de esto es que trabaja con una propiedad matemática de las matrices y para aquellos que no lo han estudiado puede resultar difícil de comprender. Aún así creo que no deberían tener problemas, sin embargo se trata de comprender el Álgebra Lineal y eso no es lo que quiero en este curso.
============================================================================
Navegación:
-----------------------------------------------------------------
Ejercicio 2: Se llama matriz cuadrada a toda aquella matriz que tiene tantas filas como columnas, o sea, si tiene 5 filas tiene 5 columnas. La transpuesta de una matriz cuadrada es aquella matriz que tiene como columnas lo que antes eran filas. O sea, si tenemos una matriz cuadrada A, una matriz cuadrada B es transpuesta de A si las columnas de B son iguales a las filas de A, o sea, si se satisface que B[i,j]=A[j,i] para todos los valores posibles de i y j.
Ejemplo. Sea A de 5 filas y 5 columnas como se muestra en la figura, veamos como sería su transpuesta B:
A
1 2 3 4 5
0 0 0 0 0
1 1 1 1 1
5 4 3 2 1
2 2 2 2 2
B
1 0 1 5 2
2 0 1 4 2
3 0 1 3 2
4 0 1 2 2
5 0 1 1 2
Como ven, lo que en A eran filas, en B son columnas. La primera fila de A que contiene los valores 1, 2, 3, 4 y 5 es la primera columna de B 1, 2, 3, 4 y 5, y así sucesivamente.
Escriban un programa que calcule la transpuesta de un arreglo de números reales con cinco filas y cinco columnas. Los valores de la matriz se leen desde la entrada estándar. El resultado se debe imprimir en la salida estándar. Recuerden la relación B[i,j]=A[j,i] para que sean transpuestas.
Este ejercicio no es muy complicado. Tal vez lo peor de esto es que trabaja con una propiedad matemática de las matrices y para aquellos que no lo han estudiado puede resultar difícil de comprender. Aún así creo que no deberían tener problemas, sin embargo se trata de comprender el Álgebra Lineal y eso no es lo que quiero en este curso.
============================================================================
Navegación:
- Ir al índice del curso.
- Ir al índice de ejercicios de Pascal.
Ejercicio 1: 012
Modifiquen los programas vistos como ejemplo en la lección para que, si el usuario no ingresa un entero, notifiquen el error y vuelvan a pedir el valor correcto.
Para poner que no es numero puse IF (a not 0..maxint) THEN
read(a);
arreglo[i]:=a;
Obviamente no funciona pero no se me ocurre otra manera de poner que no sean numeros. Alguna idea?
Para poner que no es numero puse IF (a not 0..maxint) THEN
read(a);
arreglo[i]:=a;
Obviamente no funciona pero no se me ocurre otra manera de poner que no sean numeros. Alguna idea?
Maria_5- Mensajes : 3
Fecha de inscripción : 29/08/2013
Re: Lección 012: Arreglos multidimensionales
Si a es una variable de tipo CHAR no pudes compararla con números. Lo que tienes que hacer es usar su ordinal en la tabla ASCII...
Te propongo primero repasar eso en lecciones anteriores y luego vuelve a consultarme.
Te propongo primero repasar eso en lecciones anteriores y luego vuelve a consultarme.
Temas similares
» Lección 011: El uso de arreglos
» Lección 021: Complemento de arreglos y registros.
» Lección 018: Enumerados
» Soluciones lección 005
» Lección 001: Sugerencias
» Lección 021: Complemento de arreglos y registros.
» Lección 018: Enumerados
» Soluciones lección 005
» Lección 001: Sugerencias
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.