introducci on a los computadores arreglos en...

27
Introducci´ on Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias Introducci´ on a los Computadores Arreglos en C Alejandro Piedrahita H. Instituto de Matem´ aticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013. Reproducci´on permitida bajo los erminos de la licencia de documentaci´on libre GNU. Documento bajo construcci´on, reportar errores al correoelectr´onico [email protected]

Upload: lykhanh

Post on 06-Feb-2018

218 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Introduccion a los ComputadoresArreglos en C

Alejandro Piedrahita H.

Instituto de MatematicasFacultad de Ciencias Exactas y Naturales

Universidad de Antioquia

Copyleft «2013. Reproduccion permitida bajo losterminos de la licencia de documentacion libre GNU.

Documento bajo construccion, reportar errores al

correo electronico [email protected]

Page 2: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Contenido

1 Introduccion

2 Operaciones con arreglos unidimensionales

3 Paso de arreglos a funciones

4 Arreglos bidimensionales (matrices)

5 Operaciones con arreglos bidimensionales

6 Referencias

Page 3: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Arreglos (arrays)

Arreglo: concepto en programacion analogo a los conceptosmatematicos de vector, matriz y tensor

Arreglo unidimensional: estructura de datos formada por una coleccionfinita de elementos homogeneos y ordenados que se que se referenciancon un nombre comun

Homogeneos: todos los elementos son del mismo tipo de dato (int,float, etc.)

Ordenados: el arreglo tiene un primer elemento, un segundo elemento,etc.

Finito: el arreglo tiene un ultimo elemento

Los elementos de un arreglo se almacenan en posiciones consecutivasde memoria

Page 4: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Declaracion de arreglos

Declaracion de un arreglo unidimensional:

tipo nombre arreglo[tama~no]

tipo: tipo de dato de los elementos del arreglo (int, float, etc.)

nombre arreglo: identificador que representa la coleccion de elementos

tamano: constante entera positiva que representa la cantidad deelementos de la coleccion

Ejemplos:

double x[30];

float notas[8];

int posiciones[100];

char apellidos[15];

Los 30 elementos de x son:

x[0] , x[1] , x[2] , . . . , x[28] , x[29]

Page 5: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Formato de inicializacion de arreglos

nombre arreglo[i] = valor;

double y[3];

y[0] = 7;y[1] = 0.5;y[2] = -2.7183;

// Hace lo mismo que la asignacion anterior

double y[3] = {7, 0.5, -2.7183 };

/* Si no se precisa el tama~no del arreglo,

C lo asigna dado el numero de elementos */

double y[] = {7, 0.5, -2.7183};

/* Si el tama~no del arreglo supera al num-

mero de elementos, C asigna 0.0 al resto */

double y[7] = {7, 0.5, -2.7183};

int z[4];

z[0] = 12, z[1] = 4;z[2] = z[0] + 2*z[1];z[3] = z[2]++;

char mensaje[] = "Todo bien";

char mensaje[10] = {’T’, ’o’, ’d’,

’o’, ’ ’, ’b’, ’i’, ’e’, ’n’, ’\O’ };

double mensaje[10];

mensaje[0] = ’T’;

mensaje[0] = ’o’;

mensaje[0] = ’d’;

.

.

.

Page 6: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Operaciones frecuentes

Recorriendo un arreglo x[i] de tamano n:

El recorrido se realiza por medio de un ındice

El ındice puede ir desde el primero hasta el ultimo elemento

Recorrido del primero al ultimo

for (i=0; i<n; i++) {// proceso que involucra a x[i]

<proceso>

}

El ındice puede ir desde el ultimo hasta el primer elemento

Recorrido del ultimo al primero

for (i=n-1; i>=0; i--) {// proceso que involucra a x[i]

<proceso>

}

Page 7: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Ejemplo 2.1 (Notas)

Escriba un programa en C que almacene en un vector (arreglounidimensional) las notas finales de los alumnos de un curso formado por10 estudiantes. El programa debe visualizar por pantalla las notas.

Solucionnotas vector.c

#include<stdio.h>

main(){float notas[10];int i;

// Recorrido para leer datos en el arreglo

for (i=0; i<10; i++) {printf("Ingrese nota = ");

scanf("%f", &notas[i]);

}

// Recorrido para escribir datos en pantalla

for (i=0; i<10; i++) {printf("Nota %d = %f \n", i, notas[i]);

}}

Page 8: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Ejemplo 2.2 (Notas)

Modifique el programa del ejemplo anterior (5.1) para que muestre porpantalla el promedio del curso.

Solucion

notas promedio.c

#include<stdio.h>

