arreglos - profesesin.files.wordpress.com · acceso a arreglos •como los arreglos definen...
TRANSCRIPT
![Page 1: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/1.jpg)
Tema
Arreglos
![Page 2: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/2.jpg)
Arreglos
• Un computador no sirve para sacar
promedios de 3 notas.
– ¡Pero si de 10.000!
– ¿Definir 10.000 variables?
– ¿Definir funciones con 10.000 parámetros?
![Page 3: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/3.jpg)
Arreglos
void main(){
int nota1, nota2, nota3,……nota10000;
}
double promedio(int n1, int n2, …,n10000);
![Page 4: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/4.jpg)
Arreglos
• ¿Como decirle al computador que nota1..nota10000 son todas notas?
• ¿Cómo acceder a todas con un ciclo for?
• Se hace necesario especificar “grupos” de variables
– Todas del mismo tipo.
– Todas con un nombre parecido.
– Definidas con una secuencia especifica.
![Page 5: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/5.jpg)
Arreglos
• Un arreglo es:
– Una variable que define un “grupo” de
variables.
– Define un nombre
– Define un tipo
– Define el tamaño del “grupo”.
– Las variables dentro del “grupo” estan
ordenadas
![Page 6: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/6.jpg)
Arreglos
Nota 1
Nota 2
Nota 10.000
Nota 3
1005AA
2FFF88
FF00B2
FF0F9D
Nota 1
Nota 2
Nota 10.000
Nota 3
1005AA
1005AA+10000
.
.
.
![Page 7: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/7.jpg)
Arreglos
1
2
10.000
3 .
.
.
Nota
10.000
![Page 8: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/8.jpg)
Definición de arreglos
• Se definen como variables comunes y corrientes
– Pueden ser locales, globales y parámetros.
– Tienen un nombre que debe seguir la restricciones de toda variable.
– El nombre debe ser unico dentro del contexto
– Tienen un tipo específico.
• Además
– Definen un tamaño.
– Definen una forma de acceder a cada una de la variables del “grupo”.
![Page 9: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/9.jpg)
Definición de arreglos
<tipo> <nombre> [<tamaño>];
Cualquier
tipo válido Cualquier
nombre válido
Corchetes
obligatorios
Constante que
especifica el
tamaño
![Page 10: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/10.jpg)
Definición de arreglos
#define TAMAGNO 32
…
int nota1,nota2,…,nota10000;
int notas[10000];
Float otro[TAMAGNO];
Char muchos[80];
![Page 11: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/11.jpg)
Definición de arreglos
• El tamaño debe ser constante
• No se pueden utilizar variables para
especificar el tamaño.
• Se suelen utilizar constantes de
preprocesador.
![Page 12: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/12.jpg)
Definición de arreglos
…
int tamagno=10000;
int notas[tamagno];
…
#define tamagno 10000
…
int notas[tamagno];
…
![Page 13: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/13.jpg)
Acceso a arreglos
• Como los arreglos definen “grupos”, es importante
poder acceder a los “integrantes” del arreglo.
• Cada “integrante” se representa por un indice
secuencial. Se les llama elementos.
• El indice varia entre 0 y (tamaño-1).
• Cada elemento es una variable común y silvestre.
• Para acceder a una de estas variables (lectura y
escritura) se utiliza la notación “[<indice>]”
![Page 14: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/14.jpg)
Acceso a arreglos
<arreglo>[<indice>] = <sentencia>;
<variable> = <arreglo>[<indice>];
Modificacion el elemento correspondiente al indice
Recuperación el elemento correspondiente al indice
![Page 15: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/15.jpg)
Acceso a arreglos
…
int notas[10000];
notas[0]=0;
printf(“%d\n”,notas[0]);
notas[1]=notas[0]+1;
printf(“%d\n”,notas[1]);
…
notas[10000]=notas[9999]+1;
printf(“%d\n”,notas[10000]);
…
Primer elemento del arreglo “notas”
Recupera el valor del primer elemento
Modifica el valor de la segunda variable
![Page 16: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/16.jpg)
Ejemplo 1
int main(){
int numeros[10];
int i;
numeros[0]=0;
for(i=1;i<10;i++)
numeros[i]=numeros[i-1]+1;
for(i=0;i<10;i++)
printf("%d\n",numeros[i]);
return 1;
}
0
1
2
3
4
5
6
7
8
9
![Page 17: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/17.jpg)
Ejemplo 2
int main(){
int numeros[10];
int i;
for(i=0;i<10;i++)
scanf("%d",&numeros[i]);
for(i=0;i<10;i++)
printf("%d\n",numeros[i]);
return 1;
}
![Page 18: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/18.jpg)
Ejemplo 3 #include <math.h>
#define N 4
int main(){
int numeros[N];
int i;
double sum;
for(i=0;i<N;i++)
scanf("%d",&numeros[i]);
sum=0;
for(i=0;i<N;i++){
sum = sum + numeros[i];
}
return 1;
}
![Page 19: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/19.jpg)
Ejemplo 4 #include <math.h>
#define N 4
int main(){
int numeros[N];
int i;
double sum, parit,pgeom;
sum=0;
pgeom=1;
for(i=0;i<N;i++){
sum = sum + numeros[i];
pgeom = pgeom * numeros[i];
}
parit = 1.0*sum / N;
pgeom = pow(pgeom, 1.0/N);
return 1;
}
![Page 20: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/20.jpg)
Ejemplo 5 #include <math.h>
#define N 4
int main(){
int numeros[N];
int i;
int maximo, minimo;
minimo=1000;
maximo=0;
for(i=0;i<N;i++){
if(numeros[i]<minimo)
minimo=numeros[i];
if(numeros[i]>maximo)
maximo=numeros[i];
}
return 1;
}
![Page 21: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/21.jpg)
Acceso a arreglos
• Solo se puede acceder a los indices entre el cero y tamaño-1.
• Sin embargo, C no realiza un chequeo de acceso a indices inválidos.
• ¿Qué pasa si accedemos a un indice invalido?
• Veremos el analisis de arreglos como punteros.
![Page 22: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/22.jpg)
Arreglos como punteros
1
2
10.000
3 .
.
.
Nota
10.000 ¿Suena a puntero?
![Page 23: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/23.jpg)
Arreglos como punteros
• Los arreglos son grupos de variables asignadas en zonas contiguas de memoria.
– Una después de la otra.
• Define un area mayor de memoria
• ¿Como se definen intervalos? a) Definir el inicio y el término
b) Definir el inicio y el largo
• Los arreglos se definen como un puntero al inicio del área de memoria y el tamaño que esta abarca.
![Page 24: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/24.jpg)
Arreglos como punteros
1
2
10.000
3 .
.
.
Dirección+0
Dirección+1
Dirección+2
Dirección+10000
10.001 Dirección+10001
Arreglo[0]
Arreglo[1]
Arreglo[2]
Arreglo[10000]
??
![Page 25: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/25.jpg)
Arreglos como punteros
• Entonces, los arreglos son punteros
• ¿Qué pasa si accedemos a un indice
inválido?
– Estamos accediendo a una zona de memoria
que puede estar asignada para otro fin.
– Puede resultar en un error grave y el término
del programa.
![Page 26: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/26.jpg)
Ejemplo 1
int main(){
int numeros[10];
int i;
numeros[0]=0;
for(i=1;i<10;i++)
numeros[i]=numeros[i-1]+1;
for(i=0;i<10;i++)
printf("%d\n",numeros[i]);
return 1;
}
0
1
2
3
4
5
6
7
8
9
![Page 27: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/27.jpg)
Ejemplo 2
int main(){
int numeros[10];
int i;
for(i=0;i<10;i++)
scanf("%d",&numeros[i]);
for(i=0;i<10;i++)
printf("%d\n",numeros[i]);
return 1;
}
![Page 28: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/28.jpg)
Ejemplo 3
int main(){
int numeros[10];
int i;
int*p;
for(p=numeros;p<(numeros+10);p++)
scanf("%d",p);
for(i=0;i<10;i++)
printf("%d\n",numeros[i]);
return 1;
}
![Page 29: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/29.jpg)
Ejemplo 4
int main(){
int numeros[10];
int i;
int*p;
numeros[0]=0;
for(i=1;i<10;i++)
numeros[i]=numeros[i-1]+1;
for(p=numeros;p<(numeros+10);p++)
printf("%d\n",*p);
return 1;
}
![Page 30: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/30.jpg)
Arreglos de carácteres
• Las palabras se pueden ver como “grupos” de carácteres en una secuencia. – ¡Si definimos el tipo como “char”, un arreglo es un
palabra!
• Existen manejos específicos para arreglos de carácteres.
• Los arreglos de carácteres se denominan “cadenas de carácteres” o “strings”.
• El carácter „\0‟ (representado por el número cero) indica el termino de la palabra.
![Page 31: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/31.jpg)
Arreglos de carácteres
• Las cadenas de carácteres tienen un largo máximo.
• El tamaño del arreglo limita el largo de las
palabras/frases.
• Cuando no se sabe el largo maximo se usan
punteros a char
– char*
– hay que asignar memoria en tiempo de ejecución.
– En otra ocasión…
![Page 32: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/32.jpg)
Arreglos de carácteres
h o l a \0 “hola”
char palabra[5]
char[0]=„h‟;
char[1]=„o‟;
char[2]=„l‟;
char[3]=„a‟;
char[4]=„\0‟;
![Page 33: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/33.jpg)
Arreglos de carácteres
int main(){
int i;
char palabra[32];
for(i=0;i<5;i++)
palabra[i]=65+i;
palabra[4]=0;
for(i=0;i<5;i++)
printf("%c",palabra[i]);
printf("\n");
printf("%s\n",palabra);
return 1;
}
![Page 34: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/34.jpg)
Arreglos de carácteres
int main(){
int i;
char palabra[32];
for(i=0;i<10;i++)
palabra[i]=65+i;
printf("%s\n",palabra);
palabra[4]=0;
printf("%s\n",palabra);
return 1;
}
ABCDEFGHIJ
ABCD
![Page 35: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/35.jpg)
Funciones de cadenas
• Definidas en <string.h>
strcpy(c1,c2) Copia c1 en c2
strcat(c1,c2) Concatena c2 al final de c1
strlen(c1) Cálcula el largo de c1
strcmp(c1,c2) Compara c1 con c2
strchr(c1,char) Encuentra char dentro de c1
strstr(c1,c2) Encuentra c2 dentro de c1
![Page 36: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/36.jpg)
Funciones de cadenas
int main(){
int i;
char palabra1[32], palabra2[32];
scanf("%s",palabra1);
scanf("%s",palabra2);
printf("%s vs %s\n",palabra1,palabra2);
printf("Iguales? %s\n", (strcmp(palabra1,palabra2)==0?"si":"no"));
printf("Largos: %d y %d\n", strlen(palabra1), strlen(palabra2));
printf("Concatenacion: %s\n", strcat(palabra1, palabra2));
return 1;
}
![Page 37: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/37.jpg)
Arreglos multidimensionales
• Un arreglo de tamaño n puede verse como
una matriz 1 x n.
• ¿Cómo definir matrices de m x n?
• ¿Cómo definir matrices de r x m x n?
• ….
![Page 38: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/38.jpg)
Arreglos multidimensionales
1x3
3x3
3x3x2 Arreglo de tres variables
Arreglo de 9 variables
¿O arreglo de 3 arreglos de 3 variables?
Arreglo de 18 variables
¿O arreglo de 2 arreglos de 3
arreglos de 3 variables?
![Page 39: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/39.jpg)
Arreglos multidimensionales
• Las dimensiones en los arreglos se agregan
con mas pares de corchetes.
• Nos limitaremos a ejemplos de matrices
bidimensionales
![Page 40: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/40.jpg)
Arreglos multidimensionales
A[ fila][columna]
B[fila][columna][prof]
Fila del arreglo Columna del arreglo
![Page 41: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/41.jpg)
A
Arreglos multidimensionales
B
A[0] A[1] A[2]
B[0][0] B[0][1] B[0][2]
B[2][0] B[2][1] B[2][2]
![Page 42: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/42.jpg)
Ejemplo 1
#include <stdio.h>
#define N 5
int main(){
int B[N][N];
int i, j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
B[i][j]=0;
return 1;
}
![Page 43: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/43.jpg)
Ejemplo 2
#include <stdio.h>
#define N 5
int main(){
int maiz[N][N];
for(i=0;i<N;i++){
for(j=0;j<N;j++)
printf("%10d ",maiz[i][j]);
printf("\n");
}
return 1;
}
![Page 44: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/44.jpg)
Ejemplo 3
#include <stdio.h>
#define N 5
int main(){
int maiz[N][N];
int i, j;
int cantidad=1;
for(i=0;i<N;i++)
for(j=0;j<N;j++){
maiz[i][j]=cantidad;
cantidad*=2;
}
…
return 1;
}
![Page 45: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/45.jpg)
Otros ejemplos
• Transponer una matriz
• ¿Es simetrica?
• ¿Es diagonal?
• Determinante
• Etc…
![Page 46: Arreglos - profesesin.files.wordpress.com · Acceso a arreglos •Como los arreglos definen “grupos”, es importante poder acceder a los “integrantes” del arreglo. •Cada](https://reader033.vdocuments.pub/reader033/viewer/2022042505/5f684abf711412518609312f/html5/thumbnails/46.jpg)
Fin tema
Arreglos