1 / 9

ARREGLOS BIDIMENSIONALES

ARREGLOS BIDIMENSIONALES. Práctica. Revise el siguiente programa y explique cuál es el resultado. #include <stdio.h> #define FILAS 3 #define COLUMNAS 4 void main ( ) { int i,j ; int M[FILAS][COLUMNAS] ; // lectura por filas for ( i=0; i<FILAS; i++)

blondelle
Download Presentation

ARREGLOS BIDIMENSIONALES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ARREGLOS BIDIMENSIONALES Práctica Elaborado por Fernando Torre - Universidad Simón Bolívar

  2. Revise el siguiente programa y explique cuál es el resultado. • #include <stdio.h> • #define FILAS 3 • #define COLUMNAS 4 • void main ( ) • { • int i,j; • int M[FILAS][COLUMNAS]; • // lectura por filas • for ( i=0; i<FILAS; i++) • for ( j=0; j< COLUMNAS; j++) • scanf(“%d”, &M[i][j]); • //Escribe por columnas • for ( j=0; j<COLUMNAS; j++) • { • for ( i=0; i< FILAS; i++) • printf(“%5d”,M[i][j]); • printf(“\n”); • } • } Declaraciones iniciales Es programa puede ser dividido en varias secciones Lectura de datos en el arreglo M Escritura de los datos del arreglo M Fin del programa Elaborado por Fernando Torre - Universidad Simón Bolívar

  3. Observemos primero la sección con las declaraciones iniciales #include <stdio.h> #define FILAS 3 #define COLUMNAS 4 void main ( ) { int i,j; int M[FILAS][COLUMNAS]; Incluye librería estándar de entrada y salida. • Define dos constantes simbólicas: • FILAS con valor 3 y • COLUMNAS con valor 4 • Observe que no requieren el signo igual ni el punto y coma, y se procesan antes de la compilación. Declara la función main Declara las variables enteras i y j Declara el arreglo M de elementos enteros con dimensiones M[3][4] Elaborado por Fernando Torre - Universidad Simón Bolívar

  4. Veamos ahora la sección que efectúa la lectura de datos por filas en el arreglo M // Lectura por filas for ( i=0; i < FILAS; i++) for ( j=0; j< COLUMNAS; j++) scanf(“%d”, &M[i][j]); Hagámosle un seguimiento a esta sección del programa • Note que la lectura de datos para el arreglo • M[ i ] [ j ] se realiza por FILAS, donde: • se mantiene fijo el valor de la FILAi mientras que • el valor de la COLUMNAj varía de 0 a 3. Los índices i y j de M[ i ] [ j ] varían de acuerdo a las instrucciones for, indicando con cuál valor del arreglo M se está trabajando en ese momento. i = 0 1 2 FILA 2 0 3 2 1 2 3 0 1 0 3 1 j = COLUMNA M[0][0] M[0][1] M[0][2] M[0][3] M[1][0] M[1][1] M[1][2] M[1][3] M = M[2][0] M[2][1] M[2][2] M[2][3] Hasta aquí hemos leído los datos y los hemos almacenado en el arreglo M Vamos primero paso a paso Veamos ahora un elemento a la vez Finalmente veamos una fila completa Elaborado por Fernando Torre - Universidad Simón Bolívar

  5. M[0][0] M[0][1] M[0][2] M[0][3] M[1][0] M[1][1] M[1][2] M[1][3] M[2][0] M[2][1] M[2][2] M[2][3] Examinemos ahora la sección que imprime los datos almacenados en el arreglo M //Escribe por columnas for ( j=0; j<COLUMNAS; j++) { for ( i=0; i< FILAS; i++) printf(“%5d”,M[i][j]); printf(“\n”); } • Observe que el programador utilizó aquí los índices i y j en un orden inverso al que usó para leer los datos: • Aquí la j está primero que la i. • En la sección previa el arreglo M [ i ] [ j ] fue recorrido por FILAS, es decir horizontalmente. • Aquí el arreglo M [ i ] [ j ] es recorrido por COLUMNAS, es decir verticalmente. i = 0 2 1 2 0 1 0 0 1 2 1 2 FILA j = 1 0 3 2 COLUMNA M = Elaborado por Fernando Torre - Universidad Simón Bolívar

  6. Procedamos ahora a observar el orden en que los datos son impresos //Escribe por columnas for ( j=0; j<COLUMNAS; j++) { for ( i=0; i< FILAS; i++) printf(“%5d”,M[i][j]); printf(“\n”); } M[0][0] M[1][0] M[2][0] “\n” es Salto de línea M[0][1] M[1][1] M[2][1] “\n” es Salto de línea M[0][2] M[1][2] M[2][2] “\n” es Salto de línea M[0][3] M[1][3] M[2][3] “\n” es Salto de línea • La matriz que fue introducida con • 3 filas y 4 columnas, aparece impresa como de • 4 filas y 3 columnas. Elaborado por Fernando Torre - Universidad Simón Bolívar

  7. Un programa que lee una matriz 3 X 3 de valores reales, luego:·Calcule la suma de cada fila y la almacena en un vector·Calcule la suma de cada columna y la almacena en otro vector. Para este programa se definen los siguientes elementos de datos: Sum_colum: vector de 3 elementos reales Matriz: arreglo de elementos reales con dimensión 3x3 Sum_fila: vector de 3 elementos reales Sum_colum: contiene la suma de cada columna. Sum_fila: contiene la suma de cada fila Elaborado por Fernando Torre - Universidad Simón Bolívar

  8. #include <stdio.h> • #define N 3 • void main ( ) • { • float matriz[N][N]; // Entrada • float sum_fila[N], sum_colum[N]; // Salida • int i,j; • for (i=0; i<N; i++){ • sum_fila[i]= 0.0; • sum_colum[i]= 0.0; • } • // Lee los datos para la matriz • printf("Introduzca los %d elementos de la matriz por fila\n", N*N); • for ( i=0; i<N; i++) • for (j=0; j<N; j++) • scanf("%f", &matriz[i][j]); • // Suma las filas • for ( i=0; i<N; i++) • for (j=0; j<N; j++) • sum_fila[i] = sum_fila[i]+matriz[i][j] ; • // Suma las columnas • for ( j=0; j<N; j++) • for (i=0; i<N; i++) • sum_colum[j] = sum_colum[j] + matriz[i][j] ; • // Imprime las sumas de cada fila y cada columna • for (i=0; i<N; i++) • printf("La suma de la fila %d es: %5.2f y la • suma de la columna %d es: %5.2f \n", • i,sum_fila[i],i, sum_colum[i]); • } Definiciones iniciales y declaración de variables Inicializa los arreglos sum_fila y sum_colum a cero Lee los datos y los almacena en el arreglo matriz Recorre cada fila y almacena la suma en sum_fila Recorre cada columna y almacena la suma en sum_column Imprime la suma de cada fila y de cada columna Fin de programa Elaborado por Fernando Torre - Universidad Simón Bolívar

  9. Interacción con el programa Primero el programa solicita al usuario los datos para llenar la matriz, para ello hemos introducido unos datos de prueba, y luego se muestran los resultados para esos datos: Introduzca los 9 elementos de la matriz por fila 1 2 3 4 5 6 7 8 9 La suma de la fila 0 es:6.00 y lasuma de la columna 0 es: 12.00 La suma de la fila 1 es: 15.00 y lasuma de la columna 1 es: 15.00 La suma de la fila 2 es: 24.00 y lasuma de la columna 2 es: 18.00 Elaborado por Fernando Torre - Universidad Simón Bolívar

More Related