main(){float notas[10], suma = 0.0, promedio;int i;

// Recorrido para leer datos en el arreglo

for (i=0; i<10; i++) {printf("Ingrese nota = ");

scanf("%f", &notas[i]);

}

// Recorrido para sumar las 10 notas

for (i=0; i<10; i++) suma += notas[i];

promedio = suma/10.0;

printf("Promedio = %f", promedio);}

Page 9: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Ejemplo 2.3 (Fibonacci)

Escriba un programa en C que genere los primeros n terminos de lasucesion de Fibonacci, los almacene en un vector y los muestre por pantalla.

Solucion

fib vector.c

#include<stdio.h>

main(){int i, n;

printf("Ingrese numero de terminos: ");

scanf("%d", &n);

/* Declara vector de tama~no n e inicializa los dosprimeros elementos */

int fib[n];fib[0]=0, fib[1]=1;

// Almacena Fibonaccifor (i=2; i<n; i++) fib[i] = fib[i-1] + fib[i-2];

// Imprime terminos de la sucesionfor (i=0; i<n; i++) printf(" %d \t", fib[i]);

}

Page 10: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Ejemplo 2.4 (Intercambiar)

Escriba un programa en C que intercambie los elementos de un vector de lasiguiente manera: el de la primera posicion pasa a la ultima posicion, el dela segunda a la penultima, etc.

Solucion

intercambia vector.c

#include<stdio.h>

main(){int i, n;

printf("Ingrese tama~no del vector: ");

scanf("%d", &n);

float x[n], temp;

// Escribe datos en el arreglofor (i=0; i<n; i++) {

printf("Elemento %d: ", i);

scanf("%g", &x[i]);

}

// continua en la columna derecha

// Intercambia elementos del arreglofor (i=0; i<n/2; i++) {

temp = x[i];

x[i] = x[n-i-1];

x[n-i-1] = temp;

}

// Imprime los elementos del vectorfor (i=0; i<n; i++)

printf(" %g \t", x[i]);

}

Page 11: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Ejemplo 2.5 (Intercambiar funcion)

Escriba el programa del ejemplo anterior (2.4) utilizando funciones.

Solucion

intercambiafun vector.c

#include<stdio.h>

// declaracion de la funcion intercambiavoid intercambia(float *a, float *b);

main(){int i, n;

printf("Ingrese tama~no del vector: ");

scanf("%d", &n);

float x[n];

// Escribe datos en el arreglofor (i=0; i<n; i++) {

printf("Elemento %d: ", i);

scanf("%g", &x[i]);

}

// continua en la columna derecha

// Intercambia elementos del arreglofor (i=0; i<n/2; i++)

intercambia(&x[i], &x[n-i-1]);

// Imprime los elementos del vectorfor (i=0; i<n; i++)

printf(" %g \t", x[i]);

}

// declaracion de la funcion intercambiavoid intercambia(float *a, float *b) {

float temp;

temp = *a;

*a = *b;

*b = temp;

}

Page 12: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Paso de un arreglo unidimensional (vector) como parametro

Cuando un argumento (parametro) de una funcion es un arreglo, elparametro (arreglo) se pasa por referencia

tipo funcion(..., tipo x[], ...) {// cuerpo de la funcion

.

.

.

}

La forma mas usual de pasar un arreglo como parametro a una funciones por medio de punteros:

tipo funcion(..., tipo *x, ...) {// cuerpo de la funcion

.

.

.

}

Page 13: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Ejemplo 3.1 (Imprime arreglo)

Escriba una funcion en C llamada imprimir que reciba como argumento unvector formado por 0, 1, 2, . . . , 9 y los muestre por pantalla.

Solucion

pasar arreglo.c

#include<stdio.h>#define n 10 // define n=10

/* declaracion de la funcion imprimirde dos maneras */

void imprimir1(int x[]);void imprimir2(int *x);

main(){int x[n], i;

// Inicializa arreglofor (i=0; i<n; i++)

x[i] = i;

imprimir1(x); // Imprime arreglo// imprimir2(x);

}

// continua en la columna derecha

// Definicion de la funcion imprimir1

void imprimir1(int x[]) {int i;

for (i=0; i<n; i++)

printf(" %d \t", x[i]);

}

// Definicion de la funcion imprimir2

void imprimir2(int *x) {int i;

for (i=0; i<n; i++)

printf(" %d \t", x[i]);

}

Page 14: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Ejemplo 3.2

Ejemplo 3.2 (promedio arreglo)

Escriba un programa en C que calcule el promedio de los elementos de unvector de tamano n. El programa debe constar de tres funciones, una quelea el vector (leer vector), otra que imprima el vector por pantalla(escribir vector) y otra que calcule el promedio (promedio).

Solucion

Datos de entrada:

n: tamano del vector

x[n]: vector

Funciones:

void leer vector(double x[], int n)

void escribir vector(double x[], int n)

double promedio(double x[], int n)

Page 15: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

