La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arreglos.

Presentaciones similares


Presentación del tema: "Arreglos."— Transcripción de la presentación:

1 Arreglos

2 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

3 Arreglos unidimensionales
La forma general de declaración: La cantidad de memoria en bytes se puede obtener con la función: El 0 es el índice del primer elemento de un arreglo. tipo nombre_variable[tamaño]; numero_bytes = sizeof(tipo)*tamaño; 1

4 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

5 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 = %d\n",suma); return 0; 1

6 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

7 Paso de Arreglos unidimensionales a funciones
Forma 1: Arreglo delimitado #include <stdio.h> func1(int x[100]){ } int main(){ int a[100]; ….. func1(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

8 Paso de Arreglos unidimensionales a funciones
Forma 2: Arreglo no delimitado #include <stdio.h> func1(int x[]){ ……... } int main(){ int a[10]; ….. func1(a); return 0; No se especifica el tamaño del arreglo 1

9 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

10 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: ‘\0’. 1

11 String Declaración: Se declaran como arreglos unidimensionales.
Debe contener 1 carácter más que la cadena más larga más larga que pueda contener. char cadena[6]; Puede contener hasta 5 caracteres \0 Caracter que marca el fin del string 1

12 Strings Constante de cadenas:
Es una secuencia de uno o más caracteres encerrado entre comillas. Ejemplo: “informatica” 1

13 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).

14 Ejemplo #include <string.h> #include <stdio.h>
int main(void){ char c1[64,c2[64]; printf("Ingrese un string:"); scanf("%s",c1); scanf("%s",c2); printf("Longitudes: %d %\n",strlen(c1),strlen(c2)); if(!strcmp(c1,c2)) printf("Son iguales\n"); strcat(c1,c2); printf("%s\n",c1); return 0; } 1

15 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

16 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 xyz Qwertyuiopasdfg Qwertyuiopasdfg Abcdefghi Abcdefghi 1

17 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\0 ertyuiopasdfg\0 cdefghi\0 1

18 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. argc : contiene el número de argumentos, y es entero. argv : es un puntero a un arreglo de caracteres. ./programa argumento1 argumento2 …. Línea de órdenes 23

19 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

20 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

21 Arreglos Bidimensionales
Una matriz bidimensional tiene la forma siguiente: a11 a a1n a21 a a2n am1 am amn Para acceder al dato aij se hace de la manera siguiente: c=a[i][j]; 1

22 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

23 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


Descargar ppt "Arreglos."

Presentaciones similares


Anuncios Google