SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
ARREGLOS
ARREGLOS UNIDIMENCIONALES


Es un tipo de dato estructurado que almacena en una sola
variable un conjunto limitado de datos o elementos del mismo
tipo. Así mismo corresponde a las localidades de memoria
contiguas donde la dirección más baja corresponde al primer
elemento y la dirección más alta al último.

• Un arreglo en lenguaje C inicia en la
posición cero, por lo tanto el i-ésimo
elemento está en la posición i-1, es
decir si el arreglo llamado a tiene n
elementos, sus nombres son
a[0], a[1],…a[n-1].
El tipo de datos almacenado en el
arreglo puede contener cualquier tipo
de dato.
ARREGLOS
UNIDIMENCIONALES
Un arreglo se caracteriza por:
1.
2.
3.

4.

Ser una lista de un número finito de n elementos del
mismo tipo.
Almacenar los elementos del arreglo en memoria
contigua.
Tener un único nombre de variable que representa
a todos los elementos y éstos se diferencian por un
índice o un subíndice
Acceder de manera directa o aleatoria a los
elementos individuales del arreglo, por el nombre
del arreglo y el índice o subíndice.
ARREGLOS
UNIDIMENCIONALES
Formato para declarar un formato unidimensional
Donde:
tipo_dato: se refiere al tipo de dato de cada
elemento del arreglo: puede ser entero, carácter,
real, etc.
identif_arreglo: es el nombre que representa a todo
el arreglo
tam_arreglo: la cantidad del elementos del arreglo
ARREGLOS
UNIDIMENCIONALES


Por ejemplo, para declarar un arreglo de
enteros llamado listanum con diez elementos se
hace de la siguiente forma:

int listanum[10];
En C, todos los arreglos usan cero como índice para
el primer elemento.
ARREGLOS
UNIDIMENCIONALES


La forma como pueden ser accesados
los elementos de un arreglo, es de la
siguiente forma:
listanum[2] = 15; /* Asigna 15 al 3er

elemento del
arreglo listanum*/

num = listanum[2]; /* Asigna el contenido

del 3er elemento a
la variable num */
ARREGLOS
UNIDIMENCIONALES
A continuación se muestra un
arreglo de números reales cuyo
identificador es x:
ARREGLOS
UNIDIMENCIONALES
 El

siguiente ejemplo muestra la forma de
pedirle 10 números al usuario e imprimirlos
después , utilizando for .
ARREGLOS DE CARACTERES


Una cadena de texto es un conjunto de
caracteres. Recordemos que en C no existe el tipo
de dato cadena (string), por lo que se utiliza un
arreglo de caracteres, para poder almacenar una
cadena.
ARREGLOS DE CARACTERES


Cabe mencionar que un arreglo de caracteres va a
contener un carácter nulo al final (0). El compilador lo
va a aumentar automáticamente este carácter al final
de la cadena de modo que la secuencia quedaría así:
ARREGLOS DE CARACTERES