promedio arreglo.c

#include<stdio.h>

// Declaracion de las funcionesvoid leer vector(double x[], int n);void escribir vector(double x[], int n);double promedio(double x[], int n);

main(){int n;

printf("Ingrese numero de elementos: ");

scanf("%d", &n);

double x[n];

leer vector(x, n);

escribir vector(x, n);

printf("\nPromedio = %lf", promedio(x,n));

}

void leer vector(double x[], int n) {int i;

for (i=0; i<n; i++) {printf("x( %d) = ", i+1);

scanf("%lf", &x[i]);

}}// continua en la columna derecha

// Definicion de las funciones

void escribir vector(double x[], int n) {int i;

for (i=0; i<n; i++)

printf(" %5.8lf \t", x[i]);

}

double promedio(double x[], int n) {int i;double suma = 0.0;

for (i=0; i<n; i++) suma += x[i];

return suma/n;

}

Page 16: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Ejemplo 3.3

Ejemplo 3.3 (Busca elemento)

Escriba una funcion en C que determine si un elemento dado esta en unvector.

Solucion

Datos de entrada:

n: tamano del vector

x[n]: vector

v: elemento a buscar

Funciones:

void leer vector(double x[], int n)

void escribir vector(double x[], int n)

int pertenece(double x[], double v, int n)

Page 17: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

buscar.c

#include<stdio.h>

// Declaracion de las funcionesvoid leer vector(double x[], int n);void escribir vector(double x[], int n);int pertenece(double v, double x[], int n);

main(){int n;

printf("Ingrese numero de elementos: ");

scanf("%d", &n);

double x[n], v;

leer vector(x, n);

escribir vector(x, n);

printf("\nIngrese elemento a buscar: ");

scanf("%lf", &v);

if (pertenece(v,x,n))

printf(" %lf sı esta", v);

else

printf(" %lf no esta", v);

}

// continua en la columna derecha

// Definicion de las funcionesvoid leer vector(double x[], int n) {

int i;

for (i=0; i<n; i++) {printf("x( %d) = ", i+1);

scanf("%lf", &x[i]);

}}

void escribir vector(double x[], int n) {int i;

for (i=0; i<n; i++)

printf(" %5.8lf \t", x[i]);

}

int pertenece(double v, double x[], int n) {int s = 0, k = 0;

while (s==0 && k<n) {if (v==x[k]) s=1;

k++;

}return s;

}

Page 18: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Arreglos bidimensionales (matrices)

Arreglo bidimensional: concepto en programacion analogo al conceptomatematico de matriz

La definicion de arreglo bidimensional [] puede hacerse desde dosenfoques:

Enfoque recursivo: se trata de un arreglo unidimensional en el que cadaelemento es a su vez un arreglo unidimensional

Enfoque directo: estructura de datos formada por una coleccion finita deelementos homogeneos, ordenados cada uno de ellos en dos dimensionesy referenciados con un nombre comun

El acceso a un elemento del arreglo bidimensional se realiza medianteel nombre del arreglo (identificador) y un par de ındices que indican la“posicion” del elemento

Page 19: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Representacion grafica de un arreglo bidimensional

Arreglo bidimensional con m filas (horizontales) y n columnas

(verticales)

∗ ∗ · · · · · ·· · · · · · ∗

∗ · · · · · ·

......

......

∗ · · · ∗

∗ : elemento [0][0]

∗ : elemento [0][2]

∗ : elemento [1][n-2]

∗ : elemento [2][1]

∗ : elemento [i][j]

∗ : elemento [m-1][2]

∗ : elemento [m-1][n-1]

Page 20: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Declaracion de arreglos

Declaracion de un arreglo bidimensional:

tipo nombre arreglo[filas][columnas]

tipo: tipo de dato de los elementos del arreglo (int, float, etc.)

nombre arreglo: identificador que representa la coleccion de elementos

filas: constante entera positiva que representa la cantidad de filas

columnas: constante entera positiva que representa la cantidad decolumnas

Ejemplos:

double a[3][4];

float matriz[12][8];

int pos[18][24];

char lista[7][8];

Los 12 elementos de a son:

a[0][0] , a[0][1] , x[0][2] , . . . , a[2][2] , a[2][3]

Page 21: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Formato de inicializacion de arreglos bidimensionales

nombre arreglo[i][j] = valor;

double m[2][3];

m[0][0] = 1.1;m[0][1] = 1.2;m[0][2] = 1.3;m[1][0] = 1.4;m[1][1] = 1.5;m[1][2] = 1.6;

// Hace lo mismo que la asignacion anterior

double m[2][3] = {1.1, 1.2, 1.3, 1.4,

1.5, 1.6 };

// Hace lo mismo que la asignacion anterior

double m[][3] = {1.1, 1.2, 1.3, 1.4,

1.5, 1.6 };

