Arreglos
Upcoming SlideShare
Loading in...5
×
 

Arreglos

on

  • 630 views

Arreglos en programación C

Arreglos en programación C

Statistics

Views

Total Views
630
Views on SlideShare
546
Embed Views
84

Actions

Likes
0
Downloads
20
Comments
0

4 Embeds 84

http://programaplicada.blogspot.com 47
http://programaplicada.blogspot.mx 21
http://programaplicada.blogspot.ru 14
http://programaplicada.blogspot.com.es 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Arreglos Arreglos Presentation Transcript

  • Arreglos
  • Operaciones especiales• Suma implicita de elementos del arreglo: – Arr[i]+=5 -- significa que al elemento i se le suma el valor de 5 y se guarda en ese elemento – Al igual que la suma se puede realizar la división u otra operación• Incremento de elementos: – ++arreglo[i] o arreglo[i]++ -- incrementa el elemento i en 1
  • Operaciones con arreglos• Recorrido y operaciones con elementos de arreglos – While (i<5) Arr[i++]+=2; – En un arreglo de 5 elementos, sumarle 2 a cada elemento• Tamibien se puede utilizar la variante de incremento en 1 – While (i<5) Arr[i++]++; o al revés ++Arr[i++]; Se reducen líneas de código en forma significativa
  • Arreglos multidimensiones• Bidimensionales o multidimensionales – Utilización de 2 ó más índices al momento de las declaraciones – Utilización de 2 ó más for uno para el ciclo de cada indice• Operaciones tradicionales similares a los unidimensionales
  • Arreglos multidimensionales• La carga es similar que con las unidimensionales• Otra forma de carga es: – Int arre[3][3]={{1,2,3}, {4,5,6}, {7,8,9}};• Los elementos se referencia según su posición de fila y columna
  • Funciones y Arreglos• Prototipo de funciones con referencia a arreglos unidimensionales – Tipo1 ndefuncion (tipo2 [], tipo3 ); Tipo1 es el tipo de retorno de funciones, tipo2 tipo de datos del arreglo, tipo3 es el tipo de dato del tamaño del arreglo. Estos dos datos deben ser enviados dentro de las funciones
  • Funciones y Arreglos• Definición de funciones con arreglos unidimensionales – Tipo1 ndefuncion (tipo2 nom[], tipo3 var) • tipo1 es el tipo de retorno de funciones, tipo2 tipo de datos del arreglo, nom es el nombre del arreglo, tipo3 es el tipo de dato de la variable var cantidad de elementos. Estos tres datos son recibido en las funciones.
  • Funciones y Arreglos• Llamada de funciones con referencia a arreglos unidimensionales – ndefuncion (nom, var); – Donde nom es el nombre del arreglo y var la cantidad de elementos del arreglo. – La facilidad de esta llamada es que sólo requiere enviar el nombre del arreglo unidimensional.
  • Conceptualización de los Arreglos• Todos los arreglos son declarados a nivel de memoria, dentro del computador, por ello una vez declarado puede ser referenciado a nivel de memoria desde el programa y desde cualquiera función• Cómo sucede esto?
  • Arreglos en memoria• Al declarar un arreglo se crea una referencia en la memoria, al primer elemento del arreglo.• Es por eso que basta con utilizar el nombre del arreglo para tener acceso a todos los elementos del mismo. Aquí el arreglo int ARR[5]; 2 5 10 9 3 0 1 2 3 4
  • La función FUN con el arreglo ARR• Int FUN (int [], int);• Primera Línea de la definición: – Int FUN (int ARR[], int n)• La llamada de FUN: – Sale= FUN(ARR, n);
  • Funciones y Arreglos• Prototipo de funciones con referencia a arreglos multidimensionales – Tipo1 ndefuncion (tipo2 [][tam], tipo3, tipo 4 ); Tipo1 es el tipo de retorno de funciones, tipo2 tipo de datos del arreglo, tipo3 es el tipo de dato de la cantidad de filas, tipo4 es el tipo de dato de la cantidad de columnas. Estos tres datos deben ser enviados dentro de las funciones. – tam debe tener un valor definido a la hora del prototipo
  • Funciones y Arreglos• Definición de funciones con arreglos multidimensionales – Tipo1 ndefuncion (tipo2 nom [][tam], tipo3 var1, tipo 4 var2) • tipo1 es el tipo de retorno de funciones, tipo2 tipo de datos del arreglo, nom es el nombre del arreglo, tipo3 es la cantidad de filas identificada en la variable var1 y la cantidad de columnas identificada en la variable var2. Estos tres datos son recibido en las funciones. • tam es un valor necesario y que debe ser especificado en la función
  • Funciones y Arreglos• Llamada de funciones con referencia a arreglos multidimensionales – ndefuncion (nom, var1, var2); – Donde nom es el nombre del arreglo, var1 y var2 la cantidad de filas del arreglo y cantidad de columnas, respectivamente. – La facilidad de esta llamada es que sólo requiere enviar el nombre del arreglo multidimensional y las cantidades de filas y columnas.
  • Conceptualización de los Arreglos• Como se dijo en la sección de los arreglos unidimensionales, estos son declarados a nivel de memoria, dentro del computador, por ello una vez declarado puede ser referenciado a nivel de memoria desde el programa y desde cualquiera función• Por ejemplo:
  • Arreglos en memoria• Al declarar un arreglo se crea una referencia en la memoria, al primer elemento del arreglo, es decir el elemento [0][0].• Aquí el arreglo bidimensional como por ejemplo: int TAB[3][3]; 0 1 2 Primer 0 1 6 3 elemento es el 1 ARR[0][0] 5 0 2 2 2 5 10
  • La función FUN1 con el arreglo TAB• Int FUN (int [][3], int, int); //prototipo• Primera Línea de la definición: – Int FUN (int TAB[][3], int n, int s) //n número de filas, s número de columnas• La llamada de FUN: – Sale= FUN(TAB, n, s);
  • Suma y Resta de vectores//Inicio del programa comentarios y prototipos case 4:{ printf(“Fin del proceso”); break;Int A[6]={2,4,5,1,9,3}, B[6]={0,2,3,1,4,8}, i, C[6], opc=1, default:while(opc!=4){Switch(Opc=menu()){ printf(“Opción inválida”); case 1: }// fin del case for(i=0;i<6;i++) }//fin del while C[i]=A[i]+B[i]; }// fin del programa break; case 2: Int menu(){ for(i=0;i<6;i++) Int o; C[i]=A[i]-B[i]; printf(“MENUn”); printf(“1. Suma de elementosn”); break; printf(“2. Diferencia de Elementosn”); case 3: printf(“3. Impresión de Elementos de los printf(“Los elementos del Vector A: ”) vectoresn”); for(i=0;i<6;i++) printf(“4. Salirn”); printf( “%d|”,A[i]); printf(“Seleccione su opción ”); printf(“Los elementos del Vector B: ”) scanf(“%d”,&o); for(i=0;i<6;i++) Return o; printf( “%d|”,B[i]); }// fin de la función de impresión de menú printf(“Los elementos del Vector C: ”) for(i=0;i<6;i++) printf( “%d|”,C[i]); break;
  • Suma y Resta de vectores//Inicio del programa comentarios y prototipos // FuncionesVoid suma(int[], int[], int[], int); Int menu(){Void resta(int[], int[], int[], int); Int o;Void imprime(int[], int[], int[], int); printf(“MENUn”); printf(“1. Suma de elementosn”); printf(“2. Diferencia de Elementosn”); printf(“3. ImpresiónInt menu(void); de Elementos de los vectoresn”); printf(“4. Salirn”);Void main(void) printf(“Seleccione su opción ”); scanf(“%d”,&o);{ return o;Int A[6]={2,4,5,1,9,3}, B[6]={0,2,3,1,4,8}, i, C[6], }// fin de la función de impresión de menúopc=1,n=6; Void suma(A[], int B[], int C[], int p){while(opc!=4){ for(i=0;i<p;i++)Switch(Opc=menu()){ C[i]=A[i]+B[i];} case 1: suma(A, B, C, n); break; Void resta suma(A[], int B[], int C[], int p){ for(i=0;i<p;i++) case 2: resta(A, B, C, n); break; C[i]=A[i]-B[i];} case 3: imprime(A, B, C, n); break; Void imprime(A[], int B[], int C[], int p){ case 4: printf(“Los elementos del Vector A: ”) ; printf(“Fin del proceso”); break; for(i=0;i<p;i++) default: printf( “%d|”,A[i]); printf(“Opción inválida”); printf(“Los elementos del Vector B: ”) }// fin del case for(i=0;i<p;i++) }//fin del while printf( “%d|”,B[i]);}// fin del programa printf(“Los elementos del Vector C: ”) for(i=0;i<p;i++) printf( “%d|”,C[i]); }