Si queremos almacenar una cadena de caracteres es el uso
de la palabra scanf pero si queremos almacenar una
cadena de con espacios en blanco podemos utilizar una
palabra que se llama gets y esta en la librería string.h. Esta
palabra solo se utiliza para leer cadena de caracteres y
scanf para cualquier tipo de variables.
1. /*Este programa convierte una
l¡nea de texto de MAYUSCULAS
a MINUSCULAS
2. utilizando el ciclo DO-WHILE*/
3. #include <stdio.h>
4. #include <conio.h>
5. #include <string.h> /* gets*/
6. #include <ctype.h> /*tolower*/
7. main()
8. {
9. char cadena[100];
10. int TAM, car, i=0;

15. {
16. car=cadena[i];
17. if((car>=65)&&(car<=90))
18. {
19. cadena[i]=tolower(cadena[i]);
/* Convierte un carácter, en un
parámetro entero , a minúscula*/
20. }
21. i++;
22. }
23. while (i<=TAM-1);
24. printf("t %s",cadena);
11. printf("Escribe la linea de texto : 25. getch();
tnn");
26. }
12. gets(cadena);
13. TAM=strlen(cadena); /* strlen
calcula el no. de caracteres en
un cadena*/
14. do
1.
2.

/*Archivo:Leegets.c
Lectura de variables cadena */

6.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()

7.

{

8.

char szNombre[10];
system ("cls");
printf ("n CUAL ES EL NOMBRE?-----> ");
gets (szNombre);
printf("n su nombre es -----> %sn", szNombre);
printf("n su inicial es -----> %cn", szNombre[0]);
printf("n la tercera letra de tu nombr es -----> %cn", szNombre[2]);
printf ("n");

3.
4.

5.

9.
10.

11.
12.
13.
14.

15.

system ("pause");
17. }
16.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

/* Ordenamiento de arreglo por
método de burbuja */
16.
#include <stdio.h>
17.
#include <stdlib.h>
18.
#define SIZE 10
19.
main( )
20.
{
21.
int a[SIZE]=
22.
{12,35,6,48,8,27,32,87,52,75};
int i, temporal, ciclo;
23.
printf("Los valores en el orden
original son: n");
24.
for (i=0; i< SIZE ; i++)
25.
printf("%d, ", a[i]);
/* Ordenamiento */
26.
for (ciclo=0; ciclo<SIZE; ciclo++) 27.
for (i=0; i<SIZE; i++)
/*Intercambio de valores en
caso de no estar en orden */

if (a[i] > a[i+1])
{
temporal = a[i];
a[i] = a[i+1];
a[i+1]= temporal;
}
/*Impresion de valores
ordenados */
printf("nLos valores
ordenados son: n");
for (i=0; i< SIZE; i++)
printf("%d, ", a[i]);
system ("pause");
}
1.

/* Ordenamiento de arreglo por método de
burbuja */
#include <stdio.h>
#include <stdlib.h>
main( )
{
int i, temporal, ciclo,n;
int a[n];
printf("de que tamaño es tu arreglo? n");
scanf ("%d",&n);
printf("Dame los datos de tu arreglo: n");
for (i=0; i< n ; i++)
{
printf("dato %d ---> ",i);
scanf ("%d",&a[i]);

2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16. }
17. printf("Los elementos del arreglo son: n");
18.
for (i=0; i< n ; i++)
19.
printf("dato %d ---> %d n",i,a[i]);

20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.

/* Ordenamiento */
for (ciclo=0; ciclo<n; ciclo++)
for (i=0; i<n; i++)
/*Intercambio de valores en caso de no
estar en orden */
if (a[i] > a[i+1])
{
temporal = a[i];
a[i] = a[i+1];
a[i+1]= temporal;
}
/*Impresion de valores ordenados */
printf("nLos valores ordenados son: n");
for (i=0; i< n; i++)
printf("dato %d---> %d n",i, a[i]);

34. system ("pause");
35. }
ARREGLOS
BIDIMENSIONALES
 Un

arreglo puede tener más de una
dimensión, de tal manera que forme matrices
de dos, tres o aun más dimensiones.
Generalmente los arreglos no suelen
recomendarse para más de tres dimensiones,
ya que se vuelven muy difíciles de entender.
ARREGLOS
BIDIMENSIONALES


Conjunto de n elementos del mismo tipo
almacenados en memoria contigua en una matriz
o tabla. A diferencia de los arreglos
unidimencionales se requiere aquí de dos índices
declarados en dos pares de corchetes, donde el
primero se refiere al tamaño de las filas y el
segundo al tamaño de las columnas
ARREGLOS
BIDIMENSIONALES
Para declarar una tabla de 3 filas y columnas, se hará de la siguiente forma:

El No. D elementos será fila por columna por lo que quedarían así
ARREGLOS
BIDIMENSIONALES


Para especificar los valores de un arreglo
ARREGLOS
BIDIMENSIONALES


Para la lectura de datos la computadora requiere
de dos ciclos anidados uno para ubicar las filas y
otro para ubicar las columnas
ARREGLOS
BIDIMENSIONALES
Matriz de 3 filas por 4 columnas
1.

2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.

/*sumabidimensional*/
#include<stdio.h>
#include<stdlib.h>
main()
{
int f,c,matriz[2][3],suma=0;
for(f=0;f<2;f++)
{
for(c=0;c<3;c++)
{
printf("ttElemento[%d][%d]: ",f,c);
scanf("%d",&matriz[f][c]);
suma = suma+matriz[f][c];
}
}
printf("ntLa suma de los elementos de una matriz es:
%dn", suma);
system ("pause");
}
/*ALMACENAR UNA MATRIZ DE n*n E IMPRIMIR LOS
ELEMENTOS Y SUMAR
LOS ELEMENTOS DE LA DIAGONAL PRINCIPAL*/
#include<stdio.h>
printf("nSuma de la diagonal principal es : %fn",
#include<stdlib.h>
suma);
main()
system ("pause");
{
}
float a[50][50],suma=0;
int i,j,n,m;
printf("n No. de filas= ");
scanf ("t %d",&n);
printf("n No. de columnas= ");
scanf ("t %d",&m);
for(i=0;i<n;i++)
{
printf("Lectura de la fila %d de la matriz A: n",i+1);
for(j=0;j<m;j++)
{
printf(" A (%d,%d)=", i+1,j+1);
scanf ("%f",&a[i][j]);
}
}
for(i=0; i<n; i++)
suma = suma+a[i][i];
1.

2.

3.
4.
5.
6.
7.

8.
9.
10.
11.
12.
13.
14.
15.
16.

17.
18.
19.
20.
21.
22.

/*Diseñar un programa en C que lea una
matriz de 3*3. Sumar las columnas e
imprimir
que columna tuvo la máxima suma y la
suma de esa columna.*/
#include<stdio.h>
#include<stdlib.h>
main()
{
int
matriz[3][3],sumac,f,c,mayor=0,numc;
for(f=0;f<3;f++)
{

23.
24.

}

25.

for(c=0;c<3;c++)
{
sumac=0;
for(f=0;f<3;f++)
{
sumac+=matriz[f][c];
}

26.

27.
28.
29.
30.
31.
32.
33.

34.
for(c=0;c<3;c++)
35.
{
printf("Elemento[%d][%d]: ",f+1,c+1); 36.
37.
scanf("%d",&matriz[f][c]);
38.
}
39.
}

printf("n***DATOS DE LA MATRIZ
INTRODUCIDA***n");
for(f=0;f<3;f++)
{
for(c=0;c<3;c++)
{
printf(" %d ",matriz[f][c]);
}

printf("n");

40.
41.

printf("nSUMA
COLUMNA[%d]:%dn",c+1,sumac);
if(sumac>mayor)
{
mayor=sumac;
numc=c;
}
}
printf("nLa columna con mayor suma es:
%d y su valor es: %dn",numc+1,mayor);
system ("pause");
}
Arreglos unidimensionales y bidimensionales en C

Contenu connexe

Tendances (20)

Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
T A B L A D E D I S P E R S I O N (Hash Table)
T A B L A  D E  D I S P E R S I O N (Hash Table)T A B L A  D E  D I S P E R S I O N (Hash Table)
T A B L A D E D I S P E R S I O N (Hash Table)
 
LISTAS DOBLEMENTE ENCADENADAS
LISTAS DOBLEMENTE ENCADENADASLISTAS DOBLEMENTE ENCADENADAS
LISTAS DOBLEMENTE ENCADENADAS
 
estructura lineales
estructura linealesestructura lineales
estructura lineales
 
Listas
ListasListas
Listas
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colas
 
2 poo u1 10 salida con formato y flujos de entrada
2 poo u1 10 salida con formato y flujos de entrada2 poo u1 10 salida con formato y flujos de entrada
2 poo u1 10 salida con formato y flujos de entrada
 
Listas
ListasListas
Listas
 
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
 
Tema7 dinamicas
Tema7 dinamicasTema7 dinamicas
Tema7 dinamicas
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Tarea 1 bash
Tarea 1 bashTarea 1 bash
Tarea 1 bash
 
Estructuras No Lineales
Estructuras No LinealesEstructuras No Lineales
Estructuras No Lineales
 
Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.
 
Estructuras basicas de_c_
Estructuras basicas de_c_Estructuras basicas de_c_
Estructuras basicas de_c_
 
Estructuras lineales y no lineales
Estructuras lineales y no linealesEstructuras lineales y no lineales
Estructuras lineales y no lineales
 
Teoria de listas
Teoria de listasTeoria de listas
Teoria de listas
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 

Similaire à Arreglos unidimensionales y bidimensionales en C

Similaire à Arreglos unidimensionales y bidimensionales en C (20)

Arreglos
ArreglosArreglos
Arreglos
 
arrays
arraysarrays
arrays
 
Material iii parcial
Material iii parcialMaterial iii parcial
Material iii parcial
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Arrays C++
Arrays C++Arrays C++
Arrays C++
 
Cuaderno digital
Cuaderno digitalCuaderno digital
Cuaderno digital
 
18 tipos-de-datos
18 tipos-de-datos18 tipos-de-datos
18 tipos-de-datos
 
Arreglos C++
Arreglos C++Arreglos C++
Arreglos C++
 
Arreglos en c++2020
Arreglos en c++2020Arreglos en c++2020
Arreglos en c++2020
 
Una de las variables en programación que pocas veces se utilizan por desconoc...
Una de las variables en programación que pocas veces se utilizan por desconoc...Una de las variables en programación que pocas veces se utilizan por desconoc...
Una de las variables en programación que pocas veces se utilizan por desconoc...
 
Arreglos
ArreglosArreglos
Arreglos
 
Cadenas
CadenasCadenas
Cadenas
 
Descomposicion funcional parte ii 2013 2
Descomposicion funcional parte ii 2013 2Descomposicion funcional parte ii 2013 2
Descomposicion funcional parte ii 2013 2
 
Bryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglosBryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglos
 
12637788.ppt
12637788.ppt12637788.ppt
12637788.ppt
 
Ambiente de programacin en pascal
Ambiente de programacin en pascalAmbiente de programacin en pascal
Ambiente de programacin en pascal
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 
Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 

Plus de Monica Castillo (20)

T3
T3T3
T3
 
T2
T2T2
T2
 
T1
T1T1
T1
 
2 ex parcial_b_gpo1115
2 ex parcial_b_gpo11152 ex parcial_b_gpo1115
2 ex parcial_b_gpo1115
 
2 ex parcial_a_gpo1115
2 ex parcial_a_gpo11152 ex parcial_a_gpo1115
2 ex parcial_a_gpo1115
 
2 ex parcial_b_respuestas
2 ex parcial_b_respuestas2 ex parcial_b_respuestas
2 ex parcial_b_respuestas
 
2 ex parcial_a_respuestas
2 ex parcial_a_respuestas2 ex parcial_a_respuestas
2 ex parcial_a_respuestas
 
Tema 5
Tema 5Tema 5
Tema 5
 
Serie algoritmos
Serie algoritmosSerie algoritmos
Serie algoritmos
 
Serie pseint
Serie pseintSerie pseint
Serie pseint
 
T4 1
T4 1T4 1
T4 1
 
Linux esquema
Linux esquemaLinux esquema
Linux esquema
 
Linux practica 4
Linux practica 4Linux practica 4
Linux practica 4
 
T3
T3T3
T3
 
P no 2
P no 2P no 2
P no 2
 
T2
T2T2
T2
 
P no 1
P no 1P no 1
P no 1
 
T1
T1T1
T1
 
Práctica no3
Práctica no3Práctica no3
Práctica no3
 
Tema 5 3
Tema 5 3Tema 5 3
Tema 5 3
 

Arreglos unidimensionales y bidimensionales en C

  • 2. ARREGLOS UNIDIMENCIONALES  Es un tipo de dato estructurado que almacena en una sola variable un conjunto limitado de datos o elementos del mismo tipo. Así mismo corresponde a las localidades de memoria contiguas donde la dirección más baja corresponde al primer elemento y la dirección más alta al último. • Un arreglo en lenguaje C inicia en la posición cero, por lo tanto el i-ésimo elemento está en la posición i-1, es decir si el arreglo llamado a tiene n elementos, sus nombres son a[0], a[1],…a[n-1]. El tipo de datos almacenado en el arreglo puede contener cualquier tipo de dato.
  • 3. ARREGLOS UNIDIMENCIONALES Un arreglo se caracteriza por: 1. 2. 3. 4. Ser una lista de un número finito de n elementos del mismo tipo. Almacenar los elementos del arreglo en memoria contigua. Tener un único nombre de variable que representa a todos los elementos y éstos se diferencian por un índice o un subíndice Acceder de manera directa o aleatoria a los elementos individuales del arreglo, por el nombre del arreglo y el índice o subíndice.
  • 4. ARREGLOS UNIDIMENCIONALES Formato para declarar un formato unidimensional Donde: tipo_dato: se refiere al tipo de dato de cada elemento del arreglo: puede ser entero, carácter, real, etc. identif_arreglo: es el nombre que representa a todo el arreglo tam_arreglo: la cantidad del elementos del arreglo
  • 5. ARREGLOS UNIDIMENCIONALES  Por ejemplo, para declarar un arreglo de enteros llamado listanum con diez elementos se hace de la siguiente forma: int listanum[10]; En C, todos los arreglos usan cero como índice para el primer elemento.
  • 6. ARREGLOS UNIDIMENCIONALES  La forma como pueden ser accesados los elementos de un arreglo, es de la siguiente forma: listanum[2] = 15; /* Asigna 15 al 3er elemento del arreglo listanum*/ num = listanum[2]; /* Asigna el contenido del 3er elemento a la variable num */
  • 7. ARREGLOS UNIDIMENCIONALES A continuación se muestra un arreglo de números reales cuyo identificador es x:
  • 8.
  • 9. ARREGLOS UNIDIMENCIONALES  El siguiente ejemplo muestra la forma de pedirle 10 números al usuario e imprimirlos después , utilizando for .
  • 10.
  • 11.
  • 12.
  • 13. ARREGLOS DE CARACTERES  Una cadena de texto es un conjunto de caracteres. Recordemos que en C no existe el tipo de dato cadena (string), por lo que se utiliza un arreglo de caracteres, para poder almacenar una cadena.
  • 14. ARREGLOS DE CARACTERES  Cabe mencionar que un arreglo de caracteres va a contener un carácter nulo al final (0). El compilador lo va a aumentar automáticamente este carácter al final de la cadena de modo que la secuencia quedaría así:
  • 15. ARREGLOS DE CARACTERES  Si queremos almacenar una cadena de caracteres es el uso de la palabra scanf pero si queremos almacenar una cadena de con espacios en blanco podemos utilizar una palabra que se llama gets y esta en la librería string.h. Esta palabra solo se utiliza para leer cadena de caracteres y scanf para cualquier tipo de variables.
  • 16. 1. /*Este programa convierte una l¡nea de texto de MAYUSCULAS a MINUSCULAS 2. utilizando el ciclo DO-WHILE*/ 3. #include <stdio.h> 4. #include <conio.h> 5. #include <string.h> /* gets*/ 6. #include <ctype.h> /*tolower*/ 7. main() 8. { 9. char cadena[100]; 10. int TAM, car, i=0; 15. { 16. car=cadena[i]; 17. if((car>=65)&&(car<=90)) 18. { 19. cadena[i]=tolower(cadena[i]); /* Convierte un carácter, en un parámetro entero , a minúscula*/ 20. } 21. i++; 22. } 23. while (i<=TAM-1); 24. printf("t %s",cadena); 11. printf("Escribe la linea de texto : 25. getch(); tnn"); 26. } 12. gets(cadena); 13. TAM=strlen(cadena); /* strlen calcula el no. de caracteres en un cadena*/ 14. do
  • 17.
  • 18. 1. 2. /*Archivo:Leegets.c Lectura de variables cadena */ 6. #include <stdio.h> #include <stdlib.h> #include <string.h> main() 7. { 8. char szNombre[10]; system ("cls"); printf ("n CUAL ES EL NOMBRE?-----> "); gets (szNombre); printf("n su nombre es -----> %sn", szNombre); printf("n su inicial es -----> %cn", szNombre[0]); printf("n la tercera letra de tu nombr es -----> %cn", szNombre[2]); printf ("n"); 3. 4. 5. 9. 10. 11. 12. 13. 14. 15. system ("pause"); 17. } 16.
  • 19.
  • 20. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. /* Ordenamiento de arreglo por método de burbuja */ 16. #include <stdio.h> 17. #include <stdlib.h> 18. #define SIZE 10 19. main( ) 20. { 21. int a[SIZE]= 22. {12,35,6,48,8,27,32,87,52,75}; int i, temporal, ciclo; 23. printf("Los valores en el orden original son: n"); 24. for (i=0; i< SIZE ; i++) 25. printf("%d, ", a[i]); /* Ordenamiento */ 26. for (ciclo=0; ciclo<SIZE; ciclo++) 27. for (i=0; i<SIZE; i++) /*Intercambio de valores en caso de no estar en orden */ if (a[i] > a[i+1]) { temporal = a[i]; a[i] = a[i+1]; a[i+1]= temporal; } /*Impresion de valores ordenados */ printf("nLos valores ordenados son: n"); for (i=0; i< SIZE; i++) printf("%d, ", a[i]); system ("pause"); }
  • 21.
  • 22. 1. /* Ordenamiento de arreglo por método de burbuja */ #include <stdio.h> #include <stdlib.h> main( ) { int i, temporal, ciclo,n; int a[n]; printf("de que tamaño es tu arreglo? n"); scanf ("%d",&n); printf("Dame los datos de tu arreglo: n"); for (i=0; i< n ; i++) { printf("dato %d ---> ",i); scanf ("%d",&a[i]); 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. } 17. printf("Los elementos del arreglo son: n"); 18. for (i=0; i< n ; i++) 19. printf("dato %d ---> %d n",i,a[i]); 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. /* Ordenamiento */ for (ciclo=0; ciclo<n; ciclo++) for (i=0; i<n; i++) /*Intercambio de valores en caso de no estar en orden */ if (a[i] > a[i+1]) { temporal = a[i]; a[i] = a[i+1]; a[i+1]= temporal; } /*Impresion de valores ordenados */ printf("nLos valores ordenados son: n"); for (i=0; i< n; i++) printf("dato %d---> %d n",i, a[i]); 34. system ("pause"); 35. }
  • 23. ARREGLOS BIDIMENSIONALES  Un arreglo puede tener más de una dimensión, de tal manera que forme matrices de dos, tres o aun más dimensiones. Generalmente los arreglos no suelen recomendarse para más de tres dimensiones, ya que se vuelven muy difíciles de entender.
  • 24. ARREGLOS BIDIMENSIONALES  Conjunto de n elementos del mismo tipo almacenados en memoria contigua en una matriz o tabla. A diferencia de los arreglos unidimencionales se requiere aquí de dos índices declarados en dos pares de corchetes, donde el primero se refiere al tamaño de las filas y el segundo al tamaño de las columnas
  • 25. ARREGLOS BIDIMENSIONALES Para declarar una tabla de 3 filas y columnas, se hará de la siguiente forma: El No. D elementos será fila por columna por lo que quedarían así
  • 27. ARREGLOS BIDIMENSIONALES  Para la lectura de datos la computadora requiere de dos ciclos anidados uno para ubicar las filas y otro para ubicar las columnas
  • 28. ARREGLOS BIDIMENSIONALES Matriz de 3 filas por 4 columnas
  • 30.
  • 31. /*ALMACENAR UNA MATRIZ DE n*n E IMPRIMIR LOS ELEMENTOS Y SUMAR LOS ELEMENTOS DE LA DIAGONAL PRINCIPAL*/ #include<stdio.h> printf("nSuma de la diagonal principal es : %fn", #include<stdlib.h> suma); main() system ("pause"); { } float a[50][50],suma=0; int i,j,n,m; printf("n No. de filas= "); scanf ("t %d",&n); printf("n No. de columnas= "); scanf ("t %d",&m); for(i=0;i<n;i++) { printf("Lectura de la fila %d de la matriz A: n",i+1); for(j=0;j<m;j++) { printf(" A (%d,%d)=", i+1,j+1); scanf ("%f",&a[i][j]); } } for(i=0; i<n; i++) suma = suma+a[i][i];
  • 32.
  • 33. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. /*Diseñar un programa en C que lea una matriz de 3*3. Sumar las columnas e imprimir que columna tuvo la máxima suma y la suma de esa columna.*/ #include<stdio.h> #include<stdlib.h> main() { int matriz[3][3],sumac,f,c,mayor=0,numc; for(f=0;f<3;f++) { 23. 24. } 25. for(c=0;c<3;c++) { sumac=0; for(f=0;f<3;f++) { sumac+=matriz[f][c]; } 26. 27. 28. 29. 30. 31. 32. 33. 34. for(c=0;c<3;c++) 35. { printf("Elemento[%d][%d]: ",f+1,c+1); 36. 37. scanf("%d",&matriz[f][c]); 38. } 39. } printf("n***DATOS DE LA MATRIZ INTRODUCIDA***n"); for(f=0;f<3;f++) { for(c=0;c<3;c++) { printf(" %d ",matriz[f][c]); } printf("n"); 40. 41. printf("nSUMA COLUMNA[%d]:%dn",c+1,sumac); if(sumac>mayor) { mayor=sumac; numc=c; } } printf("nLa columna con mayor suma es: %d y su valor es: %dn",numc+1,mayor); system ("pause"); }