Arreglos Arreglos Un arreglo es un conjunto de


![Arreglos unidimensionales • La forma general de declaración: tipo nombre_variable[tamaño]; • La cantidad de Arreglos unidimensionales • La forma general de declaración: tipo nombre_variable[tamaño]; • La cantidad de](https://slidetodoc.com/presentation_image/020eed19786cb8a9c9789b2d6726e3a1/image-3.jpg)
![Arreglos Unidimensionales tipo nombre_variable[tamaño]; elemento 0 elemento 1 elemento n-1 Ejemplo: Realizar un programa Arreglos Unidimensionales tipo nombre_variable[tamaño]; elemento 0 elemento 1 elemento n-1 Ejemplo: Realizar un programa](https://slidetodoc.com/presentation_image/020eed19786cb8a9c9789b2d6726e3a1/image-4.jpg)
![Ejemplo #include <stdio. h> int main(){ int x[10]; int i, suma; for (i=0; i<10; Ejemplo #include <stdio. h> int main(){ int x[10]; int i, suma; for (i=0; i<10;](https://slidetodoc.com/presentation_image/020eed19786cb8a9c9789b2d6726e3a1/image-5.jpg)








![Ejemplo #include <string. h> #include <stdio. h> int main(void){ char c 1[64, c 2[64]; Ejemplo #include <string. h> #include <stdio. h> int main(void){ char c 1[64, c 2[64];](https://slidetodoc.com/presentation_image/020eed19786cb8a9c9789b2d6726e3a1/image-14.jpg)




![Argumentos de main() (cont. ) #include <stdio. h> int main(int argc, char *argv[]){ int Argumentos de main() (cont. ) #include <stdio. h> int main(int argc, char *argv[]){ int](https://slidetodoc.com/presentation_image/020eed19786cb8a9c9789b2d6726e3a1/image-19.jpg)
![Arreglos Bidimensionales Definición: – Es un arreglo de dos dimensiones (2 índices). A[i][j] Declaración: Arreglos Bidimensionales Definición: – Es un arreglo de dos dimensiones (2 índices). A[i][j] Declaración:](https://slidetodoc.com/presentation_image/020eed19786cb8a9c9789b2d6726e3a1/image-20.jpg)



- Slides: 23
Arreglos
Arreglos • Un arreglo es un conjunto de variables del mismo tipo que poseen un nombre común concatenado a un índice. • El índice permite acceder directamente a un elemento particular de un arreglo. • Los arreglos en lenguaje C se almacenan en celdas de memoria contiguas. • Pueden tener 1 o más dimensiones. 1
Arreglos unidimensionales • La forma general de declaración: tipo nombre_variable[tamaño]; • La cantidad de memoria en bytes se puede obtener con la función: numero_bytes = sizeof(tipo)*tamaño; • El 0 es el índice del primer elemento de un arreglo. 1
Arreglos Unidimensionales tipo nombre_variable[tamaño]; elemento 0 elemento 1 elemento n-1 Ejemplo: Realizar un programa en el que se ingresen 10 enteros, y luego se sumen sus elementos. Mostrar el resultado. 1
Ejemplo #include <stdio. h> int main(){ int x[10]; int i, suma; for (i=0; i<10; i++){ printf ("Ingresar entero: "); scanf("%d", &x[i]); } suma=0; for (i=0; i<10; i++) suma+=x[i]; printf(" El resultado de la suma es = %dn", suma); return 0; } 1
Arreglos Unidimensionales • Ejercicios: - Crear un programa al cual se le ingrese un conjunto de caracteres. - Calcular el promedio en un arreglo de largo L el cual no está lleno completamente. 1
Paso de Arreglos unidimensionales a funciones • Forma 1: Arreglo delimitado #include <stdio. h> func 1(int x[100]){. . } int main(){ int a[100]; …. . func 1(a); ……. . . return 0; } Se debe especificar el tamaño del arreglo Se pasa la dirección del primer elemento del arreglo a la función 1
Paso de Arreglos unidimensionales a funciones • Forma 2: Arreglo no delimitado #include <stdio. h> func 1(int x[]){ ……. . . } int main(){ int a[10]; …. . func 1(a); ……. . . return 0; } No se especifica el tamaño del arreglo 1
Paso de Arreglos unidimensionales a funciones • Nota: – Al llamar una función pasándole un arreglo como parámetro, como se le entrega la dirección del primer elemento, entonces si los valores del arreglo son modificados dentro de la función, también son modificados en la función que llama. 1
String • Es el uso más común de arreglo unidimensional. • En C un string es un arreglo de caracteres que terminan en un caracter nulo: ‘ ’. 1
String • Declaración: – Se declaran como arreglos unidimensionales. – Debe contener 1 carácter más que la cadena más larga que pueda contener. char cadena[6]; 0 1 2 3 4 5 Puede contener hasta 5 caracteres Caracter que marca el fin del string 1
Strings Constante de cadenas: – Es una secuencia de uno o más caracteres encerrado entre comillas. – Ejemplo: “informatica” 1
Biblioteca de funciones de Manejo de cadenas Biblioteca: string. h Las cadenas o string no son un tipo de dato en C, por lo tanto, las operaciones sobre cadenas se realizan mediante funciones de biblioteca que ahorran el trabajo byte a byte (podemos crear otras).
Ejemplo #include <string. h> #include <stdio. h> int main(void){ char c 1[64, c 2[64]; printf("Ingrese un string: "); scanf("%s", c 1); printf("Ingrese un string: "); scanf("%s", c 2); printf("Longitudes: %d %n", strlen(c 1), strlen(c 2)); if(!strcmp(c 1, c 2)) printf("Son igualesn"); strcat(c 1, c 2); printf("%sn", c 1); return 0; } 1
Strings Ejercicio: - Realizar un programa que convierta dentro de un string, las mayúsculas a minúsculas, minúsculas a mayúsculas y sumar los dígitos. 1
Arreglos de punteros Un puntero es una variable, por lo tanto puede ser almacenado en un arreglo. Declaración: tipo *nombre_variable[tamaño]; xyz Qwertyuiopasdfg Abcdefghi 1
Punteros a punteros: argumentos de la función main() Dos formas equivalentes para declarar los argumentos: main(int argc, char **argv){. . } main(int argc, char *argv[]){. . } Ejemplo: $z ertyuiopasdfg cdefghi argv: z ertyuiopasdfg cdefghi 0 1
Argumentos de main() • El estándar ANSI define dos argumentos de main(): argc y argv. • Permite pasar información al programa de C mediante argumentos de línea de órdenes. . /programa argumento 1 argumento 2 …. Línea de órdenes • argc : contiene el número de argumentos, y es entero. • argv : es un puntero a un arreglo de caracteres. 23
Argumentos de main() (cont. ) #include <stdio. h> int main(int argc, char *argv[]){ int i; for(i=0; i<argc; i++){ printf(“El argumento %d es: %s”, i, argv[i]); return 0; } $. /programa aaa bb El argumento 0 es: . /programa El argumento 1 es: aaa El argumento 2 es: bb 23
Arreglos Bidimensionales Definición: – Es un arreglo de dos dimensiones (2 índices). A[i][j] Declaración: tipo nombre_variable[tamaño_1][tamaño_2]; 1
Arreglos Bidimensionales • Una matriz bidimensional tiene la forma siguiente: a 11 a 12. . . a 1 n a 21 a 22. . . a 2 n. . . . . am 1 am 2. . . amn • Para acceder al dato aij se hace de la manera siguiente: c=a[i][j]; 1
Arreglos Bidimensionales Ejercicios: - Hacer un programa que lea en los enteros n y m – las dimensiones y luego leer la matriz de enteros por fila. Mostrarla en sistema gráfico. - Se desea controlar los resultados de los alumnos en las diferentes asignaturas. El programa debe leer las notas obtenidas de las distintas asignaturas y visualizarlas en la pantalla en número, nombre, calificaciones y promedio del estudiante. Visualizar el promedio general por cada asignatura. Mostrarla en sistema gráfico. 1
Arreglos Multidimensionales • Definición: – Es un arreglo con k-dimensiones, el cual está indexado por medio de k índices. A[m]…. [n] • Declaración: k tipo nombre_variable[tamaño_1]. . . [tamaño_k]; 1