/* En el siguiente ejemplo se asignan

ceros hasta completar las filas */

double m[][3] = {1.1, 1.2, 1.3, 1.4}

double m[2][3];

m[0][0] = 1.1;m[0][1] = 1.2;m[0][2] = 1.3;m[1][0] = 1.4;m[1][1] = 0.0;m[1][2] = 0.0;

/* Las siguientes inicializaciones son

INCORRECTAS */

double x[][] = {1.1, 1.2, 1.3, 1.4}double y[2][] = {1.1, 1.2, 1.3, 1.4}

Page 22: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Operaciones frecuentes

Procesar fila i

Procesa fila

for (j=0; j<n; j++) {// proceso que involucra a a[i][j]

<proceso a[i][j]>

}

Procesar columna j:

Procesa columna

for (i=0; i<n; i++) {// proceso que involucra a a[i][j]

<proceso a[i][j]>

}

Page 23: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Operaciones frecuentes

Recorrido de un arreglo a[i][j] de tamano m×n:

Recorrido por filas

for (i=0; i<n; i++) {for (j=0; j<n; j++) {

// proceso que involucra a a[i][j]

<proceso a[i][j]>

}}

Recorrido por columnas

for (j=0; j<n; j++) {for (i=0; i<n; i++) {

// proceso que involucra a a[i][j]

<proceso a[i][j]>

}}

Page 24: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Ejemplo 5.1

Ejemplo 5.1 (Cine)

Escriba un programa en C que almacene en una matriz (arreglobidimensional) el numero de personas que ingresan a una sala de cine Xdurante cada uno de los dıas de la semana. La matriz debe constar de doscolumnas, la primera para los dıas de la semana y la segunda para elnumero de personas, y siete filas para cada uno de los dıas de la semana. Elprograma debe calcular el promedio de personas que ingresan a la sala.

Solucion

Matriz:

int asistencia[2][7]

asistencia[i][1]: numero de personas que asisten el dıa i

Salida:

promedio = (asistencia[0][1] + · · · + asistencia[6][1])/7

Page 25: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

cine.c

#include<stdio.h>

main(){int i, j, total = 0, asistencia[7][2];

float promedio;

// Inicializa arreglo a cero

for (i=0; i<7; i++) {for (j=0; j<2; j++) {

asistencia[i][j] = 0;

}}

// Muestra arreglo inicializado a cero

for (i=0; i<7; i++) {for (j=0; j<2; j++) {

printf(" %d ", asistencia[i][j]);

}printf("\n"); // cambia de fila

}

// continua en la columna derecha

/* Almacena los dıas en la primeracolumna */

for (i=0; i<7; i++)

asistencia[i][0] = i+1;

/* Almacena el numero de personas en lasegunda columna */

for (i=0; i<2; i++) {printf("Personas dıa %d: ", i+1);

scanf("%d", &asistencia[i][1]);

}

// Muestra informacion del arreglo

for (i=0; i<7; i++) {printf("El dıa %d asisten %d \n",

asistencia[i][0], asistencia[i][1]);

}

// Calculo del promedio

for (i=0; i<7; i++)

total += asistencia[i][1];

promedio = (float)total/7.0;

printf("Promedio = %f", promedio);

}

Page 26: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Bibliografıa I

O. CairoMetodologıa de la programacionSegunda edicion. Alfaomega Grupo Editor, S.A., 2005

M.A. CriadoProgramacion en lenguajes estructuradosAlfaomega Grupo Editor, S.A. de C.V. Primera Edicion, 2006

B.W. Kernighan, D. RitchieThe C Programming LanguagePrentice Hall, 2th Edition, 1988

S. LipschutzSchaum’s Outline of Essential Computer MathematicsMcGraw-Hill, 1th edition, 1982

H.M. Mora EscobarIntroduccion a C y a metodos numericosUniversidad Nacional de Colombia (Sede Bogota), 2004

Page 27: Introducci on a los Computadores Arreglos en Cciencias.udea.edu.co/programas/pregrado/CNM-130/docs/clase16sinp.… · Introducci on Vectores Paso de arreglos a funciones Arreglos

Introduccion Vectores Paso de arreglos a funciones Arreglos bidimensionales Matrices Referencias

Bibliografıa II

M.J. PaezC y C++ de afanUniversidad de Antioquia, 2004

R. SeroulProgramming for MathematiciansSpringer, 2000

E. ScheinermanC++ for Mathematicians: An Introduction for Students andProfessionalsTaylor & Francis Group, LLC, 2006

A. ShenAlgorithms and ProgrammingSpringer Undergraduate Texts in Mathematics and Technology, 2010

P. TymannSchaum’s Outline of Principles of Computer ScienceMcGraw-Hill, 1th edition, 2008