FUNCIONES EN C USANDO ARRAYS Y MATRICES

Slides:



Advertisements
Presentaciones similares
Arreglos.
Advertisements

Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Programación Orientada a Objetos (con Java)
ESTRUCTURA DE DATOS Unidad 01 MATRICES.
UNIVERSIDAD NACIONAL DE INGENIERÍA UNI- NORTE
Arreglos en C++ (una y dos dimensiones)
OPERACIONES CON MATRICES
Ayudantia Python Arreglos 2.
Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas.
MANEJO DE ARRAYS EN C.
INFORMATICA I Arreglos 2 CLASE 18.
INFORMATICA I Funciones CLASE 13.
Estructuras de control
Ejercicios Fogueo.
Arreglos (vectores, matrices, ….)
Introducción a la Programación “Ejercicios” Semestre de Otoño 2006 Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Ejercicios Fogueo. Ejercicio Fogueo for 1 ¿Qué muestra el siguiente código? for(int count=0; count

SCJP Sun Certified Programmer for Java 6
3.1 Declaración de tablas en C
MATRICES Y DETERMINANTES.
Elaborado por Fernando Torre - Universidad Simón Bolívar ARREGLOS CI Computación I Universidad Simón Bolívar Dpto. de Computación y Tecnología de.
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Manejo de Vectores y Matirces
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Clase 10: Estructuras de datos y arreglos.
Metodología de Programación Ayudantía 2 lelagos.ublog.cl 2009.
UNIDAD 4 Clase 5.2 Tema: Determinantes

Programación IMC José Andrés Vázquez Flores. Introducción Existen también arreglos multidimensionales, los cuales tienen más de una dimensión y, en consecuencia.
Programación Avanzada y Métodos Numéricos
Matrices: conceptos generales
Multiplicación de matrices
CAPITULO V ARREGLOS Y CADENAS.
Arreglos Bidimensionales Arreglos Multidimensionales.
Interfaces ELO329: Diseño y Programación Orientados a Objetos.
Introducción a la Programación “Conceptos Básicos” Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Inicialización de arreglos de 2 variables INTEGER, DIMENSIÓN (4, 3) : : ini DO i=1, 4 DO j= 1,3 ini(i, j) = j END DO i=1123 i=2123 i=3123 i=4123 j=1j=2j=3.
Determinantes cálculo de determinantes
Matrices Prof. Flor Narciso Departamento de Computación
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
Determinantes cálculo de determinantes
Matrices rango de una matriz
Fundamentos de Programación
Matriz.
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Laboratorio de programación
MENORES Y COFACTORES.
UNIVERSIDAD INTERAMERICANA DE PUERTO RICO
Matrices. Clasificación. Elaborado por: Bernardina Sánchez Alvarenga.
Repaso de los números
FUNDAMENTOS DE PROGRAMACIÓN Unidad II. Un array bidimensional o matriz es un conjunto de datos homogéneos (todos del mismo tipo), cada uno de los cuales.
Arreglos Bidimensionales Otoño FCC - BUAP Otoño 2015MC Beatriz Beltrán Martínez101  Hasta este momento se han visto arreglos unidimensionales.
Universidad de Oriente Núcleo Monagas Escuela de Ciencias Sociales y Administrativa Departamento de Contaduría Publica Profesora: Milagros Coraspe Ballicher:
Matrices ¿Qué es una matriz? ¿Qué es una matriz? ¿Qué es una matriz? ¿Qué es una matriz? Su Estructura Su Estructura Su Estructura Su Estructura Propiedades.
ArreglosBidimensionales enjava. Sonestructurasdetamañofijoorganizadasporfilasy columnas. Estas estructuras almacenan valores del MISMO TIPO de dato. Cada.
1. Lección N  6 Matrices BCC-1301 Matemática general 2.
Arreglos. en Lenguaje C n
TIPOS DE DATOS NO PRIMITIVOS Los arreglos (arrays) son estructuras de datos homogéneos en el sentido de que todos los elementos que lo componen son del.
Introduction a la Programacion
¿Cómo almacenar grandes cantidades de datos?
Arreglos (Arrays) Programación 1.
¿Cómo almacenar grandes cantidades de datos?
Array Bidemensionales. ¿Qué es una matriz o tabla?  Una matriz es un vector de vectores o también llamado array bidimensional.  Dimensión de un Arreglo:
Arreglos en C++ (una y dos dimensiones)
Programación Orientada Objetos
ARREGLOS.
Tema 7 Arreglos Parte 4.
Transcripción de la presentación:

FUNCIONES EN C USANDO ARRAYS Y MATRICES

MENU DEL DIA Repaso rápido.(Diapositivas Profesores Byron Buitrago y Sebastian Villa). Inicialización de arreglos de dos dimensiones. Funciones en C y arreglos. Comparación al trabajar con funciones y sin funciones. Sin funciones. Con funciones. Mas anotaciones sobre funciones en C. Ejercicios.

INICIALIZACION DE ARREGLOS DE DOS DIMENSIONES

INICIALIZACION DE ARREGLOS DE DOS DIMENSIONES int i,j,k = 0; int M[3][4]; for(i=0;i<3;i++){ for(j=0;j<4;j++) { M[i][j]=k++; } Para barrer matrices se usan ciclos anidados. Hay que prestar atención a tres cosas: Las dimensiones de la matriz, las cuales definen los limites de los ciclos. Que índice será usado como filas y cual como columnas. Que se va a barrer primero, si filas o columnas. El ciclo mas interno define lo que se barre primero (Ojo con las dimensiones). int i,j,k = 0; int M[3][4]; for(j=0;j<4;j++){ for(i=0;i<3;i++) { M[i][j]=k++; }

FUNCIONES EN C Y ARREGLOS #include <stdio.h> void sumar_array(int [],int [], int); void restar_array(int *,int *, int); int main() { int a[] = {2,3,-1,4}; int b[4] = {2,3,-1,4}; c[4]={0,0,0,0}; sumar_array(a,b,4); sumar_array(c,b,4); return 0; } void sumar_array(int a[],int b[], int len) { int i; for(i=0;i<len;i++) { b[i] = b[i] + a[i]; void restar_array(int *a,int *b, int len) { b[i] = b[i] - a[i]; Es posible usar vectores y matrices como parametros de una funcion. Para declarar un array como argumento se usa la siguiente sintaxis en la definicion: tipo nombre_parametro[], tipo *nombre_parametro. Siempre que tengamos un array como parámetro a una función, ésta debe saber hasta donde va el arreglo. Generalmente se envía el tamaño del arreglo Nota: Complementar con las diapositivas de los profesores Sebastian y Byron.

FUNCIONES EN C Y ARREGLOS También es posible usar matrices como parámetros en una función. Cuando se pasa una matriz double maximum( int , int , double [][] ) . . . double maximum( int nrows, int ncols, double matrix[nrows][ncols] ) { double max = matrix[0][0]; int c,r; for ( r = 0; r < nrows; ++r ) for ( c = 0; c < ncols; ++c ) if ( max < matrix[r][c] ) max = matrix[r][c]; return max; } Nota: Complementar con las diapositivas de Byron y Sebastian.

TRABAJANDO SIN FUNCIONES #include <stdio.h> int a[3],b[3],c[3]; int main() { int i; printf(" Ingrese el primer vector: "); for(i=0;i<3;i++) { scanf("%d",&a[i]); } printf(" vec1 = [%d %d %d]\n\n",a[0],a[1],a[2]); printf(" Ingrese el segundo vector: "); scanf("%d",&b[i]); printf(" vec2 = [%d %d %d]\n\n",b[0],b[1],b[2]); c[i]=a[i]+b[i]; printf(" vec3 = vec1 + vec2 = [%d %d %d]\n\n",c[0],c[1],c[2]); return 0;

TRABAJANDO CON FUNCIONES #include <stdio.h> int a[3],b[3],c[3]; void ingresar_vector(int []); void imprimir_vector(int []); void sumar_vectores(int [],int [],int ); int main() { int i; printf(" Ingrese el primer vector: "); ingresar_vector(a); printf(“vec1 = ”); imprimir_vector(a); printf(“\n\n”); . . . return 0; } void ingresar_vector(int v[]) { for(i=0;i<3;i++) { scanf("%d",&v[i]); void imprimir_vector(int v[]) { printf(“[%d %d %d]”,v[0],v[1],v[2]); void sumar_vectores(int v1[],int v2[],int res) { res[i]=v1[i]+v2[i]; Prototipos de las funciones Función principal Definición de las funciones

MAS ANOTACIONES SOBRE FUNCIONES EN C Una función puede devolver cualquier tipo de dato simple (char, short, int, long, etc), compuesto (estructura) o un puntero a cualquiera de estos dos tipos. int suma(int a, int b, int c) unsigned posicion(char cadena[],char letra) long potencia(int base,int exponente) char *strchr (char *s, int c) struct estudiante getEstudiante(struct estudiante *a,char *c) Una función solo puede retornar un solo valor a menos que devuelva un puntero o una estructura. int c strchr char * char *s char *strchr (char *s, int c) struct estudiante *a getEstudiante struct estudiante char *s struct estudiante getEstudiante(struct estudiante *a,char *c)

ANOTACIONES SOBRE FUNCIONES EN C Una función no puede retornar un array o una matriz. int A[ ] sumarVectores int C[ ] int B[ ] Error!!! int tam int [] sumarVectores(int A[], int B[], int tam) int A[ ] sumarVectores int B[ ] int C[ ] int tam void sumarVectores(int A[], int B[], int C[], int tam)

EJERCICIOS Escribir una lista de funciones que realice las siguientes operaciones sobre una Matriz entera de M filas por N columnas: Mostrar menor elemento. Mostrar el mayor elemento. Realizar la transpuesta. Sumar dos matrices llevando el resultado de la suma primera de las matrices.

EJERCICIOS Distrito Candidato A Candidato B Candidato C Candidato D 1 Los resultados de las ultimas elecciones a alcalde en el pueblo x han sido los siguientes: Distrito Candidato A Candidato B Candidato C Candidato D 1 194 48 206 45 2 180 20 320 16 3 221 90 140 4 432 51 821 14 5 820 61 946 18 Escribir un programa que haga las siguientes tareas: Imprimir la tabla anterior con cabeceras incluidas. Calculas e imprimir el numero total de votos recibidos por cada candidato y el porcentaje total de votos emitidos. Así mismo, visualizar el candidato mas votado. Si algún candidato recibe mas del 50% de los votos, el programa imprimirá un mensaje declarándole ganador. Si algún candidato recibe menos del 50% de los votos, el programa debe imprimir el nombre de los dos candidatos mas votados que serán los que pasen a la segunda ronda de las elecciones.